Skip to content

Commit e14f16d

Browse files
committed
true16 for v_cmp_eq_f16 and v_cmpx_eq_f16
1 parent 18e9d3d commit e14f16d

29 files changed

+850
-369
lines changed

llvm/lib/Target/AMDGPU/VOPCInstructions.td

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1977,7 +1977,7 @@ defm V_CMP_CLASS_F64 : VOPC_Real_gfx11_gfx12<0x07f>;
19771977

19781978
defm V_CMPX_F_F16_fake16 : VOPCX_Real_t16_gfx11<0x080, "v_cmpx_f_f16">;
19791979
defm V_CMPX_LT_F16 : VOPCX_Real_t16_and_fake16_gfx11_gfx12<0x081, "v_cmpx_lt_f16">;
1980-
defm V_CMPX_EQ_F16_fake16 : VOPCX_Real_t16_gfx11_gfx12<0x082, "v_cmpx_eq_f16">;
1980+
defm V_CMPX_EQ_F16 : VOPCX_Real_t16_and_fake16_gfx11_gfx12<0x082, "v_cmpx_eq_f16">;
19811981
defm V_CMPX_LE_F16_fake16 : VOPCX_Real_t16_gfx11_gfx12<0x083, "v_cmpx_le_f16">;
19821982
defm V_CMPX_GT_F16_fake16 : VOPCX_Real_t16_gfx11_gfx12<0x084, "v_cmpx_gt_f16">;
19831983
defm V_CMPX_LG_F16_fake16 : VOPCX_Real_t16_gfx11_gfx12<0x085, "v_cmpx_lg_f16">;

llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp16_from_vopcx.s

Lines changed: 37 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -96,47 +96,56 @@ v_cmpx_class_f32_e64_dpp v1, v2 row_xmask:0 row_mask:0x1 bank_mask:0x3 bound_ctr
9696
v_cmpx_class_f32_e64_dpp -|v255|, v255 row_xmask:15 row_mask:0x3 bank_mask:0x0 bound_ctrl:0 fi:1
9797
// GFX11: v_cmpx_class_f32_e64_dpp -|v255|, v255 row_xmask:15 row_mask:0x3 bank_mask:0x0 fi:1 ; encoding: [0x7e,0x01,0xfe,0xd4,0xfa,0xfe,0x03,0x20,0xff,0x6f,0x05,0x30]
9898

99-
v_cmpx_eq_f16_e64_dpp v1, v2 quad_perm:[3,2,1,0]
100-
// GFX11: v_cmpx_eq_f16_e64_dpp v1, v2 quad_perm:[3,2,1,0] row_mask:0xf bank_mask:0xf ; encoding: [0x7e,0x00,0x82,0xd4,0xfa,0x04,0x02,0x00,0x01,0x1b,0x00,0xff]
99+
v_cmpx_eq_f16_e64_dpp v1.l, v2.l quad_perm:[3,2,1,0]
100+
// GFX11: v_cmpx_eq_f16_e64_dpp v1.l, v2.l quad_perm:[3,2,1,0] row_mask:0xf bank_mask:0xf ; encoding: [0x7e,0x00,0x82,0xd4,0xfa,0x04,0x02,0x00,0x01,0x1b,0x00,0xff]
101101

102-
v_cmpx_eq_f16_e64_dpp v1, v2 quad_perm:[0,1,2,3]
103-
// GFX11: v_cmpx_eq_f16_e64_dpp v1, v2 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0xf ; encoding: [0x7e,0x00,0x82,0xd4,0xfa,0x04,0x02,0x00,0x01,0xe4,0x00,0xff]
102+
v_cmpx_eq_f16_e64_dpp v1.l, v2.l quad_perm:[0,1,2,3]
103+
// GFX11: v_cmpx_eq_f16_e64_dpp v1.l, v2.l quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0xf ; encoding: [0x7e,0x00,0x82,0xd4,0xfa,0x04,0x02,0x00,0x01,0xe4,0x00,0xff]
104104

105-
v_cmpx_eq_f16_e64_dpp v1, v2 row_mirror
106-
// GFX11: v_cmpx_eq_f16_e64_dpp v1, v2 row_mirror row_mask:0xf bank_mask:0xf ; encoding: [0x7e,0x00,0x82,0xd4,0xfa,0x04,0x02,0x00,0x01,0x40,0x01,0xff]
105+
v_cmpx_eq_f16_e64_dpp v1.l, v2.l row_mirror
106+
// GFX11: v_cmpx_eq_f16_e64_dpp v1.l, v2.l row_mirror row_mask:0xf bank_mask:0xf ; encoding: [0x7e,0x00,0x82,0xd4,0xfa,0x04,0x02,0x00,0x01,0x40,0x01,0xff]
107107

108-
v_cmpx_eq_f16_e64_dpp v1, v2 row_half_mirror
109-
// GFX11: v_cmpx_eq_f16_e64_dpp v1, v2 row_half_mirror row_mask:0xf bank_mask:0xf ; encoding: [0x7e,0x00,0x82,0xd4,0xfa,0x04,0x02,0x00,0x01,0x41,0x01,0xff]
108+
v_cmpx_eq_f16_e64_dpp v1.l, v2.l row_half_mirror
109+
// GFX11: v_cmpx_eq_f16_e64_dpp v1.l, v2.l row_half_mirror row_mask:0xf bank_mask:0xf ; encoding: [0x7e,0x00,0x82,0xd4,0xfa,0x04,0x02,0x00,0x01,0x41,0x01,0xff]
110110

111-
v_cmpx_eq_f16_e64_dpp v1, v2 row_shl:1
112-
// GFX11: v_cmpx_eq_f16_e64_dpp v1, v2 row_shl:1 row_mask:0xf bank_mask:0xf ; encoding: [0x7e,0x00,0x82,0xd4,0xfa,0x04,0x02,0x00,0x01,0x01,0x01,0xff]
111+
v_cmpx_eq_f16_e64_dpp v1.l, v2.l row_shl:1
112+
// GFX11: v_cmpx_eq_f16_e64_dpp v1.l, v2.l row_shl:1 row_mask:0xf bank_mask:0xf ; encoding: [0x7e,0x00,0x82,0xd4,0xfa,0x04,0x02,0x00,0x01,0x01,0x01,0xff]
113113

114-
v_cmpx_eq_f16_e64_dpp v1, v2 row_shl:15
115-
// GFX11: v_cmpx_eq_f16_e64_dpp v1, v2 row_shl:15 row_mask:0xf bank_mask:0xf ; encoding: [0x7e,0x00,0x82,0xd4,0xfa,0x04,0x02,0x00,0x01,0x0f,0x01,0xff]
114+
v_cmpx_eq_f16_e64_dpp v1.l, v2.l row_shl:15
115+
// GFX11: v_cmpx_eq_f16_e64_dpp v1.l, v2.l row_shl:15 row_mask:0xf bank_mask:0xf ; encoding: [0x7e,0x00,0x82,0xd4,0xfa,0x04,0x02,0x00,0x01,0x0f,0x01,0xff]
116116

117-
v_cmpx_eq_f16_e64_dpp v1, v2 row_shr:1
118-
// GFX11: v_cmpx_eq_f16_e64_dpp v1, v2 row_shr:1 row_mask:0xf bank_mask:0xf ; encoding: [0x7e,0x00,0x82,0xd4,0xfa,0x04,0x02,0x00,0x01,0x11,0x01,0xff]
117+
v_cmpx_eq_f16_e64_dpp v1.l, v2.l row_shr:1
118+
// GFX11: v_cmpx_eq_f16_e64_dpp v1.l, v2.l row_shr:1 row_mask:0xf bank_mask:0xf ; encoding: [0x7e,0x00,0x82,0xd4,0xfa,0x04,0x02,0x00,0x01,0x11,0x01,0xff]
119119

120-
v_cmpx_eq_f16_e64_dpp v1, v2 row_shr:15
121-
// GFX11: v_cmpx_eq_f16_e64_dpp v1, v2 row_shr:15 row_mask:0xf bank_mask:0xf ; encoding: [0x7e,0x00,0x82,0xd4,0xfa,0x04,0x02,0x00,0x01,0x1f,0x01,0xff]
120+
v_cmpx_eq_f16_e64_dpp v1.l, v2.l row_shr:15
121+
// GFX11: v_cmpx_eq_f16_e64_dpp v1.l, v2.l row_shr:15 row_mask:0xf bank_mask:0xf ; encoding: [0x7e,0x00,0x82,0xd4,0xfa,0x04,0x02,0x00,0x01,0x1f,0x01,0xff]
122122

123-
v_cmpx_eq_f16_e64_dpp v1, v2 row_ror:1
124-
// GFX11: v_cmpx_eq_f16_e64_dpp v1, v2 row_ror:1 row_mask:0xf bank_mask:0xf ; encoding: [0x7e,0x00,0x82,0xd4,0xfa,0x04,0x02,0x00,0x01,0x21,0x01,0xff]
123+
v_cmpx_eq_f16_e64_dpp v1.l, v2.l row_ror:1
124+
// GFX11: v_cmpx_eq_f16_e64_dpp v1.l, v2.l row_ror:1 row_mask:0xf bank_mask:0xf ; encoding: [0x7e,0x00,0x82,0xd4,0xfa,0x04,0x02,0x00,0x01,0x21,0x01,0xff]
125125

126-
v_cmpx_eq_f16_e64_dpp v1, v2 row_ror:15
127-
// GFX11: v_cmpx_eq_f16_e64_dpp v1, v2 row_ror:15 row_mask:0xf bank_mask:0xf ; encoding: [0x7e,0x00,0x82,0xd4,0xfa,0x04,0x02,0x00,0x01,0x2f,0x01,0xff]
126+
v_cmpx_eq_f16_e64_dpp v1.l, v2.l row_ror:15
127+
// GFX11: v_cmpx_eq_f16_e64_dpp v1.l, v2.l row_ror:15 row_mask:0xf bank_mask:0xf ; encoding: [0x7e,0x00,0x82,0xd4,0xfa,0x04,0x02,0x00,0x01,0x2f,0x01,0xff]
128128

129-
v_cmpx_eq_f16_e64_dpp v1, v2 row_share:0 row_mask:0xf bank_mask:0xf
130-
// GFX11: v_cmpx_eq_f16_e64_dpp v1, v2 row_share:0 row_mask:0xf bank_mask:0xf ; encoding: [0x7e,0x00,0x82,0xd4,0xfa,0x04,0x02,0x00,0x01,0x50,0x01,0xff]
129+
v_cmpx_eq_f16_e64_dpp v1.l, v2.l row_share:0 row_mask:0xf bank_mask:0xf
130+
// GFX11: v_cmpx_eq_f16_e64_dpp v1.l, v2.l row_share:0 row_mask:0xf bank_mask:0xf ; encoding: [0x7e,0x00,0x82,0xd4,0xfa,0x04,0x02,0x00,0x01,0x50,0x01,0xff]
131131

132-
v_cmpx_eq_f16_e64_dpp |v1|, -v2 row_share:15 row_mask:0x0 bank_mask:0x1
133-
// GFX11: v_cmpx_eq_f16_e64_dpp |v1|, -v2 row_share:15 row_mask:0x0 bank_mask:0x1 ; encoding: [0x7e,0x01,0x82,0xd4,0xfa,0x04,0x02,0x40,0x01,0x5f,0x01,0x01]
132+
v_cmpx_eq_f16_e64_dpp |v1.l|, -v2.l row_share:15 row_mask:0x0 bank_mask:0x1
133+
// GFX11: v_cmpx_eq_f16_e64_dpp |v1.l|, -v2.l row_share:15 row_mask:0x0 bank_mask:0x1 ; encoding: [0x7e,0x01,0x82,0xd4,0xfa,0x04,0x02,0x40,0x01,0x5f,0x01,0x01]
134134

135-
v_cmpx_eq_f16_e64_dpp -v1, |v2| row_xmask:0 row_mask:0x1 bank_mask:0x3 bound_ctrl:1 fi:0
136-
// GFX11: v_cmpx_eq_f16_e64_dpp -v1, |v2| row_xmask:0 row_mask:0x1 bank_mask:0x3 bound_ctrl:1 ; encoding: [0x7e,0x02,0x82,0xd4,0xfa,0x04,0x02,0x20,0x01,0x60,0x09,0x13]
135+
v_cmpx_eq_f16_e64_dpp -v1.l, |v2.l| row_xmask:0 row_mask:0x1 bank_mask:0x3 bound_ctrl:1 fi:0
136+
// GFX11: v_cmpx_eq_f16_e64_dpp -v1.l, |v2.l| row_xmask:0 row_mask:0x1 bank_mask:0x3 bound_ctrl:1 ; encoding: [0x7e,0x02,0x82,0xd4,0xfa,0x04,0x02,0x20,0x01,0x60,0x09,0x13]
137137

138-
v_cmpx_eq_f16_e64_dpp -|v255|, -|v255| clamp row_xmask:15 row_mask:0x3 bank_mask:0x0 bound_ctrl:0 fi:1
139-
// GFX11: v_cmpx_eq_f16_e64_dpp -|v255|, -|v255| clamp row_xmask:15 row_mask:0x3 bank_mask:0x0 fi:1 ; encoding: [0x7e,0x83,0x82,0xd4,0xfa,0xfe,0x03,0x60,0xff,0x6f,0x05,0x30]
138+
v_cmpx_eq_f16_e64_dpp -|v255.l|, -|v255.l| clamp row_xmask:15 row_mask:0x3 bank_mask:0x0 bound_ctrl:0 fi:1
139+
// GFX11: v_cmpx_eq_f16_e64_dpp -|v255.l|, -|v255.l| clamp row_xmask:15 row_mask:0x3 bank_mask:0x0 fi:1 ; encoding: [0x7e,0x83,0x82,0xd4,0xfa,0xfe,0x03,0x60,0xff,0x6f,0x05,0x30]
140+
141+
v_cmpx_eq_f16_e64_dpp |v1.h|, -v2.h row_share:15 row_mask:0x0 bank_mask:0x1
142+
// GFX11: v_cmpx_eq_f16_e64_dpp |v1.h|, -v2.h op_sel:[1,1] row_share:15 row_mask:0x0 bank_mask:0x1 ; encoding: [0x7e,0x19,0x82,0xd4,0xfa,0x04,0x02,0x40,0x01,0x5f,0x01,0x01]
143+
144+
v_cmpx_eq_f16_e64_dpp -v1.h, |v2.l| row_xmask:0 row_mask:0x1 bank_mask:0x3 bound_ctrl:1 fi:0
145+
// GFX11: v_cmpx_eq_f16_e64_dpp -v1.h, |v2.l| op_sel:[1,0] row_xmask:0 row_mask:0x1 bank_mask:0x3 bound_ctrl:1 ; encoding: [0x7e,0x0a,0x82,0xd4,0xfa,0x04,0x02,0x20,0x01,0x60,0x09,0x13]
146+
147+
v_cmpx_eq_f16_e64_dpp -|v255.l|, -|v255.h| clamp row_xmask:15 row_mask:0x3 bank_mask:0x0 bound_ctrl:0 fi:1
148+
// GFX11: v_cmpx_eq_f16_e64_dpp -|v255.l|, -|v255.h| op_sel:[0,1] clamp row_xmask:15 row_mask:0x3 bank_mask:0x0 fi:1 ; encoding: [0x7e,0x93,0x82,0xd4,0xfa,0xfe,0x03,0x60,0xff,0x6f,0x05,0x30]
140149

141150
v_cmpx_eq_f32_e64_dpp v1, v2 quad_perm:[3,2,1,0]
142151
// GFX11: v_cmpx_eq_f32_e64_dpp v1, v2 quad_perm:[3,2,1,0] row_mask:0xf bank_mask:0xf ; encoding: [0x7e,0x00,0x92,0xd4,0xfa,0x04,0x02,0x00,0x01,0x1b,0x00,0xff]

llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp8_from_vopcx.s

Lines changed: 17 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -29,17 +29,26 @@ v_cmpx_class_f32_e64_dpp v1, v2 dpp8:[7,6,5,4,3,2,1,0] fi:1
2929
v_cmpx_class_f32_e64_dpp -|v255|, v255 dpp8:[0,0,0,0,0,0,0,0] fi:0
3030
// GFX11: v_cmpx_class_f32_e64_dpp -|v255|, v255 dpp8:[0,0,0,0,0,0,0,0] ; encoding: [0x7e,0x01,0xfe,0xd4,0xe9,0xfe,0x03,0x20,0xff,0x00,0x00,0x00]
3131

32-
v_cmpx_eq_f16_e64_dpp v1, v2 dpp8:[7,6,5,4,3,2,1,0]
33-
// GFX11: v_cmpx_eq_f16_e64_dpp v1, v2 dpp8:[7,6,5,4,3,2,1,0] ; encoding: [0x7e,0x00,0x82,0xd4,0xe9,0x04,0x02,0x00,0x01,0x77,0x39,0x05]
32+
v_cmpx_eq_f16_e64_dpp v1.l, v2.l dpp8:[7,6,5,4,3,2,1,0]
33+
// GFX11: v_cmpx_eq_f16_e64_dpp v1.l, v2.l dpp8:[7,6,5,4,3,2,1,0] ; encoding: [0x7e,0x00,0x82,0xd4,0xe9,0x04,0x02,0x00,0x01,0x77,0x39,0x05]
3434

35-
v_cmpx_eq_f16_e64_dpp |v1|, -v2 dpp8:[7,6,5,4,3,2,1,0]
36-
// GFX11: v_cmpx_eq_f16_e64_dpp |v1|, -v2 dpp8:[7,6,5,4,3,2,1,0] ; encoding: [0x7e,0x01,0x82,0xd4,0xe9,0x04,0x02,0x40,0x01,0x77,0x39,0x05]
35+
v_cmpx_eq_f16_e64_dpp |v1.l|, -v2.l dpp8:[7,6,5,4,3,2,1,0]
36+
// GFX11: v_cmpx_eq_f16_e64_dpp |v1.l|, -v2.l dpp8:[7,6,5,4,3,2,1,0] ; encoding: [0x7e,0x01,0x82,0xd4,0xe9,0x04,0x02,0x40,0x01,0x77,0x39,0x05]
3737

38-
v_cmpx_eq_f16_e64_dpp -v1, |v2| dpp8:[7,6,5,4,3,2,1,0] fi:1
39-
// GFX11: v_cmpx_eq_f16_e64_dpp -v1, |v2| dpp8:[7,6,5,4,3,2,1,0] fi:1 ; encoding: [0x7e,0x02,0x82,0xd4,0xea,0x04,0x02,0x20,0x01,0x77,0x39,0x05]
38+
v_cmpx_eq_f16_e64_dpp -v1.l, |v2.l| dpp8:[7,6,5,4,3,2,1,0] fi:1
39+
// GFX11: v_cmpx_eq_f16_e64_dpp -v1.l, |v2.l| dpp8:[7,6,5,4,3,2,1,0] fi:1 ; encoding: [0x7e,0x02,0x82,0xd4,0xea,0x04,0x02,0x20,0x01,0x77,0x39,0x05]
4040

41-
v_cmpx_eq_f16_e64_dpp -|v255|, -|v255| clamp dpp8:[0,0,0,0,0,0,0,0] fi:0
42-
// GFX11: v_cmpx_eq_f16_e64_dpp -|v255|, -|v255| clamp dpp8:[0,0,0,0,0,0,0,0] ; encoding: [0x7e,0x83,0x82,0xd4,0xe9,0xfe,0x03,0x60,0xff,0x00,0x00,0x00]
41+
v_cmpx_eq_f16_e64_dpp -|v255.l|, -|v255.l| clamp dpp8:[0,0,0,0,0,0,0,0] fi:0
42+
// GFX11: v_cmpx_eq_f16_e64_dpp -|v255.l|, -|v255.l| clamp dpp8:[0,0,0,0,0,0,0,0] ; encoding: [0x7e,0x83,0x82,0xd4,0xe9,0xfe,0x03,0x60,0xff,0x00,0x00,0x00]
43+
44+
v_cmpx_eq_f16_e64_dpp |v1.h|, -v2.h dpp8:[7,6,5,4,3,2,1,0]
45+
// GFX11: v_cmpx_eq_f16_e64_dpp |v1.h|, -v2.h op_sel:[1,1] dpp8:[7,6,5,4,3,2,1,0] ; encoding: [0x7e,0x19,0x82,0xd4,0xe9,0x04,0x02,0x40,0x01,0x77,0x39,0x05]
46+
47+
v_cmpx_eq_f16_e64_dpp -v1.h, |v2.l| dpp8:[7,6,5,4,3,2,1,0] fi:1
48+
// GFX11: v_cmpx_eq_f16_e64_dpp -v1.h, |v2.l| op_sel:[1,0] dpp8:[7,6,5,4,3,2,1,0] fi:1 ; encoding: [0x7e,0x0a,0x82,0xd4,0xea,0x04,0x02,0x20,0x01,0x77,0x39,0x05]
49+
50+
v_cmpx_eq_f16_e64_dpp -|v255.l|, -|v255.h| clamp dpp8:[0,0,0,0,0,0,0,0] fi:0
51+
// GFX11: v_cmpx_eq_f16_e64_dpp -|v255.l|, -|v255.h| op_sel:[0,1] clamp dpp8:[0,0,0,0,0,0,0,0] ; encoding: [0x7e,0x93,0x82,0xd4,0xe9,0xfe,0x03,0x60,0xff,0x00,0x00,0x00]
4352

4453
v_cmpx_eq_f32_e64_dpp v1, v2 dpp8:[7,6,5,4,3,2,1,0]
4554
// GFX11: v_cmpx_eq_f32_e64_dpp v1, v2 dpp8:[7,6,5,4,3,2,1,0] ; encoding: [0x7e,0x00,0x92,0xd4,0xe9,0x04,0x02,0x00,0x01,0x77,0x39,0x05]

llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vopcx.s

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -149,11 +149,11 @@ v_cmpx_class_f64_e64 -|src_scc|, src_scc
149149
v_cmpx_class_f64_e64 0xaf123456, 0xaf123456
150150
// GFX11: v_cmpx_class_f64_e64 0xaf123456, 0xaf123456 ; encoding: [0x7e,0x00,0xff,0xd4,0xff,0xfe,0x01,0x00,0x56,0x34,0x12,0xaf]
151151

152-
v_cmpx_eq_f16_e64 v1, v2
153-
// GFX11: v_cmpx_eq_f16_e64 v1, v2 ; encoding: [0x7e,0x00,0x82,0xd4,0x01,0x05,0x02,0x00]
152+
v_cmpx_eq_f16_e64 v1.l, v2.l
153+
// GFX11: v_cmpx_eq_f16_e64 v1.l, v2.l ; encoding: [0x7e,0x00,0x82,0xd4,0x01,0x05,0x02,0x00]
154154

155-
v_cmpx_eq_f16_e64 v255, v255
156-
// GFX11: v_cmpx_eq_f16_e64 v255, v255 ; encoding: [0x7e,0x00,0x82,0xd4,0xff,0xff,0x03,0x00]
155+
v_cmpx_eq_f16_e64 v255.l, v255.l
156+
// GFX11: v_cmpx_eq_f16_e64 v255.l, v255.l ; encoding: [0x7e,0x00,0x82,0xd4,0xff,0xff,0x03,0x00]
157157

158158
v_cmpx_eq_f16_e64 s1, s2
159159
// GFX11: v_cmpx_eq_f16_e64 s1, s2 ; encoding: [0x7e,0x00,0x82,0xd4,0x01,0x04,0x00,0x00]
@@ -194,6 +194,12 @@ v_cmpx_eq_f16_e64 -src_scc, |vcc_lo|
194194
v_cmpx_eq_f16_e64 -|0xfe0b|, -|vcc_hi| clamp
195195
// GFX11: v_cmpx_eq_f16_e64 -|0xfe0b|, -|vcc_hi| clamp ; encoding: [0x7e,0x83,0x82,0xd4,0xff,0xd6,0x00,0x60,0x0b,0xfe,0x00,0x00]
196196

197+
v_cmpx_eq_f16_e64 v1.h, v2.l
198+
// GFX11: v_cmpx_eq_f16_e64 v1.h, v2.l ; encoding: [0x7e,0x08,0x82,0xd4,0x01,0x05,0x02,0x00]
199+
200+
v_cmpx_eq_f16_e64 v255.l, v255.h
201+
// GFX11: v_cmpx_eq_f16_e64 v255.l, v255.h ; encoding: [0x7e,0x10,0x82,0xd4,0xff,0xff,0x03,0x00]
202+
197203
v_cmpx_eq_f32_e64 v1, v2
198204
// GFX11: v_cmpx_eq_f32_e64 v1, v2 ; encoding: [0x7e,0x00,0x92,0xd4,0x01,0x05,0x02,0x00]
199205

llvm/test/MC/AMDGPU/gfx11_asm_vopcx.s

Lines changed: 45 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -143,50 +143,65 @@ v_cmpx_class_f64 src_scc, v2
143143
v_cmpx_class_f64 0xaf123456, v255
144144
// GFX11: v_cmpx_class_f64_e32 0xaf123456, v255 ; encoding: [0xff,0xfe,0xff,0x7d,0x56,0x34,0x12,0xaf]
145145

146-
v_cmpx_eq_f16 v1, v2
147-
// GFX11: v_cmpx_eq_f16_e32 v1, v2 ; encoding: [0x01,0x05,0x04,0x7d]
146+
v_cmpx_eq_f16 v1.l, v2.l
147+
// GFX11: v_cmpx_eq_f16_e32 v1.l, v2.l ; encoding: [0x01,0x05,0x04,0x7d]
148148

149-
v_cmpx_eq_f16 v127, v2
150-
// GFX11: v_cmpx_eq_f16_e32 v127, v2 ; encoding: [0x7f,0x05,0x04,0x7d]
149+
v_cmpx_eq_f16 v127.l, v2.l
150+
// GFX11: v_cmpx_eq_f16_e32 v127.l, v2.l ; encoding: [0x7f,0x05,0x04,0x7d]
151151

152-
v_cmpx_eq_f16 s1, v2
153-
// GFX11: v_cmpx_eq_f16_e32 s1, v2 ; encoding: [0x01,0x04,0x04,0x7d]
152+
v_cmpx_eq_f16 s1, v2.l
153+
// GFX11: v_cmpx_eq_f16_e32 s1, v2.l ; encoding: [0x01,0x04,0x04,0x7d]
154154

155-
v_cmpx_eq_f16 s105, v2
156-
// GFX11: v_cmpx_eq_f16_e32 s105, v2 ; encoding: [0x69,0x04,0x04,0x7d]
155+
v_cmpx_eq_f16 s105, v2.l
156+
// GFX11: v_cmpx_eq_f16_e32 s105, v2.l ; encoding: [0x69,0x04,0x04,0x7d]
157157

158-
v_cmpx_eq_f16 vcc_lo, v2
159-
// GFX11: v_cmpx_eq_f16_e32 vcc_lo, v2 ; encoding: [0x6a,0x04,0x04,0x7d]
158+
v_cmpx_eq_f16 vcc_lo, v2.l
159+
// GFX11: v_cmpx_eq_f16_e32 vcc_lo, v2.l ; encoding: [0x6a,0x04,0x04,0x7d]
160160

161-
v_cmpx_eq_f16 vcc_hi, v2
162-
// GFX11: v_cmpx_eq_f16_e32 vcc_hi, v2 ; encoding: [0x6b,0x04,0x04,0x7d]
161+
v_cmpx_eq_f16 vcc_hi, v2.l
162+
// GFX11: v_cmpx_eq_f16_e32 vcc_hi, v2.l ; encoding: [0x6b,0x04,0x04,0x7d]
163163

164-
v_cmpx_eq_f16 ttmp15, v2
165-
// GFX11: v_cmpx_eq_f16_e32 ttmp15, v2 ; encoding: [0x7b,0x04,0x04,0x7d]
164+
v_cmpx_eq_f16 ttmp15, v2.l
165+
// GFX11: v_cmpx_eq_f16_e32 ttmp15, v2.l ; encoding: [0x7b,0x04,0x04,0x7d]
166166

167-
v_cmpx_eq_f16 m0, v2
168-
// GFX11: v_cmpx_eq_f16_e32 m0, v2 ; encoding: [0x7d,0x04,0x04,0x7d]
167+
v_cmpx_eq_f16 m0, v2.l
168+
// GFX11: v_cmpx_eq_f16_e32 m0, v2.l ; encoding: [0x7d,0x04,0x04,0x7d]
169169

170-
v_cmpx_eq_f16 exec_lo, v2
171-
// GFX11: v_cmpx_eq_f16_e32 exec_lo, v2 ; encoding: [0x7e,0x04,0x04,0x7d]
170+
v_cmpx_eq_f16 exec_lo, v2.l
171+
// GFX11: v_cmpx_eq_f16_e32 exec_lo, v2.l ; encoding: [0x7e,0x04,0x04,0x7d]
172172

173-
v_cmpx_eq_f16 exec_hi, v2
174-
// GFX11: v_cmpx_eq_f16_e32 exec_hi, v2 ; encoding: [0x7f,0x04,0x04,0x7d]
173+
v_cmpx_eq_f16 exec_hi, v2.l
174+
// GFX11: v_cmpx_eq_f16_e32 exec_hi, v2.l ; encoding: [0x7f,0x04,0x04,0x7d]
175175

176-
v_cmpx_eq_f16 null, v2
177-
// GFX11: v_cmpx_eq_f16_e32 null, v2 ; encoding: [0x7c,0x04,0x04,0x7d]
176+
v_cmpx_eq_f16 null, v2.l
177+
// GFX11: v_cmpx_eq_f16_e32 null, v2.l ; encoding: [0x7c,0x04,0x04,0x7d]
178178

179-
v_cmpx_eq_f16 -1, v2
180-
// GFX11: v_cmpx_eq_f16_e32 -1, v2 ; encoding: [0xc1,0x04,0x04,0x7d]
179+
v_cmpx_eq_f16 -1, v2.l
180+
// GFX11: v_cmpx_eq_f16_e32 -1, v2.l ; encoding: [0xc1,0x04,0x04,0x7d]
181181

182-
v_cmpx_eq_f16 0.5, v2
183-
// GFX11: v_cmpx_eq_f16_e32 0.5, v2 ; encoding: [0xf0,0x04,0x04,0x7d]
182+
v_cmpx_eq_f16 0.5, v2.l
183+
// GFX11: v_cmpx_eq_f16_e32 0.5, v2.l ; encoding: [0xf0,0x04,0x04,0x7d]
184184

185-
v_cmpx_eq_f16 src_scc, v2
186-
// GFX11: v_cmpx_eq_f16_e32 src_scc, v2 ; encoding: [0xfd,0x04,0x04,0x7d]
185+
v_cmpx_eq_f16 src_scc, v2.l
186+
// GFX11: v_cmpx_eq_f16_e32 src_scc, v2.l ; encoding: [0xfd,0x04,0x04,0x7d]
187187

188-
v_cmpx_eq_f16 0xfe0b, v127
189-
// GFX11: v_cmpx_eq_f16_e32 0xfe0b, v127 ; encoding: [0xff,0xfe,0x04,0x7d,0x0b,0xfe,0x00,0x00]
188+
v_cmpx_eq_f16 0xfe0b, v127.l
189+
// GFX11: v_cmpx_eq_f16_e32 0xfe0b, v127.l ; encoding: [0xff,0xfe,0x04,0x7d,0x0b,0xfe,0x00,0x00]
190+
191+
v_cmpx_eq_f16 v1.h, v2.l
192+
// GFX11: v_cmpx_eq_f16_e32 v1.h, v2.l ; encoding: [0x81,0x05,0x04,0x7d]
193+
194+
v_cmpx_eq_f16 v127.h, v2.l
195+
// GFX11: v_cmpx_eq_f16_e32 v127.h, v2.l ; encoding: [0xff,0x05,0x04,0x7d]
196+
197+
v_cmpx_eq_f16 0.5, v127.l
198+
// GFX11: v_cmpx_eq_f16_e32 0.5, v127.l ; encoding: [0xf0,0xfe,0x04,0x7d]
199+
200+
v_cmpx_eq_f16 src_scc, v2.h
201+
// GFX11: v_cmpx_eq_f16_e32 src_scc, v2.h ; encoding: [0xfd,0x04,0x05,0x7d]
202+
203+
v_cmpx_eq_f16 0xfe0b, v127.h
204+
// GFX11: v_cmpx_eq_f16_e32 0xfe0b, v127.h ; encoding: [0xff,0xfe,0x05,0x7d,0x0b,0xfe,0x00,0x00]
190205

191206
v_cmpx_eq_f32 v1, v2
192207
// GFX11: v_cmpx_eq_f32_e32 v1, v2 ; encoding: [0x01,0x05,0x24,0x7d]

0 commit comments

Comments
 (0)