[PATCH] Implement IRGen for the x86 vectorcall convention
David Majnemer
david.majnemer at gmail.com
Fri Oct 31 13:35:17 PDT 2014
Please include a test for misshapen vector types, LGTM with changes in mind.
It would also be nice to include tests for empty non-virtual bases and zero-length bitfields.
Also, tests for over, and under, aligned fields would be nice as well.
================
Comment at: lib/CodeGen/TargetInfo.cpp:2935
@@ -2856,1 +2934,3 @@
+ uint64_t Width = Info.Width;
+ unsigned Align = Info.Align / 8;
----------------
This should be:
`getContext().toCharUnitsFromBits(Info.Align).getQuantity()`
================
Comment at: lib/CodeGen/TargetInfo.cpp:3004-3005
@@ -2903,2 +3003,4 @@
+ // We can use up to 4 SSE registers parameters with vectorcall.
+ FreeSSERegs = IsVectorCall ? 6 : 0;
for (auto &I : FI.arguments())
----------------
This comment doesn't seem to be correct for the ternary expression.
http://reviews.llvm.org/D6063
More information about the cfe-commits
mailing list