OSDN Git Service

Flip the arguments when converting vpermd/vpermps intrinsics into instructions. The...
authorCraig Topper <craig.topper@gmail.com>
Mon, 16 Apr 2012 06:26:15 +0000 (06:26 +0000)
committerCraig Topper <craig.topper@gmail.com>
Mon, 16 Apr 2012 06:26:15 +0000 (06:26 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154797 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/X86/X86InstrSSE.td

index eb608d3..5cdfb10 100644 (file)
@@ -7740,13 +7740,13 @@ multiclass avx2_perm<bits<8> opc, string OpcodeStr, PatFrag mem_frag,
                    (ins VR256:$src1, VR256:$src2),
                    !strconcat(OpcodeStr,
                        "\t{$src2, $src1, $dst|$dst, $src1, $src2}"),
-                   [(set VR256:$dst, (Int VR256:$src1, VR256:$src2))]>, VEX_4V;
+                   [(set VR256:$dst, (Int VR256:$src2, VR256:$src1))]>, VEX_4V;
   def Yrm : AVX28I<opc, MRMSrcMem, (outs VR256:$dst),
                    (ins VR256:$src1, i256mem:$src2),
                    !strconcat(OpcodeStr,
                        "\t{$src2, $src1, $dst|$dst, $src1, $src2}"),
-                   [(set VR256:$dst, (Int VR256:$src1,
-                                      (bitconvert (mem_frag addr:$src2))))]>,
+                   [(set VR256:$dst, (Int (bitconvert (mem_frag addr:$src2)),
+                                      VR256:$src1))]>,
                    VEX_4V;
 }