diff options
author | Craig Topper <craig.topper@gmail.com> | 2012-04-16 06:26:15 +0000 |
---|---|---|
committer | Craig Topper <craig.topper@gmail.com> | 2012-04-16 06:26:15 +0000 |
commit | 7e9f7fbc11835baa50c5ebb688a9fd515d6fafed (patch) | |
tree | c389fc46628ca950de1bf966c23aa6b5dcc3dd05 | |
parent | 59fc1664ab6136a347e635c2e8fcd2fe12db3936 (diff) |
Flip the arguments when converting vpermd/vpermps intrinsics into instructions. The intrinsic has the mask as the last operand, but the instruction has it as the second.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154797 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | lib/Target/X86/X86InstrSSE.td | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/lib/Target/X86/X86InstrSSE.td b/lib/Target/X86/X86InstrSSE.td index eb608d3524..5cdfb10ef1 100644 --- a/lib/Target/X86/X86InstrSSE.td +++ b/lib/Target/X86/X86InstrSSE.td @@ -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; } |