diff options
| author | Fangrui Song <maskray@google.com> | 2019-12-16 15:04:16 -0800 |
|---|---|---|
| committer | Fangrui Song <maskray@google.com> | 2019-12-16 15:09:05 -0800 |
| commit | 002adabb3a251a81ef304353eefb1bf96ec388f6 (patch) | |
| tree | c8dd5ffbb4d4d6550d471f552a32f3e44ab23df9 /llvm/lib/Target | |
| parent | 0a1e349a7933f7880971533175e11b4bfd22bd53 (diff) | |
| download | bcm5719-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.cpp | 15 |
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; |

