@@ -5487,7 +5487,7 @@ multiclass IntegerToFP<bits<2> rmode, bits<3> opcode, string asm, SDPatternOpera
54875487 }
54885488}
54895489
5490- multiclass IntegerToFPSIMDScalar<bits<2> rmode, bits<3> opcode, string asm, SDPatternOperator op, SDPatternOperator node = null_frag> {
5490+ multiclass IntegerToFPSIMDScalar<bits<2> rmode, bits<3> opcode, string asm, SDPatternOperator node = null_frag> {
54915491 // 32-bit to half-precision
54925492 def HSr: BaseIntegerToFPUnscaled<rmode, opcode, FPR32, FPR16, f16, asm, node> {
54935493 let Inst{31} = 0; // 32-bit FPR flag
@@ -5512,16 +5512,13 @@ multiclass IntegerToFPSIMDScalar<bits<2> rmode, bits<3> opcode, string asm, SDPa
55125512 let Inst{23-22} = 0b00; // 32-bit FPR flag
55135513 }
55145514
5515- def : Pat<(f16 (op (i32 FPR32:$Rn))),
5516- (!cast<Instruction>(NAME # HSr) $Rn)>;
5517-
5518- def : Pat<(f16 (op (i32 (extractelt (v4i32 V128:$Rn), (i64 0))))),
5515+ def : Pat<(f16 (node (i32 (extractelt (v4i32 V128:$Rn), (i64 0))))),
55195516 (!cast<Instruction>(NAME # HSr) (EXTRACT_SUBREG $Rn, ssub))>;
5520- def : Pat<(f64 (op (i32 (extractelt (v4i32 V128:$Rn), (i64 0))))),
5517+ def : Pat<(f64 (node (i32 (extractelt (v4i32 V128:$Rn), (i64 0))))),
55215518 (!cast<Instruction>(NAME # DSr) (EXTRACT_SUBREG $Rn, ssub))>;
5522- def : Pat<(f16 (op (i64 (extractelt (v2i64 V128:$Rn), (i64 0))))),
5519+ def : Pat<(f16 (node (i64 (extractelt (v2i64 V128:$Rn), (i64 0))))),
55235520 (!cast<Instruction>(NAME # HDr) (EXTRACT_SUBREG $Rn, dsub))>;
5524- def : Pat<(f32 (op (i64 (extractelt (v2i64 V128:$Rn), (i64 0))))),
5521+ def : Pat<(f32 (node (i64 (extractelt (v2i64 V128:$Rn), (i64 0))))),
55255522 (!cast<Instruction>(NAME # SDr) (EXTRACT_SUBREG $Rn, dsub))>;
55265523}
55275524
0 commit comments