[llvm] [AMDGPU][True16][MC] true16 for v_cmpx_lt_f16 (PR #122936)

Joe Nash via llvm-commits llvm-commits at lists.llvm.org
Thu Jan 16 11:50:56 PST 2025


================
@@ -2057,49 +2057,104 @@
 # GFX11: v_cmpx_lg_f64_e32 0xaf123456, v[254:255] ; encoding: [0xff,0xfc,0x4b,0x7d,0x56,0x34,0x12,0xaf]
 
 0x01,0x05,0x02,0x7d
-# GFX11: v_cmpx_lt_f16_e32 v1, v2                ; encoding: [0x01,0x05,0x02,0x7d]
+# GFX11-REAL16: v_cmpx_lt_f16_e32 v1.l, v2.l            ; encoding: [0x01,0x05,0x02,0x7d]
+# GFX11-FAKE16: v_cmpx_lt_f16_e32 v1, v2                ; encoding: [0x01,0x05,0x02,0x7d]
 
 0x7f,0x05,0x02,0x7d
-# GFX11: v_cmpx_lt_f16_e32 v127, v2              ; encoding: [0x7f,0x05,0x02,0x7d]
+# GFX11-REAL16: v_cmpx_lt_f16_e32 v127.l, v2.l          ; encoding: [0x7f,0x05,0x02,0x7d]
+# GFX11-FAKE16: v_cmpx_lt_f16_e32 v127, v2              ; encoding: [0x7f,0x05,0x02,0x7d]
 
 0x01,0x04,0x02,0x7d
-# GFX11: v_cmpx_lt_f16_e32 s1, v2                ; encoding: [0x01,0x04,0x02,0x7d]
+# GFX11-REAL16: v_cmpx_lt_f16_e32 s1, v2.l              ; encoding: [0x01,0x04,0x02,0x7d]
+# GFX11-FAKE16: v_cmpx_lt_f16_e32 s1, v2                ; encoding: [0x01,0x04,0x02,0x7d]
 
 0x69,0x04,0x02,0x7d
-# GFX11: v_cmpx_lt_f16_e32 s105, v2              ; encoding: [0x69,0x04,0x02,0x7d]
+# GFX11-REAL16: v_cmpx_lt_f16_e32 s105, v2.l            ; encoding: [0x69,0x04,0x02,0x7d]
+# GFX11-FAKE16: v_cmpx_lt_f16_e32 s105, v2              ; encoding: [0x69,0x04,0x02,0x7d]
 
 0x6a,0x04,0x02,0x7d
-# GFX11: v_cmpx_lt_f16_e32 vcc_lo, v2            ; encoding: [0x6a,0x04,0x02,0x7d]
+# GFX11-REAL16: v_cmpx_lt_f16_e32 vcc_lo, v2.l          ; encoding: [0x6a,0x04,0x02,0x7d]
+# GFX11-FAKE16: v_cmpx_lt_f16_e32 vcc_lo, v2            ; encoding: [0x6a,0x04,0x02,0x7d]
 
 0x6b,0x04,0x02,0x7d
-# GFX11: v_cmpx_lt_f16_e32 vcc_hi, v2            ; encoding: [0x6b,0x04,0x02,0x7d]
+# GFX11-REAL16: v_cmpx_lt_f16_e32 vcc_hi, v2.l          ; encoding: [0x6b,0x04,0x02,0x7d]
+# GFX11-FAKE16: v_cmpx_lt_f16_e32 vcc_hi, v2            ; encoding: [0x6b,0x04,0x02,0x7d]
 
 0x7b,0x04,0x02,0x7d
-# GFX11: v_cmpx_lt_f16_e32 ttmp15, v2            ; encoding: [0x7b,0x04,0x02,0x7d]
+# GFX11-REAL16: v_cmpx_lt_f16_e32 ttmp15, v2.l          ; encoding: [0x7b,0x04,0x02,0x7d]
+# GFX11-FAKE16: v_cmpx_lt_f16_e32 ttmp15, v2            ; encoding: [0x7b,0x04,0x02,0x7d]
 
 0x7d,0x04,0x02,0x7d
-# GFX11: v_cmpx_lt_f16_e32 m0, v2                ; encoding: [0x7d,0x04,0x02,0x7d]
+# GFX11-REAL16: v_cmpx_lt_f16_e32 m0, v2.l              ; encoding: [0x7d,0x04,0x02,0x7d]
+# GFX11-FAKE16: v_cmpx_lt_f16_e32 m0, v2                ; encoding: [0x7d,0x04,0x02,0x7d]
 
 0x7e,0x04,0x02,0x7d
-# GFX11: v_cmpx_lt_f16_e32 exec_lo, v2           ; encoding: [0x7e,0x04,0x02,0x7d]
+# GFX11-REAL16: v_cmpx_lt_f16_e32 exec_lo, v2.l         ; encoding: [0x7e,0x04,0x02,0x7d]
+# GFX11-FAKE16: v_cmpx_lt_f16_e32 exec_lo, v2           ; encoding: [0x7e,0x04,0x02,0x7d]
 
 0x7f,0x04,0x02,0x7d
-# GFX11: v_cmpx_lt_f16_e32 exec_hi, v2           ; encoding: [0x7f,0x04,0x02,0x7d]
+# GFX11-REAL16: v_cmpx_lt_f16_e32 exec_hi, v2.l         ; encoding: [0x7f,0x04,0x02,0x7d]
+# GFX11-FAKE16: v_cmpx_lt_f16_e32 exec_hi, v2           ; encoding: [0x7f,0x04,0x02,0x7d]
 
 0x7c,0x04,0x02,0x7d
-# GFX11: v_cmpx_lt_f16_e32 null, v2              ; encoding: [0x7c,0x04,0x02,0x7d]
+# GFX11-REAL16: v_cmpx_lt_f16_e32 null, v2.l            ; encoding: [0x7c,0x04,0x02,0x7d]
+# GFX11-FAKE16: v_cmpx_lt_f16_e32 null, v2              ; encoding: [0x7c,0x04,0x02,0x7d]
 
 0xc1,0x04,0x02,0x7d
-# GFX11: v_cmpx_lt_f16_e32 -1, v2                ; encoding: [0xc1,0x04,0x02,0x7d]
+# GFX11-REAL16: v_cmpx_lt_f16_e32 -1, v2.l              ; encoding: [0xc1,0x04,0x02,0x7d]
+# GFX11-FAKE16: v_cmpx_lt_f16_e32 -1, v2                ; encoding: [0xc1,0x04,0x02,0x7d]
 
 0xf0,0x04,0x02,0x7d
-# GFX11: v_cmpx_lt_f16_e32 0.5, v2               ; encoding: [0xf0,0x04,0x02,0x7d]
+# GFX11-REAL16: v_cmpx_lt_f16_e32 0.5, v2.l             ; encoding: [0xf0,0x04,0x02,0x7d]
+# GFX11-FAKE16: v_cmpx_lt_f16_e32 0.5, v2               ; encoding: [0xf0,0x04,0x02,0x7d]
 
 0xfd,0x04,0x02,0x7d
-# GFX11: v_cmpx_lt_f16_e32 src_scc, v2           ; encoding: [0xfd,0x04,0x02,0x7d]
+# GFX11-REAL16: v_cmpx_lt_f16_e32 src_scc, v2.l         ; encoding: [0xfd,0x04,0x02,0x7d]
+# GFX11-FAKE16: v_cmpx_lt_f16_e32 src_scc, v2           ; encoding: [0xfd,0x04,0x02,0x7d]
 
 0xff,0xfe,0x02,0x7d,0x0b,0xfe,0x00,0x00
-# GFX11: v_cmpx_lt_f16_e32 0xfe0b, v127          ; encoding: [0xff,0xfe,0x02,0x7d,0x0b,0xfe,0x00,0x00]
+# GFX11-REAL16: v_cmpx_lt_f16_e32 0xfe0b, v127.l        ; encoding: [0xff,0xfe,0x02,0x7d,0x0b,0xfe,0x00,0x00]
+# GFX11-FAKE16: v_cmpx_lt_f16_e32 0xfe0b, v127          ; encoding: [0xff,0xfe,0x02,0x7d,0x0b,0xfe,0x00,0x00]
+
+0x81,0x05,0x02,0x7d
+# GFX11-REAL16: v_cmpx_lt_f16_e32 v1.h, v2.l            ; encoding: [0x81,0x05,0x02,0x7d]
+# GFX11-FAKE16: v_cmpx_lt_f16_e32 v129/*Invalid register, operand has 'VS_32_Lo128' register class*/, v2 ; encoding: [0x81,0x05,0x02,0x7d]
+# W32-REAL16: v_cmpx_lt_f16_e32 v1.h, v2.l            ; encoding: [0x81,0x05,0x02,0x7d]
----------------
Sisyph wrote:

Shouldn't have W32 checks based on the Runlines, check the other disassembler files too.

https://github.com/llvm/llvm-project/pull/122936


More information about the llvm-commits mailing list