[ARM] Fix NEON failure introduced by D71065.
authorSimon Tatham <simon.tatham@arm.com>
Mon, 9 Dec 2019 16:51:18 +0000 (16:51 +0000)
committerSimon Tatham <simon.tatham@arm.com>
Mon, 9 Dec 2019 16:56:00 +0000 (16:56 +0000)
I rewrote the isel tablegen for MVE immediate shifts, and accidentally
removed the `let Predicates=[HasMVEInt]` that was wrapping the old
version, which seems to have allowed those rules to cause trouble on
non-MVE targets. That's what I get for only re-running the MVE tests.

llvm/lib/Target/ARM/ARMInstrMVE.td

index 087ea19..10a4c6d 100644 (file)
@@ -2718,9 +2718,11 @@ multiclass MVE_immediate_shift_patterns<MVEVectorVTInfo VTI,
       !cast<Instruction>("MVE_VSHR_imms" # VTI.BitsSuffix), [0]>;
 }
 
-defm : MVE_immediate_shift_patterns<MVE_v16i8, imm0_7>;
-defm : MVE_immediate_shift_patterns<MVE_v8i16, imm0_15>;
-defm : MVE_immediate_shift_patterns<MVE_v4i32, imm0_31>;
+let Predicates = [HasMVEInt] in {
+  defm : MVE_immediate_shift_patterns<MVE_v16i8, imm0_7>;
+  defm : MVE_immediate_shift_patterns<MVE_v8i16, imm0_15>;
+  defm : MVE_immediate_shift_patterns<MVE_v4i32, imm0_31>;
+}
 
 // end of mve_shift instructions