@@ -2515,25 +2515,30 @@ def : GCNPat<(fshr i32:$src0, i32:$src1, i32:$src2),
2515
2515
} // end True16Predicate = NotHasTrue16BitInsts
2516
2516
2517
2517
let True16Predicate = UseRealTrue16Insts in {
2518
- def : GCNPat<(rotr i32:$src0, i32:$src1),
2519
- (V_ALIGNBIT_B32_t16_e64 /* src0_modifiers */ 0, $src0,
2520
- /* src1_modifiers */ 0, $src0,
2521
- /* src2_modifiers */ 0, (EXTRACT_SUBREG $src1, lo16),
2522
- /* clamp */ 0, /* op_sel */ 0)>;
2518
+ def : GCNPat <
2519
+ (rotr i32:$src0, i32:$src1),
2520
+ (V_ALIGNBIT_B32_t16_e64 /* src0_modifiers */ 0, $src0,
2521
+ /* src1_modifiers */ 0, $src0,
2522
+ /* src2_modifiers */ 0,
2523
+ (EXTRACT_SUBREG $src1, lo16),
2524
+ /* clamp */ 0, /* op_sel */ 0)
2525
+ >;
2523
2526
2524
- def : GCNPat<
2525
- (i32(trunc(srl i64:$src0, (i32 ShiftAmt32Imm:$src1)))),
2526
- (V_ALIGNBIT_B32_t16_e64 0, /* src0_modifiers */
2527
- (i32(EXTRACT_SUBREG(i64 $src0), sub1)), 0, /* src1_modifiers */
2528
- (i32(EXTRACT_SUBREG(i64 $src0), sub0)), 0, /* src2_modifiers */
2529
- (i16(EXTRACT_SUBREG VGPR_32:$src1, lo16)),
2530
- /* clamp */ 0, /* op_sel */ 0)>;
2531
-
2532
- def : GCNPat<(fshr i32:$src0, i32:$src1, i32:$src2),
2533
- (V_ALIGNBIT_B32_t16_e64 /* src0_modifiers */ 0, $src0,
2534
- /* src1_modifiers */ 0, $src1,
2535
- /* src2_modifiers */ 0, (EXTRACT_SUBREG VGPR_32:$src2, lo16),
2536
- /* clamp */ 0, /* op_sel */ 0)>;
2527
+ def : GCNPat<(i32 (trunc (srl i64:$src0, (i32 ShiftAmt32Imm:$src1)))),
2528
+ (V_ALIGNBIT_B32_t16_e64 0, /* src0_modifiers */
2529
+ (i32 (EXTRACT_SUBREG (i64 $src0), sub1)),
2530
+ 0, /* src1_modifiers */
2531
+ (i32 (EXTRACT_SUBREG (i64 $src0), sub0)),
2532
+ 0, /* src2_modifiers */
2533
+ (i16 (EXTRACT_SUBREG VGPR_32:$src1, lo16)),
2534
+ /* clamp */ 0, /* op_sel */ 0)>;
2535
+
2536
+ def : GCNPat<(fshr i32:$src0, i32:$src1, i32:$src2),
2537
+ (V_ALIGNBIT_B32_t16_e64 /* src0_modifiers */ 0, $src0,
2538
+ /* src1_modifiers */ 0, $src1,
2539
+ /* src2_modifiers */ 0,
2540
+ (EXTRACT_SUBREG VGPR_32:$src2, lo16),
2541
+ /* clamp */ 0, /* op_sel */ 0)>;
2537
2542
} // end True16Predicate = UseRealTrue16Insts
2538
2543
2539
2544
let True16Predicate = UseFakeTrue16Insts in {
0 commit comments