aboutsummaryrefslogtreecommitdiff
path: root/contrib/llvm-project/llvm/lib/Target/X86/X86InstrFoldTables.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/llvm-project/llvm/lib/Target/X86/X86InstrFoldTables.cpp')
-rw-r--r--contrib/llvm-project/llvm/lib/Target/X86/X86InstrFoldTables.cpp11
1 files changed, 7 insertions, 4 deletions
diff --git a/contrib/llvm-project/llvm/lib/Target/X86/X86InstrFoldTables.cpp b/contrib/llvm-project/llvm/lib/Target/X86/X86InstrFoldTables.cpp
index c9d0f66c6e46..63136af2295f 100644
--- a/contrib/llvm-project/llvm/lib/Target/X86/X86InstrFoldTables.cpp
+++ b/contrib/llvm-project/llvm/lib/Target/X86/X86InstrFoldTables.cpp
@@ -291,12 +291,15 @@ struct X86BroadcastFoldTable {
static bool matchBroadcastSize(const X86FoldTableEntry &Entry,
unsigned BroadcastBits) {
switch (Entry.Flags & TB_BCAST_MASK) {
- case TB_BCAST_SD:
- case TB_BCAST_Q:
- return BroadcastBits == 64;
- case TB_BCAST_SS:
+ case TB_BCAST_W:
+ case TB_BCAST_SH:
+ return BroadcastBits == 16;
case TB_BCAST_D:
+ case TB_BCAST_SS:
return BroadcastBits == 32;
+ case TB_BCAST_Q:
+ case TB_BCAST_SD:
+ return BroadcastBits == 64;
}
return false;
}