diff options
| author | Craig Topper <craig.topper@intel.com> | 2019-06-01 06:20:59 +0000 |
|---|---|---|
| committer | Craig Topper <craig.topper@intel.com> | 2019-06-01 06:20:59 +0000 |
| commit | c288a19bb711306dd0ceae98525d8861d3894175 (patch) | |
| tree | 3253fafce13e1cde604b6e5e47d81f387fa5a924 /llvm/lib | |
| parent | 48fdb61766a8f953ba16160ddeaae64cb0c603ac (diff) | |
| download | bcm5719-llvm-c288a19bb711306dd0ceae98525d8861d3894175.tar.gz bcm5719-llvm-c288a19bb711306dd0ceae98525d8861d3894175.zip | |
[X86] Add AVX512BF16 and AVX512VP2INTERSECT instructions to the loading folding tables.
llvm-svn: 362288
Diffstat (limited to 'llvm/lib')
| -rw-r--r-- | llvm/lib/Target/X86/X86InstrFoldTables.cpp | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/llvm/lib/Target/X86/X86InstrFoldTables.cpp b/llvm/lib/Target/X86/X86InstrFoldTables.cpp index 7ab4dc4df7c..0bf9f851dff 100644 --- a/llvm/lib/Target/X86/X86InstrFoldTables.cpp +++ b/llvm/lib/Target/X86/X86InstrFoldTables.cpp @@ -656,6 +656,9 @@ static const X86MemoryFoldTableEntry MemoryFoldTable1[] = { { X86::VCVTDQ2PSZ256rr, X86::VCVTDQ2PSZ256rm, 0 }, { X86::VCVTDQ2PSZrr, X86::VCVTDQ2PSZrm, 0 }, { X86::VCVTDQ2PSrr, X86::VCVTDQ2PSrm, 0 }, + { X86::VCVTNEPS2BF16Z128rr, X86::VCVTNEPS2BF16Z128rm, 0 }, + { X86::VCVTNEPS2BF16Z256rr, X86::VCVTNEPS2BF16Z256rm, 0 }, + { X86::VCVTNEPS2BF16Zrr, X86::VCVTNEPS2BF16Zrm, 0 }, { X86::VCVTPD2DQYrr, X86::VCVTPD2DQYrm, 0 }, { X86::VCVTPD2DQZ128rr, X86::VCVTPD2DQZ128rm, 0 }, { X86::VCVTPD2DQZ256rr, X86::VCVTPD2DQZ256rm, 0 }, @@ -1637,6 +1640,12 @@ static const X86MemoryFoldTableEntry MemoryFoldTable2[] = { { X86::VCVTDQ2PSZ128rrkz, X86::VCVTDQ2PSZ128rmkz, 0 }, { X86::VCVTDQ2PSZ256rrkz, X86::VCVTDQ2PSZ256rmkz, 0 }, { X86::VCVTDQ2PSZrrkz, X86::VCVTDQ2PSZrmkz, 0 }, + { X86::VCVTNE2PS2BF16Z128rr, X86::VCVTNE2PS2BF16Z128rm, 0 }, + { X86::VCVTNE2PS2BF16Z256rr, X86::VCVTNE2PS2BF16Z256rm, 0 }, + { X86::VCVTNE2PS2BF16Zrr, X86::VCVTNE2PS2BF16Zrm, 0 }, + { X86::VCVTNEPS2BF16Z128rrkz, X86::VCVTNEPS2BF16Z128rmkz, 0 }, + { X86::VCVTNEPS2BF16Z256rrkz, X86::VCVTNEPS2BF16Z256rmkz, 0 }, + { X86::VCVTNEPS2BF16Zrrkz, X86::VCVTNEPS2BF16Zrmkz, 0 }, { X86::VCVTPD2DQZ128rrkz, X86::VCVTPD2DQZ128rmkz, 0 }, { X86::VCVTPD2DQZ256rrkz, X86::VCVTPD2DQZ256rmkz, 0 }, { X86::VCVTPD2DQZrrkz, X86::VCVTPD2DQZrmkz, 0 }, @@ -2012,6 +2021,12 @@ static const X86MemoryFoldTableEntry MemoryFoldTable2[] = { { X86::VORPSZ256rr, X86::VORPSZ256rm, 0 }, { X86::VORPSZrr, X86::VORPSZrm, 0 }, { X86::VORPSrr, X86::VORPSrm, 0 }, + { X86::VP2INTERSECTDZ128rr, X86::VP2INTERSECTDZ128rm, 0 }, + { X86::VP2INTERSECTDZ256rr, X86::VP2INTERSECTDZ256rm, 0 }, + { X86::VP2INTERSECTDZrr, X86::VP2INTERSECTDZrm, 0 }, + { X86::VP2INTERSECTQZ128rr, X86::VP2INTERSECTQZ128rm, 0 }, + { X86::VP2INTERSECTQZ256rr, X86::VP2INTERSECTQZ256rm, 0 }, + { X86::VP2INTERSECTQZrr, X86::VP2INTERSECTQZrm, 0 }, { X86::VPABSBZ128rrkz, X86::VPABSBZ128rmkz, 0 }, { X86::VPABSBZ256rrkz, X86::VPABSBZ256rmkz, 0 }, { X86::VPABSBZrrkz, X86::VPABSBZrmkz, 0 }, @@ -3014,6 +3029,12 @@ static const X86MemoryFoldTableEntry MemoryFoldTable3[] = { { X86::VCVTDQ2PSZ128rrk, X86::VCVTDQ2PSZ128rmk, 0 }, { X86::VCVTDQ2PSZ256rrk, X86::VCVTDQ2PSZ256rmk, 0 }, { X86::VCVTDQ2PSZrrk, X86::VCVTDQ2PSZrmk, 0 }, + { X86::VCVTNE2PS2BF16Z128rrkz, X86::VCVTNE2PS2BF16Z128rmkz, 0 }, + { X86::VCVTNE2PS2BF16Z256rrkz, X86::VCVTNE2PS2BF16Z256rmkz, 0 }, + { X86::VCVTNE2PS2BF16Zrrkz, X86::VCVTNE2PS2BF16Zrmkz, 0 }, + { X86::VCVTNEPS2BF16Z128rrk, X86::VCVTNEPS2BF16Z128rmk, 0 }, + { X86::VCVTNEPS2BF16Z256rrk, X86::VCVTNEPS2BF16Z256rmk, 0 }, + { X86::VCVTNEPS2BF16Zrrk, X86::VCVTNEPS2BF16Zrmk, 0 }, { X86::VCVTPD2DQZ128rrk, X86::VCVTPD2DQZ128rmk, 0 }, { X86::VCVTPD2DQZ256rrk, X86::VCVTPD2DQZ256rmk, 0 }, { X86::VCVTPD2DQZrrk, X86::VCVTPD2DQZrmk, 0 }, @@ -3102,6 +3123,9 @@ static const X86MemoryFoldTableEntry MemoryFoldTable3[] = { { X86::VDIVPSZrrkz, X86::VDIVPSZrmkz, 0 }, { X86::VDIVSDZrr_Intkz, X86::VDIVSDZrm_Intkz, TB_NO_REVERSE }, { X86::VDIVSSZrr_Intkz, X86::VDIVSSZrm_Intkz, TB_NO_REVERSE }, + { X86::VDPBF16PSZ128r, X86::VDPBF16PSZ128m, 0 }, + { X86::VDPBF16PSZ256r, X86::VDPBF16PSZ256m, 0 }, + { X86::VDPBF16PSZr, X86::VDPBF16PSZm, 0 }, { X86::VEXP2PDZrk, X86::VEXP2PDZmk, 0 }, { X86::VEXP2PSZrk, X86::VEXP2PSZmk, 0 }, { X86::VEXPANDPDZ128rrk, X86::VEXPANDPDZ128rmk, TB_NO_REVERSE }, @@ -4316,6 +4340,9 @@ static const X86MemoryFoldTableEntry MemoryFoldTable4[] = { { X86::VANDPSZ128rrk, X86::VANDPSZ128rmk, 0 }, { X86::VANDPSZ256rrk, X86::VANDPSZ256rmk, 0 }, { X86::VANDPSZrrk, X86::VANDPSZrmk, 0 }, + { X86::VCVTNE2PS2BF16Z128rrk, X86::VCVTNE2PS2BF16Z128rmk, 0 }, + { X86::VCVTNE2PS2BF16Z256rrk, X86::VCVTNE2PS2BF16Z256rmk, 0 }, + { X86::VCVTNE2PS2BF16Zrrk, X86::VCVTNE2PS2BF16Zrmk, 0 }, { X86::VCVTSD2SSZrr_Intk, X86::VCVTSD2SSZrm_Intk, TB_NO_REVERSE }, { X86::VCVTSS2SDZrr_Intk, X86::VCVTSS2SDZrm_Intk, TB_NO_REVERSE }, { X86::VDBPSADBWZ128rrik, X86::VDBPSADBWZ128rmik, 0 }, @@ -4329,6 +4356,12 @@ static const X86MemoryFoldTableEntry MemoryFoldTable4[] = { { X86::VDIVPSZrrk, X86::VDIVPSZrmk, 0 }, { X86::VDIVSDZrr_Intk, X86::VDIVSDZrm_Intk, TB_NO_REVERSE }, { X86::VDIVSSZrr_Intk, X86::VDIVSSZrm_Intk, TB_NO_REVERSE }, + { X86::VDPBF16PSZ128rk, X86::VDPBF16PSZ128mk, 0 }, + { X86::VDPBF16PSZ128rkz, X86::VDPBF16PSZ128mkz, 0 }, + { X86::VDPBF16PSZ256rk, X86::VDPBF16PSZ256mk, 0 }, + { X86::VDPBF16PSZ256rkz, X86::VDPBF16PSZ256mkz, 0 }, + { X86::VDPBF16PSZrk, X86::VDPBF16PSZmk, 0 }, + { X86::VDPBF16PSZrkz, X86::VDPBF16PSZmkz, 0 }, { X86::VFIXUPIMMPDZ128rrik, X86::VFIXUPIMMPDZ128rmik, 0 }, { X86::VFIXUPIMMPDZ128rrikz, X86::VFIXUPIMMPDZ128rmikz, 0 }, { X86::VFIXUPIMMPDZ256rrik, X86::VFIXUPIMMPDZ256rmik, 0 }, |

