Skip to content

Commit 7b5fe98

Browse files
Rollup merge of #151572 - androm3da:bcain/abi_cconv, r=wesleywiser
Fix Hexagon ABI calling convention for small aggregates Small structs (<= 64 bits) were being passed with their fields split into separate arguments instead of being packed into register-sized chunks. This caused ABI mismatches. The fix properly casts small aggregates to consecutive register-sized chunks using Uniform::consecutive(), matching the Hexagon C ABI where small structs are packed into R1:0 register pair. This fixes tests like extern-pass-TwoU16s.rs and extern-pass-TwoU8s.rs.
2 parents e55a9fb + 3d4891d commit 7b5fe98

0 file changed

File tree

    0 commit comments

    Comments
     (0)