1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-24 03:33:20 +01:00

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.

llvm-svn: 154797
This commit is contained in:
Craig Topper 2012-04-16 06:26:15 +00:00
parent 3514c015bd
commit 129dccdc84

View 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;
}