summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target
diff options
context:
space:
mode:
authorFangrui Song <maskray@google.com>2019-12-16 15:04:16 -0800
committerFangrui Song <maskray@google.com>2019-12-16 15:09:05 -0800
commit002adabb3a251a81ef304353eefb1bf96ec388f6 (patch)
treec8dd5ffbb4d4d6550d471f552a32f3e44ab23df9 /llvm/lib/Target
parent0a1e349a7933f7880971533175e11b4bfd22bd53 (diff)
downloadbcm5719-llvm-002adabb3a251a81ef304353eefb1bf96ec388f6.tar.gz
bcm5719-llvm-002adabb3a251a81ef304353eefb1bf96ec388f6.zip
[AArch64][SVE] Change pattern generation code to fix -Wimplicit-fallthrough after D71483
Diffstat (limited to 'llvm/lib/Target')
-rw-r--r--llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp15
1 files changed, 11 insertions, 4 deletions
diff --git a/llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp b/llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
index e138c2dc860..f40652f4fbb 100644
--- a/llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
+++ b/llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
@@ -2867,16 +2867,23 @@ bool AArch64DAGToDAGISel::SelectSVELogicalImm(SDValue N, MVT VT, SDValue &Imm) {
switch (VT.SimpleTy) {
case MVT::i8:
ImmVal &= 0xFF;
- ImmVal |= (ImmVal << 8);
+ ImmVal |= ImmVal << 8;
+ ImmVal |= ImmVal << 16;
+ ImmVal |= ImmVal << 32;
+ break;
case MVT::i16:
ImmVal &= 0xFFFF;
- ImmVal |= (ImmVal << 16);
+ ImmVal |= ImmVal << 16;
+ ImmVal |= ImmVal << 32;
+ break;
case MVT::i32:
ImmVal &= 0xFFFFFFFF;
- ImmVal |= (ImmVal << 32);
+ ImmVal |= ImmVal << 32;
break;
- default:
+ case MVT::i64:
break;
+ default:
+ llvm_unreachable("Unexpected type");
}
uint64_t encoding;
OpenPOWER on IntegriCloud