@@ -1238,6 +1238,17 @@ def timm32_0_255 : Operand<i32>, TImmLeaf<i32, [{
12381238
12391239} // let OperandType = "OPERAND_IMMEDIATE"
12401240
1241+ let OperandType = "OPERAND_MSL_SHIFT" in {
1242+ // A vector move shifter operand:
1243+ // {0} - imm1: #8 or #16
1244+ def move_vec_shift : Operand<i32> {
1245+ let PrintMethod = "printShifter";
1246+ let OperandNamespace = "AArch64";
1247+ let EncoderMethod = "getMoveVecShifterOpValue";
1248+ let ParserMatchClass = MoveVecShifterOperand;
1249+ }
1250+ } // let OperandType = "OPERAND_MSL_SHIFT"
1251+
12411252// An arithmetic shifter operand:
12421253// {7-6} - shift type: 00 = lsl, 01 = lsr, 10 = asr
12431254// {5-0} - imm6
@@ -1316,16 +1327,6 @@ def logical_vec_hw_shift : Operand<i32> {
13161327 let ParserMatchClass = LogicalVecHalfWordShifterOperand;
13171328}
13181329
1319- // A vector move shifter operand:
1320- // {0} - imm1: #8 or #16
1321- def move_vec_shift : Operand<i32> {
1322- let OperandNamespace = "AArch64";
1323- let PrintMethod = "printShifter";
1324- let OperandType = "OPERAND_MSL_SHIFT";
1325- let EncoderMethod = "getMoveVecShifterOpValue";
1326- let ParserMatchClass = MoveVecShifterOperand;
1327- }
1328-
13291330let DiagnosticType = "AddSubSecondSource" in {
13301331 def AddSubImmOperand : AsmOperandClass {
13311332 let Name = "AddSubImm";
@@ -8893,7 +8894,6 @@ class SIMDModifiedImmMoveMSL<bit Q, bit op, bits<4> cmode,
88938894 bits<1> shift;
88948895 let Inst{15-13} = cmode{3-1};
88958896 let Inst{12} = shift;
8896- let Inst{30} = Q;
88978897}
88988898
88998899class SIMDModifiedImmVectorNoShift<bit Q, bit op, bit op2, bits<4> cmode,
0 commit comments