[PATCH] x86-64 ABI: unwrap single element structs / arrays of 256-bit vectors to pass and return in registers

hfinkel at anl.gov hfinkel at anl.gov
Mon Feb 16 01:49:28 PST 2015


Indeed, this looks like an odd mismatch between X86_64ABIInfo::GetByteVectorType and the recursive logic in X86_64ABIInfo::classify (which will recurse and handle the array types).

FWIW, I wonder if there are more bugs hiding in here too. When X86_64ABIInfo::classify recurses on the array types, it looks like it is just looking at the total size of the array. isSingleElementStruct specifically handles only arrays of 1 element. What happens when you try to pass a struct of { v4f32 x[2]; }?

If that works, then LGTM (otherwise, we obviously need to fix that too).


http://reviews.llvm.org/D7614

EMAIL PREFERENCES
  http://reviews.llvm.org/settings/panel/emailpreferences/






More information about the cfe-commits mailing list