mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-24 03:33:20 +01:00
[AVX-512] Add various EVEX move instructions to load folding tables using the VEX equivalents as a guide.
llvm-svn: 294908
This commit is contained in:
parent
25bd077971
commit
261a1c23e2
@ -414,17 +414,20 @@ X86InstrInfo::X86InstrInfo(X86Subtarget &STI)
|
||||
{ X86::VEXTRACTI64x2Zrr,X86::VEXTRACTI64x2Zmr, TB_FOLDED_STORE },
|
||||
{ X86::VEXTRACTI64x4Zrr,X86::VEXTRACTI64x4Zmr, TB_FOLDED_STORE },
|
||||
{ X86::VEXTRACTPSZrr, X86::VEXTRACTPSZmr, TB_FOLDED_STORE },
|
||||
{ X86::VMOVPDI2DIZrr, X86::VMOVPDI2DIZmr, TB_FOLDED_STORE },
|
||||
{ X86::VMOVAPDZrr, X86::VMOVAPDZmr, TB_FOLDED_STORE | TB_ALIGN_64 },
|
||||
{ X86::VMOVAPSZrr, X86::VMOVAPSZmr, TB_FOLDED_STORE | TB_ALIGN_64 },
|
||||
{ X86::VMOVDQA32Zrr, X86::VMOVDQA32Zmr, TB_FOLDED_STORE | TB_ALIGN_64 },
|
||||
{ X86::VMOVDQA64Zrr, X86::VMOVDQA64Zmr, TB_FOLDED_STORE | TB_ALIGN_64 },
|
||||
{ X86::VMOVUPDZrr, X86::VMOVUPDZmr, TB_FOLDED_STORE },
|
||||
{ X86::VMOVUPSZrr, X86::VMOVUPSZmr, TB_FOLDED_STORE },
|
||||
{ X86::VMOVDQU8Zrr, X86::VMOVDQU8Zmr, TB_FOLDED_STORE },
|
||||
{ X86::VMOVDQU16Zrr, X86::VMOVDQU16Zmr, TB_FOLDED_STORE },
|
||||
{ X86::VMOVDQU32Zrr, X86::VMOVDQU32Zmr, TB_FOLDED_STORE },
|
||||
{ X86::VMOVDQU64Zrr, X86::VMOVDQU64Zmr, TB_FOLDED_STORE },
|
||||
{ X86::VMOVPDI2DIZrr, X86::VMOVPDI2DIZmr, TB_FOLDED_STORE },
|
||||
{ X86::VMOVPQIto64Zrr, X86::VMOVPQI2QIZmr, TB_FOLDED_STORE },
|
||||
{ X86::VMOVSDto64Zrr, X86::VMOVSDto64Zmr, TB_FOLDED_STORE },
|
||||
{ X86::VMOVSS2DIZrr, X86::VMOVSS2DIZmr, TB_FOLDED_STORE },
|
||||
{ X86::VMOVUPDZrr, X86::VMOVUPDZmr, TB_FOLDED_STORE },
|
||||
{ X86::VMOVUPSZrr, X86::VMOVUPSZmr, TB_FOLDED_STORE },
|
||||
{ X86::VPEXTRDZrr, X86::VPEXTRDZmr, TB_FOLDED_STORE },
|
||||
{ X86::VPEXTRQZrr, X86::VPEXTRQZmr, TB_FOLDED_STORE },
|
||||
{ X86::VPMOVDBZrr, X86::VPMOVDBZmr, TB_FOLDED_STORE },
|
||||
@ -871,7 +874,8 @@ X86InstrInfo::X86InstrInfo(X86Subtarget &STI)
|
||||
{ X86::VBROADCASTSSZr, X86::VBROADCASTSSZm, TB_NO_REVERSE },
|
||||
{ X86::VBROADCASTSDZr, X86::VBROADCASTSDZm, TB_NO_REVERSE },
|
||||
{ X86::VMOV64toPQIZrr, X86::VMOVQI2PQIZrm, 0 },
|
||||
{ X86::VMOVZPQILo2PQIZrr,X86::VMOVQI2PQIZrm, TB_NO_REVERSE },
|
||||
{ X86::VMOV64toSDZrr, X86::VMOV64toSDZrm, 0 },
|
||||
{ X86::VMOVDI2PDIZrr, X86::VMOVDI2PDIZrm, 0 },
|
||||
{ X86::VMOVDI2SSZrr, X86::VMOVDI2SSZrm, 0 },
|
||||
{ X86::VMOVAPDZrr, X86::VMOVAPDZrm, TB_ALIGN_64 },
|
||||
{ X86::VMOVAPSZrr, X86::VMOVAPSZrm, TB_ALIGN_64 },
|
||||
@ -883,6 +887,7 @@ X86InstrInfo::X86InstrInfo(X86Subtarget &STI)
|
||||
{ X86::VMOVDQU64Zrr, X86::VMOVDQU64Zrm, 0 },
|
||||
{ X86::VMOVUPDZrr, X86::VMOVUPDZrm, 0 },
|
||||
{ X86::VMOVUPSZrr, X86::VMOVUPSZrm, 0 },
|
||||
{ X86::VMOVZPQILo2PQIZrr,X86::VMOVQI2PQIZrm, TB_NO_REVERSE },
|
||||
{ X86::VPABSBZrr, X86::VPABSBZrm, 0 },
|
||||
{ X86::VPABSDZrr, X86::VPABSDZrm, 0 },
|
||||
{ X86::VPABSQZrr, X86::VPABSQZrm, 0 },
|
||||
@ -1880,6 +1885,7 @@ X86InstrInfo::X86InstrInfo(X86Subtarget &STI)
|
||||
{ X86::VMINSDZrr_Int, X86::VMINSDZrm_Int, TB_NO_REVERSE },
|
||||
{ X86::VMINSSZrr, X86::VMINSSZrm, 0 },
|
||||
{ X86::VMINSSZrr_Int, X86::VMINSSZrm_Int, TB_NO_REVERSE },
|
||||
{ X86::VMOVLHPSZrr, X86::VMOVHPSZ128rm, TB_NO_REVERSE },
|
||||
{ X86::VMULPDZrr, X86::VMULPDZrm, 0 },
|
||||
{ X86::VMULPSZrr, X86::VMULPSZrm, 0 },
|
||||
{ X86::VMULSDZrr, X86::VMULSDZrm, 0 },
|
||||
|
Loading…
Reference in New Issue
Block a user