@@ -2552,25 +2552,30 @@ def : GCNPat<(fshr i32:$src0, i32:$src1, i32:$src2),
2552
2552
} // end True16Predicate = NotHasTrue16BitInsts
2553
2553
2554
2554
let True16Predicate = UseRealTrue16Insts in {
2555
- def : GCNPat<(rotr i32:$src0, i32:$src1),
2556
- (V_ALIGNBIT_B32_t16_e64 /* src0_modifiers */ 0, $src0,
2557
- /* src1_modifiers */ 0, $src0,
2558
- /* src2_modifiers */ 0, (EXTRACT_SUBREG $src1, lo16),
2559
- /* clamp */ 0, /* op_sel */ 0)>;
2555
+ def : GCNPat <
2556
+ (rotr i32:$src0, i32:$src1),
2557
+ (V_ALIGNBIT_B32_t16_e64 /* src0_modifiers */ 0, $src0,
2558
+ /* src1_modifiers */ 0, $src0,
2559
+ /* src2_modifiers */ 0,
2560
+ (EXTRACT_SUBREG $src1, lo16),
2561
+ /* clamp */ 0, /* op_sel */ 0)
2562
+ >;
2560
2563
2561
- def : GCNPat<
2562
- (i32(trunc(srl i64:$src0, (i32 ShiftAmt32Imm:$src1)))),
2563
- (V_ALIGNBIT_B32_t16_e64 0, /* src0_modifiers */
2564
- (i32(EXTRACT_SUBREG(i64 $src0), sub1)), 0, /* src1_modifiers */
2565
- (i32(EXTRACT_SUBREG(i64 $src0), sub0)), 0, /* src2_modifiers */
2566
- (i16(EXTRACT_SUBREG VGPR_32:$src1, lo16)),
2567
- /* clamp */ 0, /* op_sel */ 0)>;
2568
-
2569
- def : GCNPat<(fshr i32:$src0, i32:$src1, i32:$src2),
2570
- (V_ALIGNBIT_B32_t16_e64 /* src0_modifiers */ 0, $src0,
2571
- /* src1_modifiers */ 0, $src1,
2572
- /* src2_modifiers */ 0, (EXTRACT_SUBREG VGPR_32:$src2, lo16),
2573
- /* clamp */ 0, /* op_sel */ 0)>;
2564
+ def : GCNPat<(i32 (trunc (srl i64:$src0, (i32 ShiftAmt32Imm:$src1)))),
2565
+ (V_ALIGNBIT_B32_t16_e64 0, /* src0_modifiers */
2566
+ (i32 (EXTRACT_SUBREG (i64 $src0), sub1)),
2567
+ 0, /* src1_modifiers */
2568
+ (i32 (EXTRACT_SUBREG (i64 $src0), sub0)),
2569
+ 0, /* src2_modifiers */
2570
+ (i16 (EXTRACT_SUBREG VGPR_32:$src1, lo16)),
2571
+ /* clamp */ 0, /* op_sel */ 0)>;
2572
+
2573
+ def : GCNPat<(fshr i32:$src0, i32:$src1, i32:$src2),
2574
+ (V_ALIGNBIT_B32_t16_e64 /* src0_modifiers */ 0, $src0,
2575
+ /* src1_modifiers */ 0, $src1,
2576
+ /* src2_modifiers */ 0,
2577
+ (EXTRACT_SUBREG VGPR_32:$src2, lo16),
2578
+ /* clamp */ 0, /* op_sel */ 0)>;
2574
2579
} // end True16Predicate = UseRealTrue16Insts
2575
2580
2576
2581
let True16Predicate = UseFakeTrue16Insts in {
0 commit comments