[X86] Fixes commit r214890 to match the posted patch
authorAdam Nemet <anemet@apple.com>
Wed, 6 Aug 2014 07:13:12 +0000 (07:13 +0000)
committerAdam Nemet <anemet@apple.com>
Wed, 6 Aug 2014 07:13:12 +0000 (07:13 +0000)
This was another fallout from my local rebase where something went wrong :(

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@214951 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/X86/X86InstrAVX512.td
test/CodeGen/X86/avx512-intrinsics.ll
test/MC/X86/avx512-encodings.s

index 5284c3f65109c3ffa328ab289cb50c1f06d63676..122f629c8cec46a1c81e86e836974b413b4d5a38 100644 (file)
@@ -4473,12 +4473,12 @@ multiclass avx512_valign<string Suffix, RegisterClass RC, RegisterClass KRC,
                            (IntVT (X86VAlign RC:$src2, RC:$src1,
                                               (i8 imm:$src3))))]>, EVEX_4V;
 
-  let Constraints = "$src0 = $dst", AddedComplexity=30 in
+  let Constraints = "$src0 = $dst" in
   def rrik : AVX512AIi8<0x03, MRMSrcReg, (outs RC:$dst),
                      (ins RC:$src0, KRC:$mask, RC:$src1, RC:$src2, i8imm:$src3),
                      !strconcat("valign"##Suffix,
-                     " \t{$src3, $src2, $src1, $mask, $dst|"
-                         "$dst, $mask, $src1, $src2, $src3}"),
+                     " \t{$src3, $src2, $src1, $dst {${mask}}|"
+                         "$dst {${mask}}, $src1, $src2, $src3}"),
                      [(set RC:$dst,
                            (IntVT (vselect KRC:$mask,
                                      (X86VAlign RC:$src2, RC:$src1,
index eaaf915b0cb205058020cdce9ce76066cb0ddcd7..48ec3c00229265612b0a91e5aa8f2074558c17bf 100644 (file)
@@ -621,7 +621,7 @@ define <8 x i64> @test_valign_q(<8 x i64> %a, <8 x i64> %b) {
 
 define <8 x i64> @test_mask_valign_q(<8 x i64> %a, <8 x i64> %b, <8 x i64> %src, i8 %mask) {
 ; CHECK-LABEL: test_mask_valign_q:
-; CHECK: valignq $2, %zmm1, %zmm0, %k1, %zmm2
+; CHECK: valignq $2, %zmm1, %zmm0, %zmm2 {%k1}
   %res = call <8 x i64> @llvm.x86.avx512.mask.valign.q.512(<8 x i64> %a, <8 x i64> %b, i8 2, <8 x i64> %src, i8 %mask)
   ret <8 x i64> %res
 }
index e96056d797387eb4d4ece2797c46a1f72a32df04..a1a94fbaa541632be1c040a396854eeed171b38b 100644 (file)
@@ -3800,6 +3800,10 @@ vpermi2q 0x80(%rax,%rbx,2), %zmm2, %zmm26 {%k3}
 // CHECK: encoding: [0x62,0x32,0x4d,0xc2,0x7e,0x24,0xad,0x05,0x00,0x00,0x00]   
 vpermt2d 5(,%r13,4), %zmm22, %zmm12 {%k2} {z}
 
-// CHECK: valignq
+// CHECK: valignq $2
 // CHECK: encoding: [0x62,0xf3,0xfd,0x48,0x03,0x4c,0x24,0x04,0x02]
 valignq  $2, 0x100(%rsp), %zmm0, %zmm1
+
+// CHECK: valignq $3
+// CHECK: encoding: [0x62,0xf3,0xfd,0x49,0x03,0xcb,0x03]
+valignq  $3, %zmm3, %zmm0, %zmm1 {%k1}