-
Notifications
You must be signed in to change notification settings - Fork 14.3k
[AMDGPU][True16][MC] update mc test of a few vop1 t16 inst #135588
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
broxigarchen
merged 2 commits into
llvm:main
from
broxigarchen:main-merge-true16-mc-clean-up-3
May 6, 2025
Merged
[AMDGPU][True16][MC] update mc test of a few vop1 t16 inst #135588
broxigarchen
merged 2 commits into
llvm:main
from
broxigarchen:main-merge-true16-mc-clean-up-3
May 6, 2025
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
cf2e496
to
f1181cf
Compare
@llvm/pr-subscribers-mc @llvm/pr-subscribers-backend-amdgpu Author: Brox Chen (broxigarchen) ChangesPatch is 353.07 KiB, truncated to 20.00 KiB below, full version: https://github.com/llvm/llvm-project/pull/135588.diff 10 Files Affected:
diff --git a/llvm/test/MC/AMDGPU/gfx11_asm_vop1_t16_promote.s b/llvm/test/MC/AMDGPU/gfx11_asm_vop1_t16_promote.s
index 5cb81c640f413..6facd4dca01bf 100644
--- a/llvm/test/MC/AMDGPU/gfx11_asm_vop1_t16_promote.s
+++ b/llvm/test/MC/AMDGPU/gfx11_asm_vop1_t16_promote.s
@@ -2,71 +2,137 @@
// RUN: llvm-mc -triple=amdgcn -mcpu=gfx1100 -mattr=+wavefrontsize32,+real-true16 -show-encoding %s | FileCheck --check-prefix=GFX11 --implicit-check-not=_e32 %s
// RUN: llvm-mc -triple=amdgcn -mcpu=gfx1100 -mattr=+wavefrontsize64,+real-true16 -show-encoding %s | FileCheck --check-prefix=GFX11 --implicit-check-not=_e32 %s
-v_ceil_f16 v128, 0xfe0b
-// GFX11: v_ceil_f16_e64 v128, 0xfe0b ; encoding: [0x80,0x00,0xdc,0xd5,0xff,0x00,0x00,0x00,0x0b,0xfe,0x00,0x00]
+v_ceil_f16 v128.h, 0xfe0b
+// GFX11: v_ceil_f16_e64 v128.h, 0xfe0b op_sel:[0,1] ; encoding: [0x80,0x40,0xdc,0xd5,0xff,0x00,0x00,0x00,0x0b,0xfe,0x00,0x00]
-v_ceil_f16 v255, -1
-// GFX11: v_ceil_f16_e64 v255, -1 ; encoding: [0xff,0x00,0xdc,0xd5,0xc1,0x00,0x00,0x00]
+v_ceil_f16 v128.l, 0xfe0b
+// GFX11: v_ceil_f16_e64 v128.l, 0xfe0b ; encoding: [0x80,0x00,0xdc,0xd5,0xff,0x00,0x00,0x00,0x0b,0xfe,0x00,0x00]
-v_ceil_f16 v255, 0.5
-// GFX11: v_ceil_f16_e64 v255, 0.5 ; encoding: [0xff,0x00,0xdc,0xd5,0xf0,0x00,0x00,0x00]
+v_ceil_f16 v255.h, -1
+// GFX11: v_ceil_f16_e64 v255.h, -1 op_sel:[0,1] ; encoding: [0xff,0x40,0xdc,0xd5,0xc1,0x00,0x00,0x00]
-v_ceil_f16 v255, exec_hi
-// GFX11: v_ceil_f16_e64 v255, exec_hi ; encoding: [0xff,0x00,0xdc,0xd5,0x7f,0x00,0x00,0x00]
+v_ceil_f16 v255.h, 0.5
+// GFX11: v_ceil_f16_e64 v255.h, 0.5 op_sel:[0,1] ; encoding: [0xff,0x40,0xdc,0xd5,0xf0,0x00,0x00,0x00]
-v_ceil_f16 v255, exec_lo
-// GFX11: v_ceil_f16_e64 v255, exec_lo ; encoding: [0xff,0x00,0xdc,0xd5,0x7e,0x00,0x00,0x00]
+v_ceil_f16 v255.h, exec_hi
+// GFX11: v_ceil_f16_e64 v255.h, exec_hi op_sel:[0,1] ; encoding: [0xff,0x40,0xdc,0xd5,0x7f,0x00,0x00,0x00]
-v_ceil_f16 v255, m0
-// GFX11: v_ceil_f16_e64 v255, m0 ; encoding: [0xff,0x00,0xdc,0xd5,0x7d,0x00,0x00,0x00]
+v_ceil_f16 v255.h, exec_lo
+// GFX11: v_ceil_f16_e64 v255.h, exec_lo op_sel:[0,1] ; encoding: [0xff,0x40,0xdc,0xd5,0x7e,0x00,0x00,0x00]
-v_ceil_f16 v255, null
-// GFX11: v_ceil_f16_e64 v255, null ; encoding: [0xff,0x00,0xdc,0xd5,0x7c,0x00,0x00,0x00]
+v_ceil_f16 v255.h, m0
+// GFX11: v_ceil_f16_e64 v255.h, m0 op_sel:[0,1] ; encoding: [0xff,0x40,0xdc,0xd5,0x7d,0x00,0x00,0x00]
-v_ceil_f16 v255, s1
-// GFX11: v_ceil_f16_e64 v255, s1 ; encoding: [0xff,0x00,0xdc,0xd5,0x01,0x00,0x00,0x00]
+v_ceil_f16 v255.h, null
+// GFX11: v_ceil_f16_e64 v255.h, null op_sel:[0,1] ; encoding: [0xff,0x40,0xdc,0xd5,0x7c,0x00,0x00,0x00]
-v_ceil_f16 v255, s105
-// GFX11: v_ceil_f16_e64 v255, s105 ; encoding: [0xff,0x00,0xdc,0xd5,0x69,0x00,0x00,0x00]
+v_ceil_f16 v255.h, s1
+// GFX11: v_ceil_f16_e64 v255.h, s1 op_sel:[0,1] ; encoding: [0xff,0x40,0xdc,0xd5,0x01,0x00,0x00,0x00]
-v_ceil_f16 v255, src_scc
-// GFX11: v_ceil_f16_e64 v255, src_scc ; encoding: [0xff,0x00,0xdc,0xd5,0xfd,0x00,0x00,0x00]
+v_ceil_f16 v255.h, s105
+// GFX11: v_ceil_f16_e64 v255.h, s105 op_sel:[0,1] ; encoding: [0xff,0x40,0xdc,0xd5,0x69,0x00,0x00,0x00]
-v_ceil_f16 v255, ttmp15
-// GFX11: v_ceil_f16_e64 v255, ttmp15 ; encoding: [0xff,0x00,0xdc,0xd5,0x7b,0x00,0x00,0x00]
+v_ceil_f16 v255.h, src_scc
+// GFX11: v_ceil_f16_e64 v255.h, src_scc op_sel:[0,1] ; encoding: [0xff,0x40,0xdc,0xd5,0xfd,0x00,0x00,0x00]
-v_ceil_f16 v255, v1
-// GFX11: v_ceil_f16_e64 v255, v1 ; encoding: [0xff,0x00,0xdc,0xd5,0x01,0x01,0x00,0x00]
+v_ceil_f16 v255.h, ttmp15
+// GFX11: v_ceil_f16_e64 v255.h, ttmp15 op_sel:[0,1] ; encoding: [0xff,0x40,0xdc,0xd5,0x7b,0x00,0x00,0x00]
-v_ceil_f16 v255, v1 dpp8:[7,6,5,4,3,2,1,0]
-// GFX11: v_ceil_f16_e64_dpp v255, v1 dpp8:[7,6,5,4,3,2,1,0] ; encoding: [0xff,0x00,0xdc,0xd5,0xe9,0x00,0x00,0x00,0x01,0x77,0x39,0x05]
+v_ceil_f16 v255.h, v1.h
+// GFX11: v_ceil_f16_e64 v255.h, v1.h op_sel:[1,1] ; encoding: [0xff,0x48,0xdc,0xd5,0x01,0x01,0x00,0x00]
-v_ceil_f16 v255, v1 quad_perm:[3,2,1,0]
-// GFX11: v_ceil_f16_e64_dpp v255, v1 quad_perm:[3,2,1,0] row_mask:0xf bank_mask:0xf ; encoding: [0xff,0x00,0xdc,0xd5,0xfa,0x00,0x00,0x00,0x01,0x1b,0x00,0xff]
+v_ceil_f16 v255.h, v1.h dpp8:[7,6,5,4,3,2,1,0]
+// GFX11: v_ceil_f16_e64_dpp v255.h, v1.h op_sel:[1,1] dpp8:[7,6,5,4,3,2,1,0] ; encoding: [0xff,0x48,0xdc,0xd5,0xe9,0x00,0x00,0x00,0x01,0x77,0x39,0x05]
-v_ceil_f16 v255, v127
-// GFX11: v_ceil_f16_e64 v255, v127 ; encoding: [0xff,0x00,0xdc,0xd5,0x7f,0x01,0x00,0x00]
+v_ceil_f16 v255.h, v1.h quad_perm:[3,2,1,0]
+// GFX11: v_ceil_f16_e64_dpp v255.h, v1.h op_sel:[1,1] quad_perm:[3,2,1,0] row_mask:0xf bank_mask:0xf ; encoding: [0xff,0x48,0xdc,0xd5,0xfa,0x00,0x00,0x00,0x01,0x1b,0x00,0xff]
-v_ceil_f16 v255, v127 dpp8:[7,6,5,4,3,2,1,0]
-// GFX11: v_ceil_f16_e64_dpp v255, v127 dpp8:[7,6,5,4,3,2,1,0] ; encoding: [0xff,0x00,0xdc,0xd5,0xe9,0x00,0x00,0x00,0x7f,0x77,0x39,0x05]
+v_ceil_f16 v255.h, v127.h
+// GFX11: v_ceil_f16_e64 v255.h, v127.h op_sel:[1,1] ; encoding: [0xff,0x48,0xdc,0xd5,0x7f,0x01,0x00,0x00]
-v_ceil_f16 v255, v127 quad_perm:[3,2,1,0]
-// GFX11: v_ceil_f16_e64_dpp v255, v127 quad_perm:[3,2,1,0] row_mask:0xf bank_mask:0xf ; encoding: [0xff,0x00,0xdc,0xd5,0xfa,0x00,0x00,0x00,0x7f,0x1b,0x00,0xff]
+v_ceil_f16 v255.h, v127.h dpp8:[7,6,5,4,3,2,1,0]
+// GFX11: v_ceil_f16_e64_dpp v255.h, v127.h op_sel:[1,1] dpp8:[7,6,5,4,3,2,1,0] ; encoding: [0xff,0x48,0xdc,0xd5,0xe9,0x00,0x00,0x00,0x7f,0x77,0x39,0x05]
-v_ceil_f16 v255, vcc_hi
-// GFX11: v_ceil_f16_e64 v255, vcc_hi ; encoding: [0xff,0x00,0xdc,0xd5,0x6b,0x00,0x00,0x00]
+v_ceil_f16 v255.h, v127.h quad_perm:[3,2,1,0]
+// GFX11: v_ceil_f16_e64_dpp v255.h, v127.h op_sel:[1,1] quad_perm:[3,2,1,0] row_mask:0xf bank_mask:0xf ; encoding: [0xff,0x48,0xdc,0xd5,0xfa,0x00,0x00,0x00,0x7f,0x1b,0x00,0xff]
-v_ceil_f16 v255, vcc_lo
-// GFX11: v_ceil_f16_e64 v255, vcc_lo ; encoding: [0xff,0x00,0xdc,0xd5,0x6a,0x00,0x00,0x00]
+v_ceil_f16 v255.h, vcc_hi
+// GFX11: v_ceil_f16_e64 v255.h, vcc_hi op_sel:[0,1] ; encoding: [0xff,0x40,0xdc,0xd5,0x6b,0x00,0x00,0x00]
-v_ceil_f16 v5, v199
-// GFX11: v_ceil_f16_e64 v5, v199 ; encoding: [0x05,0x00,0xdc,0xd5,0xc7,0x01,0x00,0x00]
+v_ceil_f16 v255.h, vcc_lo
+// GFX11: v_ceil_f16_e64 v255.h, vcc_lo op_sel:[0,1] ; encoding: [0xff,0x40,0xdc,0xd5,0x6a,0x00,0x00,0x00]
-v_ceil_f16 v5, v199 dpp8:[7,6,5,4,3,2,1,0]
-// GFX11: v_ceil_f16_e64_dpp v5, v199 dpp8:[7,6,5,4,3,2,1,0] ; encoding: [0x05,0x00,0xdc,0xd5,0xe9,0x00,0x00,0x00,0xc7,0x77,0x39,0x05]
+v_ceil_f16 v255.l, -1
+// GFX11: v_ceil_f16_e64 v255.l, -1 ; encoding: [0xff,0x00,0xdc,0xd5,0xc1,0x00,0x00,0x00]
-v_ceil_f16 v5, v199 quad_perm:[3,2,1,0]
-// GFX11: v_ceil_f16_e64_dpp v5, v199 quad_perm:[3,2,1,0] row_mask:0xf bank_mask:0xf ; encoding: [0x05,0x00,0xdc,0xd5,0xfa,0x00,0x00,0x00,0xc7,0x1b,0x00,0xff]
+v_ceil_f16 v255.l, 0.5
+// GFX11: v_ceil_f16_e64 v255.l, 0.5 ; encoding: [0xff,0x00,0xdc,0xd5,0xf0,0x00,0x00,0x00]
+
+v_ceil_f16 v255.l, exec_hi
+// GFX11: v_ceil_f16_e64 v255.l, exec_hi ; encoding: [0xff,0x00,0xdc,0xd5,0x7f,0x00,0x00,0x00]
+
+v_ceil_f16 v255.l, exec_lo
+// GFX11: v_ceil_f16_e64 v255.l, exec_lo ; encoding: [0xff,0x00,0xdc,0xd5,0x7e,0x00,0x00,0x00]
+
+v_ceil_f16 v255.l, m0
+// GFX11: v_ceil_f16_e64 v255.l, m0 ; encoding: [0xff,0x00,0xdc,0xd5,0x7d,0x00,0x00,0x00]
+
+v_ceil_f16 v255.l, null
+// GFX11: v_ceil_f16_e64 v255.l, null ; encoding: [0xff,0x00,0xdc,0xd5,0x7c,0x00,0x00,0x00]
+
+v_ceil_f16 v255.l, s1
+// GFX11: v_ceil_f16_e64 v255.l, s1 ; encoding: [0xff,0x00,0xdc,0xd5,0x01,0x00,0x00,0x00]
+
+v_ceil_f16 v255.l, s105
+// GFX11: v_ceil_f16_e64 v255.l, s105 ; encoding: [0xff,0x00,0xdc,0xd5,0x69,0x00,0x00,0x00]
+
+v_ceil_f16 v255.l, src_scc
+// GFX11: v_ceil_f16_e64 v255.l, src_scc ; encoding: [0xff,0x00,0xdc,0xd5,0xfd,0x00,0x00,0x00]
+
+v_ceil_f16 v255.l, ttmp15
+// GFX11: v_ceil_f16_e64 v255.l, ttmp15 ; encoding: [0xff,0x00,0xdc,0xd5,0x7b,0x00,0x00,0x00]
+
+v_ceil_f16 v255.l, v1.l
+// GFX11: v_ceil_f16_e64 v255.l, v1.l ; encoding: [0xff,0x00,0xdc,0xd5,0x01,0x01,0x00,0x00]
+
+v_ceil_f16 v255.l, v1.l dpp8:[7,6,5,4,3,2,1,0]
+// GFX11: v_ceil_f16_e64_dpp v255.l, v1.l dpp8:[7,6,5,4,3,2,1,0] ; encoding: [0xff,0x00,0xdc,0xd5,0xe9,0x00,0x00,0x00,0x01,0x77,0x39,0x05]
+
+v_ceil_f16 v255.l, v1.l quad_perm:[3,2,1,0]
+// GFX11: v_ceil_f16_e64_dpp v255.l, v1.l quad_perm:[3,2,1,0] row_mask:0xf bank_mask:0xf ; encoding: [0xff,0x00,0xdc,0xd5,0xfa,0x00,0x00,0x00,0x01,0x1b,0x00,0xff]
+
+v_ceil_f16 v255.l, v127.l
+// GFX11: v_ceil_f16_e64 v255.l, v127.l ; encoding: [0xff,0x00,0xdc,0xd5,0x7f,0x01,0x00,0x00]
+
+v_ceil_f16 v255.l, v127.l dpp8:[7,6,5,4,3,2,1,0]
+// GFX11: v_ceil_f16_e64_dpp v255.l, v127.l dpp8:[7,6,5,4,3,2,1,0] ; encoding: [0xff,0x00,0xdc,0xd5,0xe9,0x00,0x00,0x00,0x7f,0x77,0x39,0x05]
+
+v_ceil_f16 v255.l, v127.l quad_perm:[3,2,1,0]
+// GFX11: v_ceil_f16_e64_dpp v255.l, v127.l quad_perm:[3,2,1,0] row_mask:0xf bank_mask:0xf ; encoding: [0xff,0x00,0xdc,0xd5,0xfa,0x00,0x00,0x00,0x7f,0x1b,0x00,0xff]
+
+v_ceil_f16 v255.l, vcc_hi
+// GFX11: v_ceil_f16_e64 v255.l, vcc_hi ; encoding: [0xff,0x00,0xdc,0xd5,0x6b,0x00,0x00,0x00]
+
+v_ceil_f16 v255.l, vcc_lo
+// GFX11: v_ceil_f16_e64 v255.l, vcc_lo ; encoding: [0xff,0x00,0xdc,0xd5,0x6a,0x00,0x00,0x00]
+
+v_ceil_f16 v5.h, v199.h
+// GFX11: v_ceil_f16_e64 v5.h, v199.h op_sel:[1,1] ; encoding: [0x05,0x48,0xdc,0xd5,0xc7,0x01,0x00,0x00]
+
+v_ceil_f16 v5.h, v199.h dpp8:[7,6,5,4,3,2,1,0]
+// GFX11: v_ceil_f16_e64_dpp v5.h, v199.h op_sel:[1,1] dpp8:[7,6,5,4,3,2,1,0] ; encoding: [0x05,0x48,0xdc,0xd5,0xe9,0x00,0x00,0x00,0xc7,0x77,0x39,0x05]
+
+v_ceil_f16 v5.h, v199.h quad_perm:[3,2,1,0]
+// GFX11: v_ceil_f16_e64_dpp v5.h, v199.h op_sel:[1,1] quad_perm:[3,2,1,0] row_mask:0xf bank_mask:0xf ; encoding: [0x05,0x48,0xdc,0xd5,0xfa,0x00,0x00,0x00,0xc7,0x1b,0x00,0xff]
+
+v_ceil_f16 v5.l, v199.l
+// GFX11: v_ceil_f16_e64 v5.l, v199.l ; encoding: [0x05,0x00,0xdc,0xd5,0xc7,0x01,0x00,0x00]
+
+v_ceil_f16 v5.l, v199.l dpp8:[7,6,5,4,3,2,1,0]
+// GFX11: v_ceil_f16_e64_dpp v5.l, v199.l dpp8:[7,6,5,4,3,2,1,0] ; encoding: [0x05,0x00,0xdc,0xd5,0xe9,0x00,0x00,0x00,0xc7,0x77,0x39,0x05]
+
+v_ceil_f16 v5.l, v199.l quad_perm:[3,2,1,0]
+// GFX11: v_ceil_f16_e64_dpp v5.l, v199.l quad_perm:[3,2,1,0] row_mask:0xf bank_mask:0xf ; encoding: [0x05,0x00,0xdc,0xd5,0xfa,0x00,0x00,0x00,0xc7,0x1b,0x00,0xff]
v_cos_f16 v128.h, 0xfe0b
// GFX11: v_cos_f16_e64 v128.h, 0xfe0b op_sel:[0,1] ; encoding: [0x80,0x40,0xe1,0xd5,0xff,0x00,0x00,0x00,0x0b,0xfe,0x00,0x00]
@@ -1160,137 +1226,269 @@ v_cvt_u32_u16 v5, v199.l dpp8:[7,6,5,4,3,2,1,0]
v_cvt_u32_u16 v5, v199.l quad_perm:[3,2,1,0]
// GFX11: v_cvt_u32_u16_e64_dpp v5, v199.l quad_perm:[3,2,1,0] row_mask:0xf bank_mask:0xf ; encoding: [0x05,0x00,0xeb,0xd5,0xfa,0x00,0x00,0x00,0xc7,0x1b,0x00,0xff]
-v_exp_f16 v128, 0xfe0b
-// GFX11: v_exp_f16_e64 v128, 0xfe0b ; encoding: [0x80,0x00,0xd8,0xd5,0xff,0x00,0x00,0x00,0x0b,0xfe,0x00,0x00]
+v_exp_f16 v128.h, 0xfe0b
+// GFX11: v_exp_f16_e64 v128.h, 0xfe0b op_sel:[0,1] ; encoding: [0x80,0x40,0xd8,0xd5,0xff,0x00,0x00,0x00,0x0b,0xfe,0x00,0x00]
+
+v_exp_f16 v128.l, 0xfe0b
+// GFX11: v_exp_f16_e64 v128.l, 0xfe0b ; encoding: [0x80,0x00,0xd8,0xd5,0xff,0x00,0x00,0x00,0x0b,0xfe,0x00,0x00]
+
+v_exp_f16 v255.h, -1
+// GFX11: v_exp_f16_e64 v255.h, -1 op_sel:[0,1] ; encoding: [0xff,0x40,0xd8,0xd5,0xc1,0x00,0x00,0x00]
+
+v_exp_f16 v255.h, 0.5
+// GFX11: v_exp_f16_e64 v255.h, 0.5 op_sel:[0,1] ; encoding: [0xff,0x40,0xd8,0xd5,0xf0,0x00,0x00,0x00]
+
+v_exp_f16 v255.h, exec_hi
+// GFX11: v_exp_f16_e64 v255.h, exec_hi op_sel:[0,1] ; encoding: [0xff,0x40,0xd8,0xd5,0x7f,0x00,0x00,0x00]
+
+v_exp_f16 v255.h, exec_lo
+// GFX11: v_exp_f16_e64 v255.h, exec_lo op_sel:[0,1] ; encoding: [0xff,0x40,0xd8,0xd5,0x7e,0x00,0x00,0x00]
+
+v_exp_f16 v255.h, m0
+// GFX11: v_exp_f16_e64 v255.h, m0 op_sel:[0,1] ; encoding: [0xff,0x40,0xd8,0xd5,0x7d,0x00,0x00,0x00]
+
+v_exp_f16 v255.h, null
+// GFX11: v_exp_f16_e64 v255.h, null op_sel:[0,1] ; encoding: [0xff,0x40,0xd8,0xd5,0x7c,0x00,0x00,0x00]
+
+v_exp_f16 v255.h, s1
+// GFX11: v_exp_f16_e64 v255.h, s1 op_sel:[0,1] ; encoding: [0xff,0x40,0xd8,0xd5,0x01,0x00,0x00,0x00]
+
+v_exp_f16 v255.h, s105
+// GFX11: v_exp_f16_e64 v255.h, s105 op_sel:[0,1] ; encoding: [0xff,0x40,0xd8,0xd5,0x69,0x00,0x00,0x00]
+
+v_exp_f16 v255.h, src_scc
+// GFX11: v_exp_f16_e64 v255.h, src_scc op_sel:[0,1] ; encoding: [0xff,0x40,0xd8,0xd5,0xfd,0x00,0x00,0x00]
+
+v_exp_f16 v255.h, ttmp15
+// GFX11: v_exp_f16_e64 v255.h, ttmp15 op_sel:[0,1] ; encoding: [0xff,0x40,0xd8,0xd5,0x7b,0x00,0x00,0x00]
+
+v_exp_f16 v255.h, v1.h
+// GFX11: v_exp_f16_e64 v255.h, v1.h op_sel:[1,1] ; encoding: [0xff,0x48,0xd8,0xd5,0x01,0x01,0x00,0x00]
+
+v_exp_f16 v255.h, v1.h dpp8:[7,6,5,4,3,2,1,0]
+// GFX11: v_exp_f16_e64_dpp v255.h, v1.h op_sel:[1,1] dpp8:[7,6,5,4,3,2,1,0] ; encoding: [0xff,0x48,0xd8,0xd5,0xe9,0x00,0x00,0x00,0x01,0x77,0x39,0x05]
+
+v_exp_f16 v255.h, v1.h quad_perm:[3,2,1,0]
+// GFX11: v_exp_f16_e64_dpp v255.h, v1.h op_sel:[1,1] quad_perm:[3,2,1,0] row_mask:0xf bank_mask:0xf ; encoding: [0xff,0x48,0xd8,0xd5,0xfa,0x00,0x00,0x00,0x01,0x1b,0x00,0xff]
+
+v_exp_f16 v255.h, v127.h
+// GFX11: v_exp_f16_e64 v255.h, v127.h op_sel:[1,1] ; encoding: [0xff,0x48,0xd8,0xd5,0x7f,0x01,0x00,0x00]
+
+v_exp_f16 v255.h, v127.h dpp8:[7,6,5,4,3,2,1,0]
+// GFX11: v_exp_f16_e64_dpp v255.h, v127.h op_sel:[1,1] dpp8:[7,6,5,4,3,2,1,0] ; encoding: [0xff,0x48,0xd8,0xd5,0xe9,0x00,0x00,0x00,0x7f,0x77,0x39,0x05]
+
+v_exp_f16 v255.h, v127.h quad_perm:[3,2,1,0]
+// GFX11: v_exp_f16_e64_dpp v255.h, v127.h op_sel:[1,1] quad_perm:[3,2,1,0] row_mask:0xf bank_mask:0xf ; encoding: [0xff,0x48,0xd8,0xd5,0xfa,0x00,0x00,0x00,0x7f,0x1b,0x00,0xff]
-v_exp_f16 v255, -1
-// GFX11: v_exp_f16_e64 v255, -1 ; encoding: [0xff,0x00,0xd8,0xd5,0xc1,0x00,0x00,0x00]
+v_exp_f16 v255.h, vcc_hi
+// GFX11: v_exp_f16_e64 v255.h, vcc_hi op_sel:[0,1] ; encoding: [0xff,0x40,0xd8,0xd5,0x6b,0x00,0x00,0x00]
-v_exp_f16 v255, 0.5
-// GFX11: v_exp_f16_e64 v255, 0.5 ; encoding: [0xff,0x00,0xd8,0xd5,0xf0,0x00,0x00,0x00]
+v_exp_f16 v255.h, vcc_lo
+// GFX11: v_exp_f16_e64 v255.h, vcc_lo op_sel:[0,1] ; encoding: [0xff,0x40,0xd8,0xd5,0x6a,0x00,0x00,0x00]
-v_exp_f16 v255, exec_hi
-// GFX11: v_exp_f16_e64 v255, exec_hi ; encoding: [0xff,0x00,0xd8,0xd5,0x7f,0x00,0x00,0x00]
+v_exp_f16 v255.l, -1
+// GFX11: v_exp_f16_e64 v255.l, -1 ; encoding: [0xff,0x00,0xd8,0xd5,0xc1,0x00,0x00,0x00]
-v_exp_f16 v255, exec_lo
-// GFX11: v_exp_f16_e64 v255, exec_lo ; encoding: [0xff,0x00,0xd8,0xd5,0x7e,0x00,0x00,0x00]
+v_exp_f16 v255.l, 0.5
+// GFX11: v_exp_f16_e64 v255.l, 0.5 ; encoding: [0xff,0x00,0xd8,0xd5,0xf0,0x00,0x00,0x00]
-v_exp_f16 v255, m0
-// GFX11: v_exp_f16_e64 v255, m0 ; encoding: [0xff,0x00,0xd8,0xd5,0x7d,0x00,0x00,0x00]
+v_exp_f16 v255.l, exec_hi
+// GFX11: v_exp_f16_e64 v255.l, exec_hi ; encoding: [0xff,0x00,0xd8,0xd5,0x7f,0x00,0x00,0x00]
-v_exp_f16 v255, null
-// GFX11: v_exp_f16_e64 v255, null ; encoding: [0xff,0x00,0xd8,0xd5,0x7c,0x00,0x00,0x00]
+v_exp_f16 v255.l, exec_lo
+// GFX11: v_exp_f16_e64 v255.l, exec_lo ; encoding: [0xff,0x00,0xd8,0xd5,0x7e,0x00,0x00,0x00]
-v_exp_f16 v255, s1
-// GFX11: v_exp_f16_e64 v255, s1 ; encoding: [0xff,0x00,0xd8,0xd5,0x01,0x00,0x00,0x00]
+v_exp_f16 v255.l, m0
+// GFX11: v_exp_f16_e64 v255.l, m0 ; encoding: [0xff,0x00,0xd8,0xd5,0x7d,0x00,0x00,0x00]
-v_exp_f16 v255, s105
-// GFX11: v_exp_f16_e64 v255, s105 ; encoding: [0xff,0x00,0xd8,0xd5,0x69,0x00,0x00,0x00]
+v_exp_f16 v255.l, null
+// GFX11: v_exp_f16_e64 v255.l, null ; encoding: [0xff,0x00,0xd8,0xd5,0x7c,0x00,0x00,0x00]
-v_exp_f16 v255, src_scc
-// GFX11: v_exp_f16_e64 v255, src_scc ; encoding: [0xff,0x00,0xd8,0xd5,0xfd,0x00,0x00,0x00]
+v_exp_f16 v255.l, s1
+// GFX11: v_exp_f16_e64 v255.l, s1 ; encoding: [0xff,0x00,0xd8,0xd5,0x01,0x00,0x00,0x00]
-v_exp_f16 v255, ttmp15
-// GFX11: v_exp_f16_e64 v255, ttmp15 ; encoding: [0xff,0x00,0xd8,0xd5,0x7b,0x00,0x00,0x00]
+v_exp_f16 v255.l, s105
+// GFX11: v_exp_f16_e64 v255.l, s105 ; encoding: [0xff,0x00,0xd8,0xd5,0x69,0x00,0x00,0x00]
-v_exp_f16 v255, v1
-// GFX11: v_exp_f16_e64 v255, v1 ; encoding: [0xff,0x00,0xd8,0xd5,0x01,0x01,0x00,0x00]
+v_exp_f16 v255.l, src_scc
+// GFX11: v_exp_f16_e64 v255.l, src_scc ; encoding: [0xff,0x00,0xd8,0xd5,0xfd,0x00,0x00,0x00]
-v_exp_f16 v255, v1 dpp8:[7,6,5,4,3,2,1,0]
-// GFX11: v_exp_f16_e64_dpp v255, v1 dpp8:[7,6,5,4,3,2,1,0] ; encoding: [0xff,0x00,0xd8,0xd5,0xe9,0x00,0x00,0x00,0x01,0x77,0x39,0x05]
+v_exp_f16 v255.l, ttmp15
+// GFX11: v_exp_f16_e64 v255.l, ttmp15 ; encoding: [0xff,0x00,0xd8,0xd5,0x7b,0x00,0x00,0x00]
-v_exp_f16 v255, v1 quad_perm:[3,2,1,0]
-// GFX11: v_exp_f16_e64_dpp v255, v1 quad_perm:[3,2,1,0] row_mask:0xf bank_mask:0xf ; encoding: [0xff,0x00,0xd8,0xd5,0xfa,0x00,0x00,0x00,0x01,0x1b,0x00,0xff]
+v_exp_f16 v255.l, v1.l
+// GFX11: v_exp_f16_e64 v255.l, v1.l ; encoding: [0xff,0x00,0xd8,0xd5,0x01,0x01,0x00,0x00]
-v_exp_f16 v255, v127
-// GFX11: v_exp_f16_e64 v255, v127 ; encoding: [0xff,0x00,0xd8,0xd5,0x7f,0x01,0x00,0x00]
+v_exp_f16 v255.l, v1.l dpp8:[7,6,5,4,3,2,1,0]
+// GFX11: v_exp_f16_e64_dpp v255.l, v1.l dpp8:[7,6,5,4,3,2,1,0] ; encoding: [0xff,0x00,0xd8,0xd5,0xe9,0x00,0x00,0x00,0x01,0x77,0x39,0x05]
-v_exp_f16 v255, v127 dpp8:[7,6,5,4,3,2,1,0]
-// GFX11: v_exp_f16_e64_dpp v255, v127 dpp8:[7,6,5,4,3,2,1,0] ; encoding: [0xff,0x00,0xd8,0xd5,0xe9,0x00,0x00,0x00,0x7f,0x77,0x39,0x05]
+v_exp_f16 v255.l, v1.l quad_perm:[3,2,1,0]
+// GFX11: v_exp_f16_e64_dpp v255.l, v1.l quad_perm:[3,2,1,0] row_mask:0xf bank_mask:0xf ; encoding: [0xff,0x00,0xd8,0xd5,0xfa,0x00,0x00,0x00,0x01,0x1b,0x00,0xff]
-v_exp_f16 v255, v127 quad_perm:[3,2,1,0]
-// GFX11: v_exp_f16_e64_dpp v255, v127 quad_perm:[3,2,1,0] row_mask:0xf bank_mask:0xf ; encoding: [0xff,0x00,0xd8,0xd5,0xfa,0x00,0x00,0x00,0x7f,0x1b,0x00,0xff]
+v_exp_f16 v255.l, v127.l
+// GFX11: v_exp_f16_e64 v255.l, v127.l ; encoding: [0xff,0x00,0xd8,0xd5,0x7f,0x01,0x00,0x00]
-v_exp_f16 v255, vcc_hi
-// GFX11: v_exp_f16_e64 v255, vcc_hi ; encoding: [0xff,0x00,0xd8,0xd5,0x6b,0x00,0x00,0x00]
+v_exp_f16 v255.l, v127.l dpp8:[7,6,5,4,3,2,1,0]
+// GFX11: v_exp_f16_e64_dpp v255.l, v127.l dpp8:[7,6,5,4,3,2,1,0] ; encoding: [0xff,0x00,0xd8,0xd5,0xe9,0x00,0x00,0x00,0x7f,0x77,0x39,0x05]
-v_exp_f16 v255, vcc_lo
-// GFX11: v_exp_f16_e64 v255, vcc_lo ; encoding: [0xff,0x00,0xd8,0xd5,0x6a,0x00,0x00,0x00]
+v_exp_f16 v255.l, v127.l quad_perm:[3,2,1,0]
+// GFX11: v_exp_f16_e64_dpp v255.l, v127.l quad_perm:[3,2,1,0] row_mask:0xf bank_mask:0xf ; encoding: [0xff,0x00,0xd8,0xd5,0xfa,0x00,0x00,0x00,0x7f,0x1b,0x00,0xff]
-v_exp_f16 v5, v199
-// GFX11: v_exp_f16_e64 v5, v199 ; encoding: [0x05,0x00,0xd8,0xd5,0xc7,0x01,0x00,0x00]
+v_exp_f16 v255.l, vcc_hi
+// GFX11: v_exp_f16_e64 v255.l, vcc_hi ; encoding: [0xff,0x00,0xd8,0xd5,0x6b,0x00,0x00,0x00]
-v_exp_f16 v5, v199 dpp8:[7,6,5,4,3,2,1,0]
-// GFX11: v_exp_f16_e64_dpp v5, v199 dpp8:[7,6,5,4,3,2,1,0] ; encoding: [0x05,0x00,0xd8,0xd5,0xe9,0x00,0x00,0x00,0xc7,0x77,0x39,0x05]
+v_exp_f16 v255.l, vcc_lo
+// GFX11: v_exp_f16_e64 v255.l, vcc_lo ; encoding: [0xff,0x00,0xd8,0xd5,0x6a,0x00,0x00,0x00]
-v_exp_f16 v5, v199 quad_perm:[3,2,1,0]
-// GFX11: v_exp_f16_e64_dpp v5, v199 quad_perm:[3,2,1,0] row_mask:0xf bank_mask:0xf ; encoding: [0x05,0x00,0xd8,0xd5,0xfa,0x00,0x00,0x00,0xc7,0x1b,0x00,0xff]
+v_exp_f16 v5.h, v199.h
+// GFX11: v_exp_f16_e64 v5.h, v199.h op_sel:[1,1] ; encoding: [0x05,0x48,0xd8,0xd5,0xc7,0x01,0x00,0x00]
-v_floor_f16 v128, 0xfe0b
-// GFX11: v_floor_f16_e64 v128, 0xfe0b ; encoding: [0x80,0x00,0xdb,0xd5,0xff,0x00,0x00,0x00,0x0b,0xfe,0x00,0x00]
+v_exp_f16 v5.h, v199.h dpp8:[7,6,5,4,3,2,1,0]
+// GFX11: v_exp_f16_e64_dpp v5.h, v199.h op_sel:[1,1] dpp8:[7,6,5,4,3,2,1,0] ; encoding: [0x05,0x48,0xd8,0xd5,0xe9,0x00,0x00,0x00,0xc7,0x77,0x39,0x05]
-v_floor_f16 v255, -1
-// GFX11: v_...
[truncated]
|
Sisyph
reviewed
Apr 15, 2025
Sisyph
reviewed
Apr 28, 2025
f1181cf
to
038d7e7
Compare
038d7e7
to
8a2d0b0
Compare
Sisyph
approved these changes
May 6, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
GeorgeARM
pushed a commit
to GeorgeARM/llvm-project
that referenced
this pull request
May 7, 2025
This is a NFC patch. Regarding a few vop1 true16 instructions, the tablegen change has been done but the test changes are not complete. This patch update mc test of a few vop1 t16 that were missing before.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This is a NFC patch.
Regarding a few vop1 true16 instructions, the tablegen change has been done but the test changes are not complete. This patch update mc test of a few vop1 t16 that were missing before.