rjmccall added a comment.

This seems be to a genuine target difference, right?  PPC64 has this ABI rule:

> An aggregate or union smaller than one doubleword in size is padded so that 
> it appears in the least significant bits of the doubleword.

which overrides the standard rule for passing aggregates:

> Fixed size aggregates and unions passed by value are mapped to as many 
> doublewords of the parameter save area as the value uses in memory. 
> Aggregrates and unions are aligned according to their alignment requirements. 
> This may result in doublewords being skipped for alignment.

Other big-endian targets don't do this to non-fundamental types as far as I can 
tell.  So I don't really get the TODO in the comment; this does seem to be 
something that ABIs need to pass in.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D133338/new/

https://reviews.llvm.org/D133338

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to