summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/X86/X86InstrFoldTables.cpp
diff options
context:
space:
mode:
authorCraig Topper <craig.topper@intel.com>2019-09-09 06:32:24 +0000
committerCraig Topper <craig.topper@intel.com>2019-09-09 06:32:24 +0000
commit8c2ab1c4cbce1a7551a26d28d3b21ad44455a5ee (patch)
treeec8ff3e9c3091e7f428259c72af9ab4453e78972 /llvm/lib/Target/X86/X86InstrFoldTables.cpp
parent68b2e1973fc5ff4e4fb5e0c662543490b2e01a48 (diff)
downloadbcm5719-llvm-8c2ab1c4cbce1a7551a26d28d3b21ad44455a5ee.tar.gz
bcm5719-llvm-8c2ab1c4cbce1a7551a26d28d3b21ad44455a5ee.zip
[X86] Add broadcast load unfold support for smin/umin/smax/umax.
llvm-svn: 371366
Diffstat (limited to 'llvm/lib/Target/X86/X86InstrFoldTables.cpp')
-rw-r--r--llvm/lib/Target/X86/X86InstrFoldTables.cpp24
1 files changed, 24 insertions, 0 deletions
diff --git a/llvm/lib/Target/X86/X86InstrFoldTables.cpp b/llvm/lib/Target/X86/X86InstrFoldTables.cpp
index bddb8b8673b..43619e5db5d 100644
--- a/llvm/lib/Target/X86/X86InstrFoldTables.cpp
+++ b/llvm/lib/Target/X86/X86InstrFoldTables.cpp
@@ -5306,6 +5306,30 @@ static const X86MemoryFoldTableEntry BroadcastFoldTable2[] = {
{ X86::VPANDQZ128rr, X86::VPANDQZ128rmb, TB_BCAST_Q },
{ X86::VPANDQZ256rr, X86::VPANDQZ256rmb, TB_BCAST_Q },
{ X86::VPANDQZrr, X86::VPANDQZrmb, TB_BCAST_Q },
+ { X86::VPMAXSDZ128rr, X86::VPMAXSDZ128rmb, TB_BCAST_D },
+ { X86::VPMAXSDZ256rr, X86::VPMAXSDZ256rmb, TB_BCAST_D },
+ { X86::VPMAXSDZrr, X86::VPMAXSDZrmb, TB_BCAST_D },
+ { X86::VPMAXSQZ128rr, X86::VPMAXSQZ128rmb, TB_BCAST_Q },
+ { X86::VPMAXSQZ256rr, X86::VPMAXSQZ256rmb, TB_BCAST_Q },
+ { X86::VPMAXSQZrr, X86::VPMAXSQZrmb, TB_BCAST_Q },
+ { X86::VPMAXUDZ128rr, X86::VPMAXUDZ128rmb, TB_BCAST_D },
+ { X86::VPMAXUDZ256rr, X86::VPMAXUDZ256rmb, TB_BCAST_D },
+ { X86::VPMAXUDZrr, X86::VPMAXUDZrmb, TB_BCAST_D },
+ { X86::VPMAXUQZ128rr, X86::VPMAXUQZ128rmb, TB_BCAST_Q },
+ { X86::VPMAXUQZ256rr, X86::VPMAXUQZ256rmb, TB_BCAST_Q },
+ { X86::VPMAXUQZrr, X86::VPMAXUQZrmb, TB_BCAST_Q },
+ { X86::VPMINSDZ128rr, X86::VPMINSDZ128rmb, TB_BCAST_D },
+ { X86::VPMINSDZ256rr, X86::VPMINSDZ256rmb, TB_BCAST_D },
+ { X86::VPMINSDZrr, X86::VPMINSDZrmb, TB_BCAST_D },
+ { X86::VPMINSQZ128rr, X86::VPMINSQZ128rmb, TB_BCAST_Q },
+ { X86::VPMINSQZ256rr, X86::VPMINSQZ256rmb, TB_BCAST_Q },
+ { X86::VPMINSQZrr, X86::VPMINSQZrmb, TB_BCAST_Q },
+ { X86::VPMINUDZ128rr, X86::VPMINUDZ128rmb, TB_BCAST_D },
+ { X86::VPMINUDZ256rr, X86::VPMINUDZ256rmb, TB_BCAST_D },
+ { X86::VPMINUDZrr, X86::VPMINUDZrmb, TB_BCAST_D },
+ { X86::VPMINUQZ128rr, X86::VPMINUQZ128rmb, TB_BCAST_Q },
+ { X86::VPMINUQZ256rr, X86::VPMINUQZ256rmb, TB_BCAST_Q },
+ { X86::VPMINUQZrr, X86::VPMINUQZrmb, TB_BCAST_Q },
{ X86::VPMULLDZ128rr, X86::VPMULLDZ128rmb, TB_BCAST_D },
{ X86::VPMULLDZ256rr, X86::VPMULLDZ256rmb, TB_BCAST_D },
{ X86::VPMULLDZrr, X86::VPMULLDZrmb, TB_BCAST_D },
OpenPOWER on IntegriCloud