@@ -6609,25 +6609,11 @@ multiclass FPToIntegerSatPats<SDNode to_int_sat, SDNode to_int_sat_gi, string IN
66096609 (!cast<Instruction>(INST # DSr) f32:$Rn)>;
66106610 def : Pat<(f32 (bitconvert (i32 (to_int_sat f64:$Rn, i32)))),
66116611 (!cast<Instruction>(INST # SDr) f64:$Rn)>;
6612-
6613- def : Pat<(f32 (bitconvert (i32 (to_int_sat_gi f16:$Rn)))),
6614- (!cast<Instruction>(INST # SHr) f16:$Rn)>;
6615- def : Pat<(f64 (bitconvert (i64 (to_int_sat_gi f16:$Rn)))),
6616- (!cast<Instruction>(INST # DHr) f16:$Rn)>;
6617- def : Pat<(f64 (bitconvert (i64 (to_int_sat_gi f32:$Rn)))),
6618- (!cast<Instruction>(INST # DSr) f32:$Rn)>;
6619- def : Pat<(f32 (bitconvert (i32 (to_int_sat_gi f64:$Rn)))),
6620- (!cast<Instruction>(INST # SDr) f64:$Rn)>;
66216612 }
66226613 def : Pat<(f32 (bitconvert (i32 (to_int_sat f32:$Rn, i32)))),
66236614 (!cast<Instruction>(INST # v1i32) f32:$Rn)>;
66246615 def : Pat<(f64 (bitconvert (i64 (to_int_sat f64:$Rn, i64)))),
66256616 (!cast<Instruction>(INST # v1i64) f64:$Rn)>;
6626-
6627- def : Pat<(f32 (bitconvert (i32 (to_int_sat_gi f32:$Rn)))),
6628- (!cast<Instruction>(INST # v1i32) f32:$Rn)>;
6629- def : Pat<(f64 (bitconvert (i64 (to_int_sat_gi f64:$Rn)))),
6630- (!cast<Instruction>(INST # v1i64) f64:$Rn)>;
66316617
66326618 let Predicates = [HasFullFP16] in {
66336619 def : Pat<(i32 (to_int_sat (fmul f16:$Rn, fixedpoint_f16_i32:$scale), i32)),
@@ -6673,19 +6659,6 @@ multiclass FPToIntegerPats<SDNode to_int, SDNode to_int_sat, SDNode round, strin
66736659 def : Pat<(i64 (to_int (round f64:$Rn))),
66746660 (!cast<Instruction>(INST # UXDr) f64:$Rn)>;
66756661
6676- // For global-isel we can use register classes to determine
6677- // which FCVT instruction to use.
6678- def : Pat<(i32 (to_int (round f32:$Rn))),
6679- (!cast<Instruction>(INST # v1i32) f32:$Rn)>;
6680- let Predicates = [HasFPRCVT] in {
6681- def : Pat<(i64 (to_int (round f32:$Rn))),
6682- (!cast<Instruction>(INST # DSr) f32:$Rn)>;
6683- def : Pat<(i32 (to_int (round f64:$Rn))),
6684- (!cast<Instruction>(INST # SDr) f64:$Rn)>;
6685- }
6686- def : Pat<(i64 (to_int (round f64:$Rn))),
6687- (!cast<Instruction>(INST # v1i64) f64:$Rn)>;
6688-
66896662 let Predicates = [HasFPRCVT] in {
66906663 def : Pat<(f64 (bitconvert (i64 (to_int (round f32:$Rn))))),
66916664 (!cast<Instruction>(INST # DSr) f32:$Rn)>;
0 commit comments