-
Notifications
You must be signed in to change notification settings - Fork 15.2k
[AMDGPU][True16][test] update VOP2 asm/dasm file with true16/fake16 #113101
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
[AMDGPU][True16][test] update VOP2 asm/dasm file with true16/fake16 #113101
Conversation
|
@llvm/pr-subscribers-mc Author: Brox Chen (broxigarchen) ChangesThis is a non-functional change update GFX11/GFX12 VOP2 asm/dasm test for true16/fake16:
Patch is 1.14 MiB, truncated to 20.00 KiB below, full version: https://github.com/llvm/llvm-project/pull/113101.diff 26 Files Affected:
diff --git a/llvm/test/MC/AMDGPU/gfx11_asm_vop2-fake16.s b/llvm/test/MC/AMDGPU/gfx11_asm_vop2-fake16.s
new file mode 100644
index 00000000000000..96dd5720894361
--- /dev/null
+++ b/llvm/test/MC/AMDGPU/gfx11_asm_vop2-fake16.s
@@ -0,0 +1,2554 @@
+// RUN: not llvm-mc -triple=amdgcn -mcpu=gfx1100 -mattr=+wavefrontsize32,-real-true16 -show-encoding %s | FileCheck --check-prefixes=GFX11,W32 %s
+// RUN: not llvm-mc -triple=amdgcn -mcpu=gfx1100 -mattr=+wavefrontsize64,-real-true16 -show-encoding %s | FileCheck --check-prefixes=GFX11,W64 %s
+// RUN: not llvm-mc -triple=amdgcn -mcpu=gfx1100 -mattr=+wavefrontsize32,-real-true16 -filetype=null %s 2>&1 | FileCheck --check-prefix=W32-ERR --implicit-check-not=error: %s
+// RUN: not llvm-mc -triple=amdgcn -mcpu=gfx1100 -mattr=+wavefrontsize64,-real-true16 -filetype=null %s 2>&1 | FileCheck --check-prefix=W64-ERR --implicit-check-not=error: %s
+
+v_add_co_ci_u32_e32 v5, vcc_lo, v1, v2, vcc_lo
+// W32: encoding: [0x01,0x05,0x0a,0x40]
+// W64-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
+
+v_add_co_ci_u32 v5, vcc_lo, v255, v2, vcc_lo
+// W32: encoding: [0xff,0x05,0x0a,0x40]
+// W64-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
+
+v_add_co_ci_u32 v5, vcc_lo, s1, v2, vcc_lo
+// W32: encoding: [0x01,0x04,0x0a,0x40]
+// W64-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
+
+v_add_co_ci_u32 v5, vcc_lo, s105, v2, vcc_lo
+// W32: encoding: [0x69,0x04,0x0a,0x40]
+// W64-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
+
+v_add_co_ci_u32 v5, vcc_lo, vcc_lo, v2, vcc_lo
+// W32: encoding: [0x6a,0x04,0x0a,0x40]
+// W64-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
+
+v_add_co_ci_u32 v5, vcc_lo, vcc_hi, v2, vcc_lo
+// W32: encoding: [0x6b,0x04,0x0a,0x40]
+// W64-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
+
+v_add_co_ci_u32 v5, vcc_lo, ttmp15, v2, vcc_lo
+// W32: encoding: [0x7b,0x04,0x0a,0x40]
+// W64-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
+
+v_add_co_ci_u32 v5, vcc_lo, m0, v2, vcc_lo
+// W32: encoding: [0x7d,0x04,0x0a,0x40]
+// W64-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
+
+v_add_co_ci_u32 v5, vcc_lo, exec_lo, v2, vcc_lo
+// W32: encoding: [0x7e,0x04,0x0a,0x40]
+// W64-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
+
+v_add_co_ci_u32 v5, vcc_lo, exec_hi, v2, vcc_lo
+// W32: encoding: [0x7f,0x04,0x0a,0x40]
+// W64-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
+
+v_add_co_ci_u32 v5, vcc_lo, null, v2, vcc_lo
+// W32: encoding: [0x7c,0x04,0x0a,0x40]
+// W64-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
+
+v_add_co_ci_u32 v5, vcc_lo, -1, v2, vcc_lo
+// W32: encoding: [0xc1,0x04,0x0a,0x40]
+// W64-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
+
+v_add_co_ci_u32 v5, vcc_lo, 0.5, v2, vcc_lo
+// W32: encoding: [0xf0,0x04,0x0a,0x40]
+// W64-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
+
+v_add_co_ci_u32 v5, vcc_lo, src_scc, v2, vcc_lo
+// W32: encoding: [0xfd,0x04,0x0a,0x40]
+// W64-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
+
+v_add_co_ci_u32 v255, vcc_lo, 0xaf123456, v255, vcc_lo
+// W32: encoding: [0xff,0xfe,0xff,0x41,0x56,0x34,0x12,0xaf]
+// W64-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
+
+v_add_co_ci_u32 v5, vcc, v1, v2, vcc
+// W64: encoding: [0x01,0x05,0x0a,0x40]
+// W32-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
+
+v_add_co_ci_u32 v5, vcc, v255, v2, vcc
+// W64: encoding: [0xff,0x05,0x0a,0x40]
+// W32-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
+
+v_add_co_ci_u32 v5, vcc, s1, v2, vcc
+// W64: encoding: [0x01,0x04,0x0a,0x40]
+// W32-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
+
+v_add_co_ci_u32 v5, vcc, s105, v2, vcc
+// W64: encoding: [0x69,0x04,0x0a,0x40]
+// W32-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
+
+v_add_co_ci_u32 v5, vcc, vcc_lo, v2, vcc
+// W64: encoding: [0x6a,0x04,0x0a,0x40]
+// W32-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
+
+v_add_co_ci_u32 v5, vcc, vcc_hi, v2, vcc
+// W64: encoding: [0x6b,0x04,0x0a,0x40]
+// W32-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
+
+v_add_co_ci_u32 v5, vcc, ttmp15, v2, vcc
+// W64: encoding: [0x7b,0x04,0x0a,0x40]
+// W32-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
+
+v_add_co_ci_u32 v5, vcc, m0, v2, vcc
+// W64: encoding: [0x7d,0x04,0x0a,0x40]
+// W32-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
+
+v_add_co_ci_u32 v5, vcc, exec_lo, v2, vcc
+// W64: encoding: [0x7e,0x04,0x0a,0x40]
+// W32-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
+
+v_add_co_ci_u32 v5, vcc, exec_hi, v2, vcc
+// W64: encoding: [0x7f,0x04,0x0a,0x40]
+// W32-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
+
+v_add_co_ci_u32 v5, vcc, null, v2, vcc
+// W64: encoding: [0x7c,0x04,0x0a,0x40]
+// W32-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
+
+v_add_co_ci_u32 v5, vcc, -1, v2, vcc
+// W64: encoding: [0xc1,0x04,0x0a,0x40]
+// W32-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
+
+v_add_co_ci_u32 v5, vcc, 0.5, v2, vcc
+// W64: encoding: [0xf0,0x04,0x0a,0x40]
+// W32-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
+
+v_add_co_ci_u32 v5, vcc, src_scc, v2, vcc
+// W64: encoding: [0xfd,0x04,0x0a,0x40]
+// W32-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
+
+v_add_co_ci_u32 v255, vcc, 0xaf123456, v255, vcc
+// W64: encoding: [0xff,0xfe,0xff,0x41,0x56,0x34,0x12,0xaf]
+// W32-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
+
+v_add_f16 v5, v1, v2
+// GFX11: encoding: [0x01,0x05,0x0a,0x64]
+
+v_add_f16 v5, v127, v2
+// GFX11: encoding: [0x7f,0x05,0x0a,0x64]
+
+v_add_f16 v5, s1, v2
+// GFX11: encoding: [0x01,0x04,0x0a,0x64]
+
+v_add_f16 v5, s105, v2
+// GFX11: encoding: [0x69,0x04,0x0a,0x64]
+
+v_add_f16 v5, vcc_lo, v2
+// GFX11: encoding: [0x6a,0x04,0x0a,0x64]
+
+v_add_f16 v5, vcc_hi, v2
+// GFX11: encoding: [0x6b,0x04,0x0a,0x64]
+
+v_add_f16 v5, ttmp15, v2
+// GFX11: encoding: [0x7b,0x04,0x0a,0x64]
+
+v_add_f16 v5, m0, v2
+// GFX11: encoding: [0x7d,0x04,0x0a,0x64]
+
+v_add_f16 v5, exec_lo, v2
+// GFX11: encoding: [0x7e,0x04,0x0a,0x64]
+
+v_add_f16 v5, exec_hi, v2
+// GFX11: encoding: [0x7f,0x04,0x0a,0x64]
+
+v_add_f16 v5, null, v2
+// GFX11: encoding: [0x7c,0x04,0x0a,0x64]
+
+v_add_f16 v5, -1, v2
+// GFX11: encoding: [0xc1,0x04,0x0a,0x64]
+
+v_add_f16 v5, 0.5, v2
+// GFX11: encoding: [0xf0,0x04,0x0a,0x64]
+
+v_add_f16 v5, src_scc, v2
+// GFX11: encoding: [0xfd,0x04,0x0a,0x64]
+
+v_add_f16 v127, 0xfe0b, v127
+// GFX11: encoding: [0xff,0xfe,0xfe,0x64,0x0b,0xfe,0x00,0x00]
+
+v_add_f32 v5, v1, v2
+// GFX11: encoding: [0x01,0x05,0x0a,0x06]
+
+v_add_f32 v5, v255, v2
+// GFX11: encoding: [0xff,0x05,0x0a,0x06]
+
+v_add_f32 v5, s1, v2
+// GFX11: encoding: [0x01,0x04,0x0a,0x06]
+
+v_add_f32 v5, s105, v2
+// GFX11: encoding: [0x69,0x04,0x0a,0x06]
+
+v_add_f32 v5, vcc_lo, v2
+// GFX11: encoding: [0x6a,0x04,0x0a,0x06]
+
+v_add_f32 v5, vcc_hi, v2
+// GFX11: encoding: [0x6b,0x04,0x0a,0x06]
+
+v_add_f32 v5, ttmp15, v2
+// GFX11: encoding: [0x7b,0x04,0x0a,0x06]
+
+v_add_f32 v5, m0, v2
+// GFX11: encoding: [0x7d,0x04,0x0a,0x06]
+
+v_add_f32 v5, exec_lo, v2
+// GFX11: encoding: [0x7e,0x04,0x0a,0x06]
+
+v_add_f32 v5, exec_hi, v2
+// GFX11: encoding: [0x7f,0x04,0x0a,0x06]
+
+v_add_f32 v5, null, v2
+// GFX11: encoding: [0x7c,0x04,0x0a,0x06]
+
+v_add_f32 v5, -1, v2
+// GFX11: encoding: [0xc1,0x04,0x0a,0x06]
+
+v_add_f32 v5, 0.5, v2
+// GFX11: encoding: [0xf0,0x04,0x0a,0x06]
+
+v_add_f32 v5, src_scc, v2
+// GFX11: encoding: [0xfd,0x04,0x0a,0x06]
+
+v_add_f32 v255, 0xaf123456, v255
+// GFX11: encoding: [0xff,0xfe,0xff,0x07,0x56,0x34,0x12,0xaf]
+
+v_add_nc_u32 v5, v1, v2
+// GFX11: encoding: [0x01,0x05,0x0a,0x4a]
+
+v_add_nc_u32 v5, v255, v2
+// GFX11: encoding: [0xff,0x05,0x0a,0x4a]
+
+v_add_nc_u32 v5, s1, v2
+// GFX11: encoding: [0x01,0x04,0x0a,0x4a]
+
+v_add_nc_u32 v5, s105, v2
+// GFX11: encoding: [0x69,0x04,0x0a,0x4a]
+
+v_add_nc_u32 v5, vcc_lo, v2
+// GFX11: encoding: [0x6a,0x04,0x0a,0x4a]
+
+v_add_nc_u32 v5, vcc_hi, v2
+// GFX11: encoding: [0x6b,0x04,0x0a,0x4a]
+
+v_add_nc_u32 v5, ttmp15, v2
+// GFX11: encoding: [0x7b,0x04,0x0a,0x4a]
+
+v_add_nc_u32 v5, m0, v2
+// GFX11: encoding: [0x7d,0x04,0x0a,0x4a]
+
+v_add_nc_u32 v5, exec_lo, v2
+// GFX11: encoding: [0x7e,0x04,0x0a,0x4a]
+
+v_add_nc_u32 v5, exec_hi, v2
+// GFX11: encoding: [0x7f,0x04,0x0a,0x4a]
+
+v_add_nc_u32 v5, null, v2
+// GFX11: encoding: [0x7c,0x04,0x0a,0x4a]
+
+v_add_nc_u32 v5, -1, v2
+// GFX11: encoding: [0xc1,0x04,0x0a,0x4a]
+
+v_add_nc_u32 v5, 0.5, v2
+// GFX11: encoding: [0xf0,0x04,0x0a,0x4a]
+
+v_add_nc_u32 v5, src_scc, v2
+// GFX11: encoding: [0xfd,0x04,0x0a,0x4a]
+
+v_add_nc_u32 v255, 0xaf123456, v255
+// GFX11: encoding: [0xff,0xfe,0xff,0x4b,0x56,0x34,0x12,0xaf]
+
+v_and_b32 v5, v1, v2
+// GFX11: encoding: [0x01,0x05,0x0a,0x36]
+
+v_and_b32 v5, v255, v2
+// GFX11: encoding: [0xff,0x05,0x0a,0x36]
+
+v_and_b32 v5, s1, v2
+// GFX11: encoding: [0x01,0x04,0x0a,0x36]
+
+v_and_b32 v5, s105, v2
+// GFX11: encoding: [0x69,0x04,0x0a,0x36]
+
+v_and_b32 v5, vcc_lo, v2
+// GFX11: encoding: [0x6a,0x04,0x0a,0x36]
+
+v_and_b32 v5, vcc_hi, v2
+// GFX11: encoding: [0x6b,0x04,0x0a,0x36]
+
+v_and_b32 v5, ttmp15, v2
+// GFX11: encoding: [0x7b,0x04,0x0a,0x36]
+
+v_and_b32 v5, m0, v2
+// GFX11: encoding: [0x7d,0x04,0x0a,0x36]
+
+v_and_b32 v5, exec_lo, v2
+// GFX11: encoding: [0x7e,0x04,0x0a,0x36]
+
+v_and_b32 v5, exec_hi, v2
+// GFX11: encoding: [0x7f,0x04,0x0a,0x36]
+
+v_and_b32 v5, null, v2
+// GFX11: encoding: [0x7c,0x04,0x0a,0x36]
+
+v_and_b32 v5, -1, v2
+// GFX11: encoding: [0xc1,0x04,0x0a,0x36]
+
+v_and_b32 v5, 0.5, v2
+// GFX11: encoding: [0xf0,0x04,0x0a,0x36]
+
+v_and_b32 v5, src_scc, v2
+// GFX11: encoding: [0xfd,0x04,0x0a,0x36]
+
+v_and_b32 v255, 0xaf123456, v255
+// GFX11: encoding: [0xff,0xfe,0xff,0x37,0x56,0x34,0x12,0xaf]
+
+v_ashrrev_i32 v5, v1, v2
+// GFX11: encoding: [0x01,0x05,0x0a,0x34]
+
+v_ashrrev_i32 v5, v255, v2
+// GFX11: encoding: [0xff,0x05,0x0a,0x34]
+
+v_ashrrev_i32 v5, s1, v2
+// GFX11: encoding: [0x01,0x04,0x0a,0x34]
+
+v_ashrrev_i32 v5, s105, v2
+// GFX11: encoding: [0x69,0x04,0x0a,0x34]
+
+v_ashrrev_i32 v5, vcc_lo, v2
+// GFX11: encoding: [0x6a,0x04,0x0a,0x34]
+
+v_ashrrev_i32 v5, vcc_hi, v2
+// GFX11: encoding: [0x6b,0x04,0x0a,0x34]
+
+v_ashrrev_i32 v5, ttmp15, v2
+// GFX11: encoding: [0x7b,0x04,0x0a,0x34]
+
+v_ashrrev_i32 v5, m0, v2
+// GFX11: encoding: [0x7d,0x04,0x0a,0x34]
+
+v_ashrrev_i32 v5, exec_lo, v2
+// GFX11: encoding: [0x7e,0x04,0x0a,0x34]
+
+v_ashrrev_i32 v5, exec_hi, v2
+// GFX11: encoding: [0x7f,0x04,0x0a,0x34]
+
+v_ashrrev_i32 v5, null, v2
+// GFX11: encoding: [0x7c,0x04,0x0a,0x34]
+
+v_ashrrev_i32 v5, -1, v2
+// GFX11: encoding: [0xc1,0x04,0x0a,0x34]
+
+v_ashrrev_i32 v5, 0.5, v2
+// GFX11: encoding: [0xf0,0x04,0x0a,0x34]
+
+v_ashrrev_i32 v5, src_scc, v2
+// GFX11: encoding: [0xfd,0x04,0x0a,0x34]
+
+v_ashrrev_i32 v255, 0xaf123456, v255
+// GFX11: encoding: [0xff,0xfe,0xff,0x35,0x56,0x34,0x12,0xaf]
+
+v_cndmask_b32 v5, v1, v2, vcc_lo
+// W32: encoding: [0x01,0x05,0x0a,0x02]
+// W64-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
+
+v_cndmask_b32 v5, v255, v2, vcc_lo
+// W32: encoding: [0xff,0x05,0x0a,0x02]
+// W64-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
+
+v_cndmask_b32 v5, s1, v2, vcc_lo
+// W32: encoding: [0x01,0x04,0x0a,0x02]
+// W64-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
+
+v_cndmask_b32 v5, s105, v2, vcc_lo
+// W32: encoding: [0x69,0x04,0x0a,0x02]
+// W64-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
+
+v_cndmask_b32 v5, vcc_lo, v2, vcc_lo
+// W32: encoding: [0x6a,0x04,0x0a,0x02]
+// W64-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
+
+v_cndmask_b32 v5, vcc_hi, v2, vcc_lo
+// W32: encoding: [0x6b,0x04,0x0a,0x02]
+// W64-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
+
+v_cndmask_b32 v5, ttmp15, v2, vcc_lo
+// W32: encoding: [0x7b,0x04,0x0a,0x02]
+// W64-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
+
+v_cndmask_b32 v5, m0, v2, vcc_lo
+// W32: encoding: [0x7d,0x04,0x0a,0x02]
+// W64-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
+
+v_cndmask_b32 v5, exec_lo, v2, vcc_lo
+// W32: encoding: [0x7e,0x04,0x0a,0x02]
+// W64-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
+
+v_cndmask_b32 v5, exec_hi, v2, vcc_lo
+// W32: encoding: [0x7f,0x04,0x0a,0x02]
+// W64-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
+
+v_cndmask_b32 v5, null, v2, vcc_lo
+// W32: encoding: [0x7c,0x04,0x0a,0x02]
+// W64-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
+
+v_cndmask_b32 v5, -1, v2, vcc_lo
+// W32: encoding: [0xc1,0x04,0x0a,0x02]
+// W64-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
+
+v_cndmask_b32 v5, 0.5, v2, vcc_lo
+// W32: encoding: [0xf0,0x04,0x0a,0x02]
+// W64-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
+
+v_cndmask_b32 v5, src_scc, v2, vcc_lo
+// W32: encoding: [0xfd,0x04,0x0a,0x02]
+// W64-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
+
+v_cndmask_b32 v255, 0xaf123456, v255, vcc_lo
+// W32: encoding: [0xff,0xfe,0xff,0x03,0x56,0x34,0x12,0xaf]
+// W64-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
+
+v_cndmask_b32 v5, v1, v2, vcc
+// W64: encoding: [0x01,0x05,0x0a,0x02]
+// W32-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
+
+v_cndmask_b32 v5, v255, v2, vcc
+// W64: encoding: [0xff,0x05,0x0a,0x02]
+// W32-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
+
+v_cndmask_b32 v5, s1, v2, vcc
+// W64: encoding: [0x01,0x04,0x0a,0x02]
+// W32-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
+
+v_cndmask_b32 v5, s105, v2, vcc
+// W64: encoding: [0x69,0x04,0x0a,0x02]
+// W32-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
+
+v_cndmask_b32 v5, vcc_lo, v2, vcc
+// W64: encoding: [0x6a,0x04,0x0a,0x02]
+// W32-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
+
+v_cndmask_b32 v5, vcc_hi, v2, vcc
+// W64: encoding: [0x6b,0x04,0x0a,0x02]
+// W32-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
+
+v_cndmask_b32 v5, ttmp15, v2, vcc
+// W64: encoding: [0x7b,0x04,0x0a,0x02]
+// W32-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
+
+v_cndmask_b32 v5, m0, v2, vcc
+// W64: encoding: [0x7d,0x04,0x0a,0x02]
+// W32-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
+
+v_cndmask_b32 v5, exec_lo, v2, vcc
+// W64: encoding: [0x7e,0x04,0x0a,0x02]
+// W32-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
+
+v_cndmask_b32 v5, exec_hi, v2, vcc
+// W64: encoding: [0x7f,0x04,0x0a,0x02]
+// W32-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
+
+v_cndmask_b32 v5, null, v2, vcc
+// W64: encoding: [0x7c,0x04,0x0a,0x02]
+// W32-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
+
+v_cndmask_b32 v5, -1, v2, vcc
+// W64: encoding: [0xc1,0x04,0x0a,0x02]
+// W32-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
+
+v_cndmask_b32 v5, 0.5, v2, vcc
+// W64: encoding: [0xf0,0x04,0x0a,0x02]
+// W32-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
+
+v_cndmask_b32 v5, src_scc, v2, vcc
+// W64: encoding: [0xfd,0x04,0x0a,0x02]
+// W32-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
+
+v_cndmask_b32 v255, 0xaf123456, v255, vcc
+// W64: encoding: [0xff,0xfe,0xff,0x03,0x56,0x34,0x12,0xaf]
+// W32-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
+
+v_cvt_pk_rtz_f16_f32 v5, v1, v2
+// GFX11: encoding: [0x01,0x05,0x0a,0x5e]
+
+v_cvt_pk_rtz_f16_f32 v5, v255, v2
+// GFX11: encoding: [0xff,0x05,0x0a,0x5e]
+
+v_cvt_pk_rtz_f16_f32 v5, s1, v2
+// GFX11: encoding: [0x01,0x04,0x0a,0x5e]
+
+v_cvt_pk_rtz_f16_f32 v5, s105, v2
+// GFX11: encoding: [0x69,0x04,0x0a,0x5e]
+
+v_cvt_pk_rtz_f16_f32 v5, vcc_lo, v2
+// GFX11: encoding: [0x6a,0x04,0x0a,0x5e]
+
+v_cvt_pk_rtz_f16_f32 v5, vcc_hi, v2
+// GFX11: encoding: [0x6b,0x04,0x0a,0x5e]
+
+v_cvt_pk_rtz_f16_f32 v5, ttmp15, v2
+// GFX11: encoding: [0x7b,0x04,0x0a,0x5e]
+
+v_cvt_pk_rtz_f16_f32 v5, m0, v2
+// GFX11: encoding: [0x7d,0x04,0x0a,0x5e]
+
+v_cvt_pk_rtz_f16_f32 v5, exec_lo, v2
+// GFX11: encoding: [0x7e,0x04,0x0a,0x5e]
+
+v_cvt_pk_rtz_f16_f32 v5, exec_hi, v2
+// GFX11: encoding: [0x7f,0x04,0x0a,0x5e]
+
+v_cvt_pk_rtz_f16_f32 v5, null, v2
+// GFX11: encoding: [0x7c,0x04,0x0a,0x5e]
+
+v_cvt_pk_rtz_f16_f32 v5, -1, v2
+// GFX11: encoding: [0xc1,0x04,0x0a,0x5e]
+
+v_cvt_pk_rtz_f16_f32 v5, 0.5, v2
+// GFX11: encoding: [0xf0,0x04,0x0a,0x5e]
+
+v_cvt_pk_rtz_f16_f32 v5, src_scc, v2
+// GFX11: encoding: [0xfd,0x04,0x0a,0x5e]
+
+v_cvt_pk_rtz_f16_f32 v255, 0xaf123456, v255
+// GFX11: encoding: [0xff,0xfe,0xff,0x5f,0x56,0x34,0x12,0xaf]
+
+v_cvt_pkrtz_f16_f32 v5, v1, v2
+// GFX11: encoding: [0x01,0x05,0x0a,0x5e]
+
+v_cvt_pkrtz_f16_f32 v5, v255, v2
+// GFX11: encoding: [0xff,0x05,0x0a,0x5e]
+
+v_cvt_pkrtz_f16_f32 v5, s1, v2
+// GFX11: encoding: [0x01,0x04,0x0a,0x5e]
+
+v_cvt_pkrtz_f16_f32 v5, s105, v2
+// GFX11: encoding: [0x69,0x04,0x0a,0x5e]
+
+v_cvt_pkrtz_f16_f32 v5, vcc_lo, v2
+// GFX11: encoding: [0x6a,0x04,0x0a,0x5e]
+
+v_cvt_pkrtz_f16_f32 v5, vcc_hi, v2
+// GFX11: encoding: [0x6b,0x04,0x0a,0x5e]
+
+v_cvt_pkrtz_f16_f32 v5, ttmp15, v2
+// GFX11: encoding: [0x7b,0x04,0x0a,0x5e]
+
+v_cvt_pkrtz_f16_f32 v5, m0, v2
+// GFX11: encoding: [0x7d,0x04,0x0a,0x5e]
+
+v_cvt_pkrtz_f16_f32 v5, exec_lo, v2
+// GFX11: encoding: [0x7e,0x04,0x0a,0x5e]
+
+v_cvt_pkrtz_f16_f32 v5, exec_hi, v2
+// GFX11: encoding: [0x7f,0x04,0x0a,0x5e]
+
+v_cvt_pkrtz_f16_f32 v5, null, v2
+// GFX11: encoding: [0x7c,0x04,0x0a,0x5e]
+
+v_cvt_pkrtz_f16_f32 v5, -1, v2
+// GFX11: encoding: [0xc1,0x04,0x0a,0x5e]
+
+v_cvt_pkrtz_f16_f32 v5, 0.5, v2
+// GFX11: encoding: [0xf0,0x04,0x0a,0x5e]
+
+v_cvt_pkrtz_f16_f32 v5, src_scc, v2
+// GFX11: encoding: [0xfd,0x04,0x0a,0x5e]
+
+v_cvt_pkrtz_f16_f32 v255, 0xaf123456, v255
+// GFX11: encoding: [0xff,0xfe,0xff,0x5f,0x56,0x34,0x12,0xaf]
+
+v_dot2acc_f32_f16 v5, v1, v2
+// GFX11: encoding: [0x01,0x05,0x0a,0x04]
+
+v_dot2acc_f32_f16 v5, v255, v2
+// GFX11: encoding: [0xff,0x05,0x0a,0x04]
+
+v_dot2acc_f32_f16 v5, s1, v2
+// GFX11: encoding: [0x01,0x04,0x0a,0x04]
+
+v_dot2acc_f32_f16 v5, s105, v2
+// GFX11: encoding: [0x69,0x04,0x0a,0x04]
+
+v_dot2acc_f32_f16 v5, vcc_lo, v2
+// GFX11: encoding: [0x6a,0x04,0x0a,0x04]
+
+v_dot2acc_f32_f16 v5, vcc_hi, v2
+// GFX11: encoding: [0x6b,0x04,0x0a,0x04]
+
+v_dot2acc_f32_f16 v5, ttmp15, v2
+// GFX11: encoding: [0x7b,0x04,0x0a,0x04]
+
+v_dot2acc_f32_f16 v5, m0, v2
+// GFX11: encoding: [0x7d,0x04,0x0a,0x04]
+
+v_dot2acc_f32_f16 v5, exec_lo, v2
+// GFX11: encoding: [0x7e,0x04,0x0a,0x04]
+
+v_dot2acc_f32_f16 v5, exec_hi, v2
+// GFX11: encoding: [0x7f,0x04,0x0a,0x04]
+
+v_dot2acc_f32_f16 v5, null, v2
+// GFX11: encoding: [0x7c,0x04,0x0a,0x04]
+
+v_dot2acc_f32_f16 v5, -1, v2
+// GFX11: encoding: [0xc1,0x04,0x0a,0x04]
+
+v_dot2acc_f32_f16 v5, 0.5, v2
+// GFX11: encoding: [0xf0,0x04,0x0a,0x04]
+
+v_dot2acc_f32_f16 v5, src_scc, v2
+// GFX11: encoding: [0xfd,0x04,0x0a,0x04]
+
+v_dot2acc_f32_f16 v255, 0xfe0b, v255
+// GFX11: encoding: [0xff,0xfe,0xff,0x05,0x0b,0xfe,0x00,0x00]
+
+v_dot2c_f32_f16 v5, v1, v2
+// GFX11: encoding: [0x01,0x05,0x0a,0x04]
+
+v_dot2c_f32_f16 v5, v...
[truncated]
|
|
@llvm/pr-subscribers-backend-amdgpu Author: Brox Chen (broxigarchen) ChangesThis is a non-functional change update GFX11/GFX12 VOP2 asm/dasm test for true16/fake16:
Patch is 1.14 MiB, truncated to 20.00 KiB below, full version: https://github.com/llvm/llvm-project/pull/113101.diff 26 Files Affected:
diff --git a/llvm/test/MC/AMDGPU/gfx11_asm_vop2-fake16.s b/llvm/test/MC/AMDGPU/gfx11_asm_vop2-fake16.s
new file mode 100644
index 00000000000000..96dd5720894361
--- /dev/null
+++ b/llvm/test/MC/AMDGPU/gfx11_asm_vop2-fake16.s
@@ -0,0 +1,2554 @@
+// RUN: not llvm-mc -triple=amdgcn -mcpu=gfx1100 -mattr=+wavefrontsize32,-real-true16 -show-encoding %s | FileCheck --check-prefixes=GFX11,W32 %s
+// RUN: not llvm-mc -triple=amdgcn -mcpu=gfx1100 -mattr=+wavefrontsize64,-real-true16 -show-encoding %s | FileCheck --check-prefixes=GFX11,W64 %s
+// RUN: not llvm-mc -triple=amdgcn -mcpu=gfx1100 -mattr=+wavefrontsize32,-real-true16 -filetype=null %s 2>&1 | FileCheck --check-prefix=W32-ERR --implicit-check-not=error: %s
+// RUN: not llvm-mc -triple=amdgcn -mcpu=gfx1100 -mattr=+wavefrontsize64,-real-true16 -filetype=null %s 2>&1 | FileCheck --check-prefix=W64-ERR --implicit-check-not=error: %s
+
+v_add_co_ci_u32_e32 v5, vcc_lo, v1, v2, vcc_lo
+// W32: encoding: [0x01,0x05,0x0a,0x40]
+// W64-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
+
+v_add_co_ci_u32 v5, vcc_lo, v255, v2, vcc_lo
+// W32: encoding: [0xff,0x05,0x0a,0x40]
+// W64-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
+
+v_add_co_ci_u32 v5, vcc_lo, s1, v2, vcc_lo
+// W32: encoding: [0x01,0x04,0x0a,0x40]
+// W64-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
+
+v_add_co_ci_u32 v5, vcc_lo, s105, v2, vcc_lo
+// W32: encoding: [0x69,0x04,0x0a,0x40]
+// W64-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
+
+v_add_co_ci_u32 v5, vcc_lo, vcc_lo, v2, vcc_lo
+// W32: encoding: [0x6a,0x04,0x0a,0x40]
+// W64-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
+
+v_add_co_ci_u32 v5, vcc_lo, vcc_hi, v2, vcc_lo
+// W32: encoding: [0x6b,0x04,0x0a,0x40]
+// W64-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
+
+v_add_co_ci_u32 v5, vcc_lo, ttmp15, v2, vcc_lo
+// W32: encoding: [0x7b,0x04,0x0a,0x40]
+// W64-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
+
+v_add_co_ci_u32 v5, vcc_lo, m0, v2, vcc_lo
+// W32: encoding: [0x7d,0x04,0x0a,0x40]
+// W64-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
+
+v_add_co_ci_u32 v5, vcc_lo, exec_lo, v2, vcc_lo
+// W32: encoding: [0x7e,0x04,0x0a,0x40]
+// W64-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
+
+v_add_co_ci_u32 v5, vcc_lo, exec_hi, v2, vcc_lo
+// W32: encoding: [0x7f,0x04,0x0a,0x40]
+// W64-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
+
+v_add_co_ci_u32 v5, vcc_lo, null, v2, vcc_lo
+// W32: encoding: [0x7c,0x04,0x0a,0x40]
+// W64-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
+
+v_add_co_ci_u32 v5, vcc_lo, -1, v2, vcc_lo
+// W32: encoding: [0xc1,0x04,0x0a,0x40]
+// W64-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
+
+v_add_co_ci_u32 v5, vcc_lo, 0.5, v2, vcc_lo
+// W32: encoding: [0xf0,0x04,0x0a,0x40]
+// W64-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
+
+v_add_co_ci_u32 v5, vcc_lo, src_scc, v2, vcc_lo
+// W32: encoding: [0xfd,0x04,0x0a,0x40]
+// W64-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
+
+v_add_co_ci_u32 v255, vcc_lo, 0xaf123456, v255, vcc_lo
+// W32: encoding: [0xff,0xfe,0xff,0x41,0x56,0x34,0x12,0xaf]
+// W64-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
+
+v_add_co_ci_u32 v5, vcc, v1, v2, vcc
+// W64: encoding: [0x01,0x05,0x0a,0x40]
+// W32-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
+
+v_add_co_ci_u32 v5, vcc, v255, v2, vcc
+// W64: encoding: [0xff,0x05,0x0a,0x40]
+// W32-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
+
+v_add_co_ci_u32 v5, vcc, s1, v2, vcc
+// W64: encoding: [0x01,0x04,0x0a,0x40]
+// W32-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
+
+v_add_co_ci_u32 v5, vcc, s105, v2, vcc
+// W64: encoding: [0x69,0x04,0x0a,0x40]
+// W32-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
+
+v_add_co_ci_u32 v5, vcc, vcc_lo, v2, vcc
+// W64: encoding: [0x6a,0x04,0x0a,0x40]
+// W32-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
+
+v_add_co_ci_u32 v5, vcc, vcc_hi, v2, vcc
+// W64: encoding: [0x6b,0x04,0x0a,0x40]
+// W32-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
+
+v_add_co_ci_u32 v5, vcc, ttmp15, v2, vcc
+// W64: encoding: [0x7b,0x04,0x0a,0x40]
+// W32-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
+
+v_add_co_ci_u32 v5, vcc, m0, v2, vcc
+// W64: encoding: [0x7d,0x04,0x0a,0x40]
+// W32-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
+
+v_add_co_ci_u32 v5, vcc, exec_lo, v2, vcc
+// W64: encoding: [0x7e,0x04,0x0a,0x40]
+// W32-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
+
+v_add_co_ci_u32 v5, vcc, exec_hi, v2, vcc
+// W64: encoding: [0x7f,0x04,0x0a,0x40]
+// W32-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
+
+v_add_co_ci_u32 v5, vcc, null, v2, vcc
+// W64: encoding: [0x7c,0x04,0x0a,0x40]
+// W32-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
+
+v_add_co_ci_u32 v5, vcc, -1, v2, vcc
+// W64: encoding: [0xc1,0x04,0x0a,0x40]
+// W32-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
+
+v_add_co_ci_u32 v5, vcc, 0.5, v2, vcc
+// W64: encoding: [0xf0,0x04,0x0a,0x40]
+// W32-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
+
+v_add_co_ci_u32 v5, vcc, src_scc, v2, vcc
+// W64: encoding: [0xfd,0x04,0x0a,0x40]
+// W32-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
+
+v_add_co_ci_u32 v255, vcc, 0xaf123456, v255, vcc
+// W64: encoding: [0xff,0xfe,0xff,0x41,0x56,0x34,0x12,0xaf]
+// W32-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
+
+v_add_f16 v5, v1, v2
+// GFX11: encoding: [0x01,0x05,0x0a,0x64]
+
+v_add_f16 v5, v127, v2
+// GFX11: encoding: [0x7f,0x05,0x0a,0x64]
+
+v_add_f16 v5, s1, v2
+// GFX11: encoding: [0x01,0x04,0x0a,0x64]
+
+v_add_f16 v5, s105, v2
+// GFX11: encoding: [0x69,0x04,0x0a,0x64]
+
+v_add_f16 v5, vcc_lo, v2
+// GFX11: encoding: [0x6a,0x04,0x0a,0x64]
+
+v_add_f16 v5, vcc_hi, v2
+// GFX11: encoding: [0x6b,0x04,0x0a,0x64]
+
+v_add_f16 v5, ttmp15, v2
+// GFX11: encoding: [0x7b,0x04,0x0a,0x64]
+
+v_add_f16 v5, m0, v2
+// GFX11: encoding: [0x7d,0x04,0x0a,0x64]
+
+v_add_f16 v5, exec_lo, v2
+// GFX11: encoding: [0x7e,0x04,0x0a,0x64]
+
+v_add_f16 v5, exec_hi, v2
+// GFX11: encoding: [0x7f,0x04,0x0a,0x64]
+
+v_add_f16 v5, null, v2
+// GFX11: encoding: [0x7c,0x04,0x0a,0x64]
+
+v_add_f16 v5, -1, v2
+// GFX11: encoding: [0xc1,0x04,0x0a,0x64]
+
+v_add_f16 v5, 0.5, v2
+// GFX11: encoding: [0xf0,0x04,0x0a,0x64]
+
+v_add_f16 v5, src_scc, v2
+// GFX11: encoding: [0xfd,0x04,0x0a,0x64]
+
+v_add_f16 v127, 0xfe0b, v127
+// GFX11: encoding: [0xff,0xfe,0xfe,0x64,0x0b,0xfe,0x00,0x00]
+
+v_add_f32 v5, v1, v2
+// GFX11: encoding: [0x01,0x05,0x0a,0x06]
+
+v_add_f32 v5, v255, v2
+// GFX11: encoding: [0xff,0x05,0x0a,0x06]
+
+v_add_f32 v5, s1, v2
+// GFX11: encoding: [0x01,0x04,0x0a,0x06]
+
+v_add_f32 v5, s105, v2
+// GFX11: encoding: [0x69,0x04,0x0a,0x06]
+
+v_add_f32 v5, vcc_lo, v2
+// GFX11: encoding: [0x6a,0x04,0x0a,0x06]
+
+v_add_f32 v5, vcc_hi, v2
+// GFX11: encoding: [0x6b,0x04,0x0a,0x06]
+
+v_add_f32 v5, ttmp15, v2
+// GFX11: encoding: [0x7b,0x04,0x0a,0x06]
+
+v_add_f32 v5, m0, v2
+// GFX11: encoding: [0x7d,0x04,0x0a,0x06]
+
+v_add_f32 v5, exec_lo, v2
+// GFX11: encoding: [0x7e,0x04,0x0a,0x06]
+
+v_add_f32 v5, exec_hi, v2
+// GFX11: encoding: [0x7f,0x04,0x0a,0x06]
+
+v_add_f32 v5, null, v2
+// GFX11: encoding: [0x7c,0x04,0x0a,0x06]
+
+v_add_f32 v5, -1, v2
+// GFX11: encoding: [0xc1,0x04,0x0a,0x06]
+
+v_add_f32 v5, 0.5, v2
+// GFX11: encoding: [0xf0,0x04,0x0a,0x06]
+
+v_add_f32 v5, src_scc, v2
+// GFX11: encoding: [0xfd,0x04,0x0a,0x06]
+
+v_add_f32 v255, 0xaf123456, v255
+// GFX11: encoding: [0xff,0xfe,0xff,0x07,0x56,0x34,0x12,0xaf]
+
+v_add_nc_u32 v5, v1, v2
+// GFX11: encoding: [0x01,0x05,0x0a,0x4a]
+
+v_add_nc_u32 v5, v255, v2
+// GFX11: encoding: [0xff,0x05,0x0a,0x4a]
+
+v_add_nc_u32 v5, s1, v2
+// GFX11: encoding: [0x01,0x04,0x0a,0x4a]
+
+v_add_nc_u32 v5, s105, v2
+// GFX11: encoding: [0x69,0x04,0x0a,0x4a]
+
+v_add_nc_u32 v5, vcc_lo, v2
+// GFX11: encoding: [0x6a,0x04,0x0a,0x4a]
+
+v_add_nc_u32 v5, vcc_hi, v2
+// GFX11: encoding: [0x6b,0x04,0x0a,0x4a]
+
+v_add_nc_u32 v5, ttmp15, v2
+// GFX11: encoding: [0x7b,0x04,0x0a,0x4a]
+
+v_add_nc_u32 v5, m0, v2
+// GFX11: encoding: [0x7d,0x04,0x0a,0x4a]
+
+v_add_nc_u32 v5, exec_lo, v2
+// GFX11: encoding: [0x7e,0x04,0x0a,0x4a]
+
+v_add_nc_u32 v5, exec_hi, v2
+// GFX11: encoding: [0x7f,0x04,0x0a,0x4a]
+
+v_add_nc_u32 v5, null, v2
+// GFX11: encoding: [0x7c,0x04,0x0a,0x4a]
+
+v_add_nc_u32 v5, -1, v2
+// GFX11: encoding: [0xc1,0x04,0x0a,0x4a]
+
+v_add_nc_u32 v5, 0.5, v2
+// GFX11: encoding: [0xf0,0x04,0x0a,0x4a]
+
+v_add_nc_u32 v5, src_scc, v2
+// GFX11: encoding: [0xfd,0x04,0x0a,0x4a]
+
+v_add_nc_u32 v255, 0xaf123456, v255
+// GFX11: encoding: [0xff,0xfe,0xff,0x4b,0x56,0x34,0x12,0xaf]
+
+v_and_b32 v5, v1, v2
+// GFX11: encoding: [0x01,0x05,0x0a,0x36]
+
+v_and_b32 v5, v255, v2
+// GFX11: encoding: [0xff,0x05,0x0a,0x36]
+
+v_and_b32 v5, s1, v2
+// GFX11: encoding: [0x01,0x04,0x0a,0x36]
+
+v_and_b32 v5, s105, v2
+// GFX11: encoding: [0x69,0x04,0x0a,0x36]
+
+v_and_b32 v5, vcc_lo, v2
+// GFX11: encoding: [0x6a,0x04,0x0a,0x36]
+
+v_and_b32 v5, vcc_hi, v2
+// GFX11: encoding: [0x6b,0x04,0x0a,0x36]
+
+v_and_b32 v5, ttmp15, v2
+// GFX11: encoding: [0x7b,0x04,0x0a,0x36]
+
+v_and_b32 v5, m0, v2
+// GFX11: encoding: [0x7d,0x04,0x0a,0x36]
+
+v_and_b32 v5, exec_lo, v2
+// GFX11: encoding: [0x7e,0x04,0x0a,0x36]
+
+v_and_b32 v5, exec_hi, v2
+// GFX11: encoding: [0x7f,0x04,0x0a,0x36]
+
+v_and_b32 v5, null, v2
+// GFX11: encoding: [0x7c,0x04,0x0a,0x36]
+
+v_and_b32 v5, -1, v2
+// GFX11: encoding: [0xc1,0x04,0x0a,0x36]
+
+v_and_b32 v5, 0.5, v2
+// GFX11: encoding: [0xf0,0x04,0x0a,0x36]
+
+v_and_b32 v5, src_scc, v2
+// GFX11: encoding: [0xfd,0x04,0x0a,0x36]
+
+v_and_b32 v255, 0xaf123456, v255
+// GFX11: encoding: [0xff,0xfe,0xff,0x37,0x56,0x34,0x12,0xaf]
+
+v_ashrrev_i32 v5, v1, v2
+// GFX11: encoding: [0x01,0x05,0x0a,0x34]
+
+v_ashrrev_i32 v5, v255, v2
+// GFX11: encoding: [0xff,0x05,0x0a,0x34]
+
+v_ashrrev_i32 v5, s1, v2
+// GFX11: encoding: [0x01,0x04,0x0a,0x34]
+
+v_ashrrev_i32 v5, s105, v2
+// GFX11: encoding: [0x69,0x04,0x0a,0x34]
+
+v_ashrrev_i32 v5, vcc_lo, v2
+// GFX11: encoding: [0x6a,0x04,0x0a,0x34]
+
+v_ashrrev_i32 v5, vcc_hi, v2
+// GFX11: encoding: [0x6b,0x04,0x0a,0x34]
+
+v_ashrrev_i32 v5, ttmp15, v2
+// GFX11: encoding: [0x7b,0x04,0x0a,0x34]
+
+v_ashrrev_i32 v5, m0, v2
+// GFX11: encoding: [0x7d,0x04,0x0a,0x34]
+
+v_ashrrev_i32 v5, exec_lo, v2
+// GFX11: encoding: [0x7e,0x04,0x0a,0x34]
+
+v_ashrrev_i32 v5, exec_hi, v2
+// GFX11: encoding: [0x7f,0x04,0x0a,0x34]
+
+v_ashrrev_i32 v5, null, v2
+// GFX11: encoding: [0x7c,0x04,0x0a,0x34]
+
+v_ashrrev_i32 v5, -1, v2
+// GFX11: encoding: [0xc1,0x04,0x0a,0x34]
+
+v_ashrrev_i32 v5, 0.5, v2
+// GFX11: encoding: [0xf0,0x04,0x0a,0x34]
+
+v_ashrrev_i32 v5, src_scc, v2
+// GFX11: encoding: [0xfd,0x04,0x0a,0x34]
+
+v_ashrrev_i32 v255, 0xaf123456, v255
+// GFX11: encoding: [0xff,0xfe,0xff,0x35,0x56,0x34,0x12,0xaf]
+
+v_cndmask_b32 v5, v1, v2, vcc_lo
+// W32: encoding: [0x01,0x05,0x0a,0x02]
+// W64-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
+
+v_cndmask_b32 v5, v255, v2, vcc_lo
+// W32: encoding: [0xff,0x05,0x0a,0x02]
+// W64-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
+
+v_cndmask_b32 v5, s1, v2, vcc_lo
+// W32: encoding: [0x01,0x04,0x0a,0x02]
+// W64-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
+
+v_cndmask_b32 v5, s105, v2, vcc_lo
+// W32: encoding: [0x69,0x04,0x0a,0x02]
+// W64-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
+
+v_cndmask_b32 v5, vcc_lo, v2, vcc_lo
+// W32: encoding: [0x6a,0x04,0x0a,0x02]
+// W64-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
+
+v_cndmask_b32 v5, vcc_hi, v2, vcc_lo
+// W32: encoding: [0x6b,0x04,0x0a,0x02]
+// W64-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
+
+v_cndmask_b32 v5, ttmp15, v2, vcc_lo
+// W32: encoding: [0x7b,0x04,0x0a,0x02]
+// W64-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
+
+v_cndmask_b32 v5, m0, v2, vcc_lo
+// W32: encoding: [0x7d,0x04,0x0a,0x02]
+// W64-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
+
+v_cndmask_b32 v5, exec_lo, v2, vcc_lo
+// W32: encoding: [0x7e,0x04,0x0a,0x02]
+// W64-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
+
+v_cndmask_b32 v5, exec_hi, v2, vcc_lo
+// W32: encoding: [0x7f,0x04,0x0a,0x02]
+// W64-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
+
+v_cndmask_b32 v5, null, v2, vcc_lo
+// W32: encoding: [0x7c,0x04,0x0a,0x02]
+// W64-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
+
+v_cndmask_b32 v5, -1, v2, vcc_lo
+// W32: encoding: [0xc1,0x04,0x0a,0x02]
+// W64-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
+
+v_cndmask_b32 v5, 0.5, v2, vcc_lo
+// W32: encoding: [0xf0,0x04,0x0a,0x02]
+// W64-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
+
+v_cndmask_b32 v5, src_scc, v2, vcc_lo
+// W32: encoding: [0xfd,0x04,0x0a,0x02]
+// W64-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
+
+v_cndmask_b32 v255, 0xaf123456, v255, vcc_lo
+// W32: encoding: [0xff,0xfe,0xff,0x03,0x56,0x34,0x12,0xaf]
+// W64-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
+
+v_cndmask_b32 v5, v1, v2, vcc
+// W64: encoding: [0x01,0x05,0x0a,0x02]
+// W32-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
+
+v_cndmask_b32 v5, v255, v2, vcc
+// W64: encoding: [0xff,0x05,0x0a,0x02]
+// W32-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
+
+v_cndmask_b32 v5, s1, v2, vcc
+// W64: encoding: [0x01,0x04,0x0a,0x02]
+// W32-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
+
+v_cndmask_b32 v5, s105, v2, vcc
+// W64: encoding: [0x69,0x04,0x0a,0x02]
+// W32-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
+
+v_cndmask_b32 v5, vcc_lo, v2, vcc
+// W64: encoding: [0x6a,0x04,0x0a,0x02]
+// W32-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
+
+v_cndmask_b32 v5, vcc_hi, v2, vcc
+// W64: encoding: [0x6b,0x04,0x0a,0x02]
+// W32-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
+
+v_cndmask_b32 v5, ttmp15, v2, vcc
+// W64: encoding: [0x7b,0x04,0x0a,0x02]
+// W32-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
+
+v_cndmask_b32 v5, m0, v2, vcc
+// W64: encoding: [0x7d,0x04,0x0a,0x02]
+// W32-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
+
+v_cndmask_b32 v5, exec_lo, v2, vcc
+// W64: encoding: [0x7e,0x04,0x0a,0x02]
+// W32-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
+
+v_cndmask_b32 v5, exec_hi, v2, vcc
+// W64: encoding: [0x7f,0x04,0x0a,0x02]
+// W32-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
+
+v_cndmask_b32 v5, null, v2, vcc
+// W64: encoding: [0x7c,0x04,0x0a,0x02]
+// W32-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
+
+v_cndmask_b32 v5, -1, v2, vcc
+// W64: encoding: [0xc1,0x04,0x0a,0x02]
+// W32-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
+
+v_cndmask_b32 v5, 0.5, v2, vcc
+// W64: encoding: [0xf0,0x04,0x0a,0x02]
+// W32-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
+
+v_cndmask_b32 v5, src_scc, v2, vcc
+// W64: encoding: [0xfd,0x04,0x0a,0x02]
+// W32-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
+
+v_cndmask_b32 v255, 0xaf123456, v255, vcc
+// W64: encoding: [0xff,0xfe,0xff,0x03,0x56,0x34,0x12,0xaf]
+// W32-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
+
+v_cvt_pk_rtz_f16_f32 v5, v1, v2
+// GFX11: encoding: [0x01,0x05,0x0a,0x5e]
+
+v_cvt_pk_rtz_f16_f32 v5, v255, v2
+// GFX11: encoding: [0xff,0x05,0x0a,0x5e]
+
+v_cvt_pk_rtz_f16_f32 v5, s1, v2
+// GFX11: encoding: [0x01,0x04,0x0a,0x5e]
+
+v_cvt_pk_rtz_f16_f32 v5, s105, v2
+// GFX11: encoding: [0x69,0x04,0x0a,0x5e]
+
+v_cvt_pk_rtz_f16_f32 v5, vcc_lo, v2
+// GFX11: encoding: [0x6a,0x04,0x0a,0x5e]
+
+v_cvt_pk_rtz_f16_f32 v5, vcc_hi, v2
+// GFX11: encoding: [0x6b,0x04,0x0a,0x5e]
+
+v_cvt_pk_rtz_f16_f32 v5, ttmp15, v2
+// GFX11: encoding: [0x7b,0x04,0x0a,0x5e]
+
+v_cvt_pk_rtz_f16_f32 v5, m0, v2
+// GFX11: encoding: [0x7d,0x04,0x0a,0x5e]
+
+v_cvt_pk_rtz_f16_f32 v5, exec_lo, v2
+// GFX11: encoding: [0x7e,0x04,0x0a,0x5e]
+
+v_cvt_pk_rtz_f16_f32 v5, exec_hi, v2
+// GFX11: encoding: [0x7f,0x04,0x0a,0x5e]
+
+v_cvt_pk_rtz_f16_f32 v5, null, v2
+// GFX11: encoding: [0x7c,0x04,0x0a,0x5e]
+
+v_cvt_pk_rtz_f16_f32 v5, -1, v2
+// GFX11: encoding: [0xc1,0x04,0x0a,0x5e]
+
+v_cvt_pk_rtz_f16_f32 v5, 0.5, v2
+// GFX11: encoding: [0xf0,0x04,0x0a,0x5e]
+
+v_cvt_pk_rtz_f16_f32 v5, src_scc, v2
+// GFX11: encoding: [0xfd,0x04,0x0a,0x5e]
+
+v_cvt_pk_rtz_f16_f32 v255, 0xaf123456, v255
+// GFX11: encoding: [0xff,0xfe,0xff,0x5f,0x56,0x34,0x12,0xaf]
+
+v_cvt_pkrtz_f16_f32 v5, v1, v2
+// GFX11: encoding: [0x01,0x05,0x0a,0x5e]
+
+v_cvt_pkrtz_f16_f32 v5, v255, v2
+// GFX11: encoding: [0xff,0x05,0x0a,0x5e]
+
+v_cvt_pkrtz_f16_f32 v5, s1, v2
+// GFX11: encoding: [0x01,0x04,0x0a,0x5e]
+
+v_cvt_pkrtz_f16_f32 v5, s105, v2
+// GFX11: encoding: [0x69,0x04,0x0a,0x5e]
+
+v_cvt_pkrtz_f16_f32 v5, vcc_lo, v2
+// GFX11: encoding: [0x6a,0x04,0x0a,0x5e]
+
+v_cvt_pkrtz_f16_f32 v5, vcc_hi, v2
+// GFX11: encoding: [0x6b,0x04,0x0a,0x5e]
+
+v_cvt_pkrtz_f16_f32 v5, ttmp15, v2
+// GFX11: encoding: [0x7b,0x04,0x0a,0x5e]
+
+v_cvt_pkrtz_f16_f32 v5, m0, v2
+// GFX11: encoding: [0x7d,0x04,0x0a,0x5e]
+
+v_cvt_pkrtz_f16_f32 v5, exec_lo, v2
+// GFX11: encoding: [0x7e,0x04,0x0a,0x5e]
+
+v_cvt_pkrtz_f16_f32 v5, exec_hi, v2
+// GFX11: encoding: [0x7f,0x04,0x0a,0x5e]
+
+v_cvt_pkrtz_f16_f32 v5, null, v2
+// GFX11: encoding: [0x7c,0x04,0x0a,0x5e]
+
+v_cvt_pkrtz_f16_f32 v5, -1, v2
+// GFX11: encoding: [0xc1,0x04,0x0a,0x5e]
+
+v_cvt_pkrtz_f16_f32 v5, 0.5, v2
+// GFX11: encoding: [0xf0,0x04,0x0a,0x5e]
+
+v_cvt_pkrtz_f16_f32 v5, src_scc, v2
+// GFX11: encoding: [0xfd,0x04,0x0a,0x5e]
+
+v_cvt_pkrtz_f16_f32 v255, 0xaf123456, v255
+// GFX11: encoding: [0xff,0xfe,0xff,0x5f,0x56,0x34,0x12,0xaf]
+
+v_dot2acc_f32_f16 v5, v1, v2
+// GFX11: encoding: [0x01,0x05,0x0a,0x04]
+
+v_dot2acc_f32_f16 v5, v255, v2
+// GFX11: encoding: [0xff,0x05,0x0a,0x04]
+
+v_dot2acc_f32_f16 v5, s1, v2
+// GFX11: encoding: [0x01,0x04,0x0a,0x04]
+
+v_dot2acc_f32_f16 v5, s105, v2
+// GFX11: encoding: [0x69,0x04,0x0a,0x04]
+
+v_dot2acc_f32_f16 v5, vcc_lo, v2
+// GFX11: encoding: [0x6a,0x04,0x0a,0x04]
+
+v_dot2acc_f32_f16 v5, vcc_hi, v2
+// GFX11: encoding: [0x6b,0x04,0x0a,0x04]
+
+v_dot2acc_f32_f16 v5, ttmp15, v2
+// GFX11: encoding: [0x7b,0x04,0x0a,0x04]
+
+v_dot2acc_f32_f16 v5, m0, v2
+// GFX11: encoding: [0x7d,0x04,0x0a,0x04]
+
+v_dot2acc_f32_f16 v5, exec_lo, v2
+// GFX11: encoding: [0x7e,0x04,0x0a,0x04]
+
+v_dot2acc_f32_f16 v5, exec_hi, v2
+// GFX11: encoding: [0x7f,0x04,0x0a,0x04]
+
+v_dot2acc_f32_f16 v5, null, v2
+// GFX11: encoding: [0x7c,0x04,0x0a,0x04]
+
+v_dot2acc_f32_f16 v5, -1, v2
+// GFX11: encoding: [0xc1,0x04,0x0a,0x04]
+
+v_dot2acc_f32_f16 v5, 0.5, v2
+// GFX11: encoding: [0xf0,0x04,0x0a,0x04]
+
+v_dot2acc_f32_f16 v5, src_scc, v2
+// GFX11: encoding: [0xfd,0x04,0x0a,0x04]
+
+v_dot2acc_f32_f16 v255, 0xfe0b, v255
+// GFX11: encoding: [0xff,0xfe,0xff,0x05,0x0b,0xfe,0x00,0x00]
+
+v_dot2c_f32_f16 v5, v1, v2
+// GFX11: encoding: [0x01,0x05,0x0a,0x04]
+
+v_dot2c_f32_f16 v5, v...
[truncated]
|
|
ping! |
|
For clarity, please correct these typos in the commit message.
should be "-mattr=+real-true16"
should be "*t16_err.s" and "*t16_promote.s" |
done! |
Sisyph
left a comment
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
2337058 to
14a4f8c
Compare
arsenm
left a comment
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.
I would prefer for documentation purposes at least to sort by most matched prefixes.
The divergence in different update_test scripts is also annoying
I see. I think I'll add some comments on top of the script to explain about what it does. Thanks! |
…lvm#113101) This is a non-functional change update GFX11/GFX12 VOP2 asm/dasm test for true16/fake16: 1. duplicate files to be true16/fake16 by adding "-mattr=+real-true16/-mattr=-real-true16" while true16 test file will be updated to true16 format when the true16 instructions are supported 2. sort "*t16_err.s" and "*t16_promote.s" tests to alphabetic order. This is for the upcoming true16 mc changes, and mainly trying to help repo maintainer to resolve conflicts in the tests quickly. A script is proposed to help for the sorting llvm#111769. Since these two files are t16 only, it should not create conflicts in downstream branches 3. add -filetype=null to seperate stdout and stderr to avoid disordered output from llvm-mc
This is a non-functional change
update GFX11/GFX12 VOP2 asm/dasm test for true16/fake16: