@@ -2541,25 +2541,30 @@ def : GCNPat<(fshr i32:$src0, i32:$src1, i32:$src2),
2541
2541
} // end True16Predicate = NotHasTrue16BitInsts
2542
2542
2543
2543
let True16Predicate = UseRealTrue16Insts in {
2544
- def : GCNPat<(rotr i32:$src0, i32:$src1),
2545
- (V_ALIGNBIT_B32_t16_e64 /* src0_modifiers */ 0, $src0,
2546
- /* src1_modifiers */ 0, $src0,
2547
- /* src2_modifiers */ 0, (EXTRACT_SUBREG $src1, lo16),
2548
- /* clamp */ 0, /* op_sel */ 0)>;
2544
+ def : GCNPat <
2545
+ (rotr i32:$src0, i32:$src1),
2546
+ (V_ALIGNBIT_B32_t16_e64 /* src0_modifiers */ 0, $src0,
2547
+ /* src1_modifiers */ 0, $src0,
2548
+ /* src2_modifiers */ 0,
2549
+ (EXTRACT_SUBREG $src1, lo16),
2550
+ /* clamp */ 0, /* op_sel */ 0)
2551
+ >;
2549
2552
2550
- def : GCNPat<
2551
- (i32(trunc(srl i64:$src0, (i32 ShiftAmt32Imm:$src1)))),
2552
- (V_ALIGNBIT_B32_t16_e64 0, /* src0_modifiers */
2553
- (i32(EXTRACT_SUBREG(i64 $src0), sub1)), 0, /* src1_modifiers */
2554
- (i32(EXTRACT_SUBREG(i64 $src0), sub0)), 0, /* src2_modifiers */
2555
- (i16(EXTRACT_SUBREG VGPR_32:$src1, lo16)),
2556
- /* clamp */ 0, /* op_sel */ 0)>;
2557
-
2558
- def : GCNPat<(fshr i32:$src0, i32:$src1, i32:$src2),
2559
- (V_ALIGNBIT_B32_t16_e64 /* src0_modifiers */ 0, $src0,
2560
- /* src1_modifiers */ 0, $src1,
2561
- /* src2_modifiers */ 0, (EXTRACT_SUBREG VGPR_32:$src2, lo16),
2562
- /* clamp */ 0, /* op_sel */ 0)>;
2553
+ def : GCNPat<(i32 (trunc (srl i64:$src0, (i32 ShiftAmt32Imm:$src1)))),
2554
+ (V_ALIGNBIT_B32_t16_e64 0, /* src0_modifiers */
2555
+ (i32 (EXTRACT_SUBREG (i64 $src0), sub1)),
2556
+ 0, /* src1_modifiers */
2557
+ (i32 (EXTRACT_SUBREG (i64 $src0), sub0)),
2558
+ 0, /* src2_modifiers */
2559
+ (i16 (EXTRACT_SUBREG VGPR_32:$src1, lo16)),
2560
+ /* clamp */ 0, /* op_sel */ 0)>;
2561
+
2562
+ def : GCNPat<(fshr i32:$src0, i32:$src1, i32:$src2),
2563
+ (V_ALIGNBIT_B32_t16_e64 /* src0_modifiers */ 0, $src0,
2564
+ /* src1_modifiers */ 0, $src1,
2565
+ /* src2_modifiers */ 0,
2566
+ (EXTRACT_SUBREG VGPR_32:$src2, lo16),
2567
+ /* clamp */ 0, /* op_sel */ 0)>;
2563
2568
} // end True16Predicate = UseRealTrue16Insts
2564
2569
2565
2570
let True16Predicate = UseFakeTrue16Insts in {
0 commit comments