@@ -577,40 +577,40 @@ define amdgpu_kernel void @add_inline_imm_64_v2f16(ptr addrspace(1) %out, <2 x h
577577}
578578
579579; 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]  
582582
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 ] 
584584define  <2  x i16 > @mul_inline_imm_0.5_v2i16 (<2  x i16 > %x ) {
585585  %y  = mul  <2  x i16 > %x , bitcast  (<2  x half > <half  0 .5 , half  0 .5 > to  <2  x i16 >)
586586  ret  <2  x i16 > %y 
587587}
588588
589589; 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]  
592592
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 ] 
594594define  <2  x i16 > @mul_inline_imm_neg_0.5_v2i16 (<2  x i16 > %x ) {
595595  %y  = mul  <2  x i16 > %x , bitcast  (<2  x half > <half  -0 .5 , half  -0 .5 > to  <2  x i16 >)
596596  ret  <2  x i16 > %y 
597597}
598598
599599; 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]  
602602
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 ] 
604604define  <2  x i16 > @mul_inline_imm_1.0_v2i16 (<2  x i16 > %x ) {
605605  %y  = mul  <2  x i16 > %x , bitcast  (<2  x half > <half  1 .0 , half  1 .0 > to  <2  x i16 >)
606606  ret  <2  x i16 > %y 
607607}
608608
609609; 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]  
612612
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 ] 
614614define  <2  x i16 > @mul_inline_imm_neg_1.0_v2i16 (<2  x i16 > %x ) {
615615  %y  = mul  <2  x i16 > %x , bitcast  (<2  x half > <half  -1 .0 , half  -1 .0 > to  <2  x i16 >)
616616  ret  <2  x i16 > %y 
@@ -635,31 +635,31 @@ define <2 x i16> @shl_inline_imm_neg_2.0_v2i16(<2 x i16> %x) {
635635}
636636
637637; 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]  
640640
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 ] 
642642define  <2  x i16 > @mul_inline_imm_4.0_v2i16 (<2  x i16 > %x ) {
643643  %y  = mul  <2  x i16 > %x , bitcast  (<2  x half > <half  4 .0 , half  4 .0 > to  <2  x i16 >)
644644  ret  <2  x i16 > %y 
645645
646646}
647647
648648; 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]  
651651
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 ] 
653653define  <2  x i16 > @mul_inline_imm_neg_4.0_v2i16 (<2  x i16 > %x ) {
654654  %y  = mul  <2  x i16 > %x , bitcast  (<2  x half > <half  -4 .0 , half  -4 .0 > to  <2  x i16 >)
655655  ret  <2  x i16 > %y 
656656}
657657
658658; 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]  
661661
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 ] 
663663define  <2  x i16 > @mul_inline_imm_inv2pi_v2i16 (<2  x i16 > %x ) {
664664  %y  = mul  <2  x i16 > %x , bitcast  (<2  x half > <half  0xH3118, half  0xH3118> to  <2  x i16 >)
665665  ret  <2  x i16 > %y 
0 commit comments