Don't use a potentially expensive shift if all we want is one set bit.
[oota-llvm.git] / lib / Target / R600 / AMDGPUCallingConv.td
index 84e4f3a8a654b438c30405da1282618bcceb435a..826932b3b848d0329af3ac3aa62c20262d1d0486 100644 (file)
@@ -38,10 +38,11 @@ def CC_SI : CallingConv<[
 
 // Calling convention for SI compute kernels
 def CC_SI_Kernel : CallingConv<[
-  CCIfType<[i64],      CCAssignToStack <8, 4>>,
-  CCIfType<[i32, f32], CCAssignToStack <4, 4>>,
-  CCIfType<[i16],      CCAssignToStack <2, 4>>,
-  CCIfType<[i8],       CCAssignToStack <1, 4>>
+  CCIfType<[v4i32, v4f32], CCAssignToStack <16, 4>>,
+  CCIfType<[i64],          CCAssignToStack < 8, 4>>,
+  CCIfType<[i32, f32],     CCAssignToStack < 4, 4>>,
+  CCIfType<[i16],          CCAssignToStack < 2, 4>>,
+  CCIfType<[i8],           CCAssignToStack < 1, 4>>
 ]>;
 
 def CC_AMDGPU : CallingConv<[