diff options
author | Craig Topper <craig.topper@intel.com> | 2019-09-09 06:32:24 +0000 |
---|---|---|
committer | Craig Topper <craig.topper@intel.com> | 2019-09-09 06:32:24 +0000 |
commit | 8c2ab1c4cbce1a7551a26d28d3b21ad44455a5ee (patch) | |
tree | ec8ff3e9c3091e7f428259c72af9ab4453e78972 /llvm/lib/Target/X86 | |
parent | 68b2e1973fc5ff4e4fb5e0c662543490b2e01a48 (diff) | |
download | bcm5719-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')
-rw-r--r-- | llvm/lib/Target/X86/X86InstrFoldTables.cpp | 24 |
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 }, |