@@ -577,40 +577,40 @@ define amdgpu_kernel void @add_inline_imm_64_v2f16(ptr addrspace(1) %out, <2 x h
577
577
}
578
578
579
579
; GCN-LABEL: {{^}}mul_inline_imm_0.5_v2i16:
580
- ; GFX9: s_mov_b32 [[K:s[0-9]+]], 0x38003800
581
- ; GFX9: v_pk_mul_lo_u16 v0, v0, [[K]]
580
+ ; GFX9: s_movk_i32 [[K:s[0-9]+]], 0x3800
581
+ ; GFX9: v_pk_mul_lo_u16 v0, v0, [[K]] op_sel_hi:[1,0]
582
582
583
- ; GFX10: v_pk_mul_lo_u16 v0, 0x38003800 , v0 ; encoding: [0x{{[0-9a-f]+}},0x{{[0-9a-f]+}},0x{{[0-9a-f]+}},0x{{[0-9a-f]+}},0xff,0x{{[0-9a-f]+}},0x{{[0-9a-f]+}},0x{{[0-9a-f]+}},0x00,0x38,0x00,0x38 ]
583
+ ; GFX10: v_pk_mul_lo_u16 v0, 0x3800 , v0 op_sel_hi:[0,1] ; encoding: [0x{{[0-9a-f]+}},0x{{[0-9a-f]+}},0x{{[0-9a-f]+}},0x{{[0-9a-f]+}},0xff,0x{{[0-9a-f]+}},0x{{[0-9a-f]+}},0x{{[0-9a-f]+}},0x00,0x38,0x00,0x00 ]
584
584
define <2 x i16> @mul_inline_imm_0.5_v2i16(<2 x i16> %x) {
585
585
%y = mul <2 x i16> %x, bitcast (<2 x half> <half 0.5, half 0.5> to <2 x i16>)
586
586
ret <2 x i16> %y
587
587
}
588
588
589
589
; GCN-LABEL: {{^}}mul_inline_imm_neg_0.5_v2i16:
590
- ; GFX9: s_mov_b32 [[K:s[0-9]+]], 0xb800b800
591
- ; GFX9: v_pk_mul_lo_u16 v0, v0, [[K]]
590
+ ; GFX9: s_movk_i32 [[K:s[0-9]+]], 0xb800
591
+ ; GFX9: v_pk_mul_lo_u16 v0, v0, [[K]] op_sel_hi:[1,0]
592
592
593
- ; GFX10: v_pk_mul_lo_u16 v0, 0xb800b800 , v0 ; encoding: [0x{{[0-9a-f]+}},0x{{[0-9a-f]+}},0x{{[0-9a-f]+}},0x{{[0-9a-f]+}},0xff,0x{{[0-9a-f]+}},0x{{[0-9a-f]+}},0x{{[0-9a-f]+}},0x00,0xb8,0x00,0xb8 ]
593
+ ; GFX10: v_pk_mul_lo_u16 v0, 0xffffb800 , v0 op_sel_hi:[0,1] ; encoding: [0x{{[0-9a-f]+}},0x{{[0-9a-f]+}},0x{{[0-9a-f]+}},0x{{[0-9a-f]+}},0xff,0x{{[0-9a-f]+}},0x{{[0-9a-f]+}},0x{{[0-9a-f]+}},0x00,0xb8,0xff,0xff ]
594
594
define <2 x i16> @mul_inline_imm_neg_0.5_v2i16(<2 x i16> %x) {
595
595
%y = mul <2 x i16> %x, bitcast (<2 x half> <half -0.5, half -0.5> to <2 x i16>)
596
596
ret <2 x i16> %y
597
597
}
598
598
599
599
; GCN-LABEL: {{^}}mul_inline_imm_1.0_v2i16:
600
- ; GFX9: s_mov_b32 [[K:s[0-9]+]], 0x3c003c00
601
- ; GFX9: v_pk_mul_lo_u16 v0, v0, [[K]]
600
+ ; GFX9: s_movk_i32 [[K:s[0-9]+]], 0x3c00
601
+ ; GFX9: v_pk_mul_lo_u16 v0, v0, [[K]] op_sel_hi:[1,0]
602
602
603
- ; GFX10: v_pk_mul_lo_u16 v0, 0x3c003c00 , v0 ; encoding: [0x{{[0-9a-f]+}},0x{{[0-9a-f]+}},0x{{[0-9a-f]+}},0x{{[0-9a-f]+}},0xff,0x{{[0-9a-f]+}},0x{{[0-9a-f]+}},0x{{[0-9a-f]+}},0x00,0x3c,0x00,0x3c ]
603
+ ; GFX10: v_pk_mul_lo_u16 v0, 0x3c00 , v0 op_sel_hi:[0,1] ; encoding: [0x{{[0-9a-f]+}},0x{{[0-9a-f]+}},0x{{[0-9a-f]+}},0x{{[0-9a-f]+}},0xff,0x{{[0-9a-f]+}},0x{{[0-9a-f]+}},0x{{[0-9a-f]+}},0x00,0x3c,0x00,0x00 ]
604
604
define <2 x i16> @mul_inline_imm_1.0_v2i16(<2 x i16> %x) {
605
605
%y = mul <2 x i16> %x, bitcast (<2 x half> <half 1.0, half 1.0> to <2 x i16>)
606
606
ret <2 x i16> %y
607
607
}
608
608
609
609
; GCN-LABEL: {{^}}mul_inline_imm_neg_1.0_v2i16:
610
- ; GFX9: s_mov_b32 [[K:s[0-9]+]], 0xbc00bc00
611
- ; GFX9: v_pk_mul_lo_u16 v0, v0, [[K]]
610
+ ; GFX9: s_movk_i32 [[K:s[0-9]+]], 0xbc00
611
+ ; GFX9: v_pk_mul_lo_u16 v0, v0, [[K]] op_sel_hi:[1,0]
612
612
613
- ; GFX10: v_pk_mul_lo_u16 v0, 0xbc00bc00 , v0 ; encoding: [0x{{[0-9a-f]+}},0x{{[0-9a-f]+}},0x{{[0-9a-f]+}},0x{{[0-9a-f]+}},0xff,0x{{[0-9a-f]+}},0x{{[0-9a-f]+}},0x{{[0-9a-f]+}},0x00,0xbc,0x00,0xbc ]
613
+ ; GFX10: v_pk_mul_lo_u16 v0, 0xffffbc00 , v0 op_sel_hi:[0,1] ; encoding: [0x{{[0-9a-f]+}},0x{{[0-9a-f]+}},0x{{[0-9a-f]+}},0x{{[0-9a-f]+}},0xff,0x{{[0-9a-f]+}},0x{{[0-9a-f]+}},0x{{[0-9a-f]+}},0x00,0xbc,0xff,0xff ]
614
614
define <2 x i16> @mul_inline_imm_neg_1.0_v2i16(<2 x i16> %x) {
615
615
%y = mul <2 x i16> %x, bitcast (<2 x half> <half -1.0, half -1.0> to <2 x i16>)
616
616
ret <2 x i16> %y
@@ -635,31 +635,31 @@ define <2 x i16> @shl_inline_imm_neg_2.0_v2i16(<2 x i16> %x) {
635
635
}
636
636
637
637
; GCN-LABEL: {{^}}mul_inline_imm_4.0_v2i16:
638
- ; GFX9: s_mov_b32 [[K:s[0-9]+]], 0x44004400
639
- ; GFX9: v_pk_mul_lo_u16 v0, v0, [[K]]
638
+ ; GFX9: s_movk_i32 [[K:s[0-9]+]], 0x4400
639
+ ; GFX9: v_pk_mul_lo_u16 v0, v0, [[K]] op_sel_hi:[1,0]
640
640
641
- ; GFX10: v_pk_mul_lo_u16 v0, 0x44004400 , v0 ; encoding: [0x{{[0-9a-f]+}},0x{{[0-9a-f]+}},0x{{[0-9a-f]+}},0x{{[0-9a-f]+}},0xff,0x{{[0-9a-f]+}},0x{{[0-9a-f]+}},0x{{[0-9a-f]+}},0x00,0x44,0x00,0x44 ]
641
+ ; GFX10: v_pk_mul_lo_u16 v0, 0x4400 , v0 op_sel_hi:[0,1] ; encoding: [0x{{[0-9a-f]+}},0x{{[0-9a-f]+}},0x{{[0-9a-f]+}},0x{{[0-9a-f]+}},0xff,0x{{[0-9a-f]+}},0x{{[0-9a-f]+}},0x{{[0-9a-f]+}},0x00,0x44,0x00,0x00 ]
642
642
define <2 x i16> @mul_inline_imm_4.0_v2i16(<2 x i16> %x) {
643
643
%y = mul <2 x i16> %x, bitcast (<2 x half> <half 4.0, half 4.0> to <2 x i16>)
644
644
ret <2 x i16> %y
645
645
646
646
}
647
647
648
648
; GCN-LABEL: {{^}}mul_inline_imm_neg_4.0_v2i16:
649
- ; GFX9: s_mov_b32 [[K:s[0-9]+]], 0xc400c400
650
- ; GFX9: v_pk_mul_lo_u16 v0, v0, [[K]]
649
+ ; GFX9: s_movk_i32 [[K:s[0-9]+]], 0xc400
650
+ ; GFX9: v_pk_mul_lo_u16 v0, v0, [[K]] op_sel_hi:[1,0]
651
651
652
- ; GFX10: v_pk_mul_lo_u16 v0, 0xc400c400 , v0 ; encoding: [0x{{[0-9a-f]+}},0x{{[0-9a-f]+}},0x{{[0-9a-f]+}},0x{{[0-9a-f]+}},0xff,0x{{[0-9a-f]+}},0x{{[0-9a-f]+}},0x{{[0-9a-f]+}},0x00,0xc4,0x00,0xc4 ]
652
+ ; GFX10: v_pk_mul_lo_u16 v0, 0xffffc400 , v0 op_sel_hi:[0,1] ; encoding: [0x{{[0-9a-f]+}},0x{{[0-9a-f]+}},0x{{[0-9a-f]+}},0x{{[0-9a-f]+}},0xff,0x{{[0-9a-f]+}},0x{{[0-9a-f]+}},0x{{[0-9a-f]+}},0x00,0xc4,0xff,0xff ]
653
653
define <2 x i16> @mul_inline_imm_neg_4.0_v2i16(<2 x i16> %x) {
654
654
%y = mul <2 x i16> %x, bitcast (<2 x half> <half -4.0, half -4.0> to <2 x i16>)
655
655
ret <2 x i16> %y
656
656
}
657
657
658
658
; GCN-LABEL: {{^}}mul_inline_imm_inv2pi_v2i16:
659
- ; GFX9: s_mov_b32 [[K:s[0-9]+]], 0x31183118
660
- ; GFX9: v_pk_mul_lo_u16 v0, v0, [[K]]
659
+ ; GFX9: s_movk_i32 [[K:s[0-9]+]], 0x3118
660
+ ; GFX9: v_pk_mul_lo_u16 v0, v0, [[K]] op_sel_hi:[1,0]
661
661
662
- ; GFX10: v_pk_mul_lo_u16 v0, 0x31183118 , v0 ; encoding: [0x{{[0-9a-f]+}},0x{{[0-9a-f]+}},0x{{[0-9a-f]+}},0x{{[0-9a-f]+}},0xff,0x{{[0-9a-f]+}},0x{{[0-9a-f]+}},0x{{[0-9a-f]+}},0x18,0x31,0x18,0x31 ]
662
+ ; GFX10: v_pk_mul_lo_u16 v0, 0x3118 , v0 op_sel_hi:[0,1] ; encoding: [0x{{[0-9a-f]+}},0x{{[0-9a-f]+}},0x{{[0-9a-f]+}},0x{{[0-9a-f]+}},0xff,0x{{[0-9a-f]+}},0x{{[0-9a-f]+}},0x{{[0-9a-f]+}},0x18,0x31,0x00,0x00 ]
663
663
define <2 x i16> @mul_inline_imm_inv2pi_v2i16(<2 x i16> %x) {
664
664
%y = mul <2 x i16> %x, bitcast (<2 x half> <half 0xH3118, half 0xH3118> to <2 x i16>)
665
665
ret <2 x i16> %y
0 commit comments