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