[llvm] 8d70f3c - [ARM] Fix NEON failure introduced by D71065.

Simon Tatham via llvm-commits llvm-commits at lists.llvm.org
Mon Dec 9 08:56:53 PST 2019


Author: Simon Tatham
Date: 2019-12-09T16:56:00Z
New Revision: 8d70f3c933a5b81a87a5ab1af0e3e98ee2cd7c67

URL: https://github.com/llvm/llvm-project/commit/8d70f3c933a5b81a87a5ab1af0e3e98ee2cd7c67
DIFF: https://github.com/llvm/llvm-project/commit/8d70f3c933a5b81a87a5ab1af0e3e98ee2cd7c67.diff

LOG: [ARM] Fix NEON failure introduced by D71065.

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.

Added: 
    

Modified: 
    llvm/lib/Target/ARM/ARMInstrMVE.td

Removed: 
    


################################################################################
diff  --git a/llvm/lib/Target/ARM/ARMInstrMVE.td b/llvm/lib/Target/ARM/ARMInstrMVE.td
index 087ea1926694..10a4c6d32030 100644
--- a/llvm/lib/Target/ARM/ARMInstrMVE.td
+++ b/llvm/lib/Target/ARM/ARMInstrMVE.td
@@ -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
 


        


More information about the llvm-commits mailing list