[llvm] 500eef2 - [AMDGPU][MC][GFX11][NFC] Add missing tests for SOP instructions

Dmitry Preobrazhensky via llvm-commits llvm-commits at lists.llvm.org
Thu Aug 25 03:18:12 PDT 2022


Author: Dmitry Preobrazhensky
Date: 2022-08-25T13:16:21+03:00
New Revision: 500eef249a2ad22e57425efe9d021111bdeb2ea1

URL: https://github.com/llvm/llvm-project/commit/500eef249a2ad22e57425efe9d021111bdeb2ea1
DIFF: https://github.com/llvm/llvm-project/commit/500eef249a2ad22e57425efe9d021111bdeb2ea1.diff

LOG: [AMDGPU][MC][GFX11][NFC] Add missing tests for SOP instructions

Differential Revision: https://reviews.llvm.org/D132549

Added: 
    

Modified: 
    llvm/test/MC/AMDGPU/gfx11_asm_sop1.s
    llvm/test/MC/AMDGPU/gfx11_asm_sop2.s
    llvm/test/MC/AMDGPU/gfx11_asm_sopp.s

Removed: 
    


################################################################################
diff  --git a/llvm/test/MC/AMDGPU/gfx11_asm_sop1.s b/llvm/test/MC/AMDGPU/gfx11_asm_sop1.s
index c9adf70a0814d..ec28c1547d4e4 100644
--- a/llvm/test/MC/AMDGPU/gfx11_asm_sop1.s
+++ b/llvm/test/MC/AMDGPU/gfx11_asm_sop1.s
@@ -2964,11 +2964,569 @@ s_sendmsg_rtn_b32 s0, sendmsg(MSG_RTN_SAVE_WAVE)
 s_sendmsg_rtn_b32 s0, sendmsg(MSG_RTN_GET_TBA)
 // GFX11: encoding: [0x85,0x4c,0x80,0xbe]
 
-s_ctz_i32_b32 s0, s104
-// GFX11: encoding: [0x68,0x08,0x80,0xbe]
+s_ctz_i32_b32 s5, s1
+// GFX11: encoding: [0x01,0x08,0x85,0xbe]
 
-s_ctz_i32_b64 s0, s[2:3]
-// GFX11: encoding: [0x02,0x09,0x80,0xbe]
+s_ctz_i32_b32 s5, s105
+// GFX11: encoding: [0x69,0x08,0x85,0xbe]
 
-s_and_not1_saveexec_b64 s[104:105], s[102:103]
-// GFX11: encoding: [0x66,0x31,0xe8,0xbe]
+s_ctz_i32_b32 s5, vcc_lo
+// GFX11: encoding: [0x6a,0x08,0x85,0xbe]
+
+s_ctz_i32_b32 s5, vcc_hi
+// GFX11: encoding: [0x6b,0x08,0x85,0xbe]
+
+s_ctz_i32_b32 s5, ttmp15
+// GFX11: encoding: [0x7b,0x08,0x85,0xbe]
+
+s_ctz_i32_b32 s105, m0
+// GFX11: encoding: [0x7d,0x08,0xe9,0xbe]
+
+s_ctz_i32_b32 vcc_lo, exec_lo
+// GFX11: encoding: [0x7e,0x08,0xea,0xbe]
+
+s_ctz_i32_b32 vcc_hi, exec_hi
+// GFX11: encoding: [0x7f,0x08,0xeb,0xbe]
+
+s_ctz_i32_b32 ttmp15, null
+// GFX11: encoding: [0x7c,0x08,0xfb,0xbe]
+
+s_ctz_i32_b32 m0, -1
+// GFX11: encoding: [0xc1,0x08,0xfd,0xbe]
+
+s_ctz_i32_b32 exec_lo, 0.5
+// GFX11: encoding: [0xf0,0x08,0xfe,0xbe]
+
+s_ctz_i32_b32 exec_hi, src_scc
+// GFX11: encoding: [0xfd,0x08,0xff,0xbe]
+
+s_ctz_i32_b32 null, 0xaf123456
+// GFX11: encoding: [0xff,0x08,0xfc,0xbe,0x56,0x34,0x12,0xaf]
+
+s_ctz_i32_b64 s5, s[2:3]
+// GFX11: encoding: [0x02,0x09,0x85,0xbe]
+
+s_ctz_i32_b64 s5, s[104:105]
+// GFX11: encoding: [0x68,0x09,0x85,0xbe]
+
+s_ctz_i32_b64 s105, vcc
+// GFX11: encoding: [0x6a,0x09,0xe9,0xbe]
+
+s_ctz_i32_b64 vcc_lo, ttmp[14:15]
+// GFX11: encoding: [0x7a,0x09,0xea,0xbe]
+
+s_ctz_i32_b64 vcc_hi, exec
+// GFX11: encoding: [0x7e,0x09,0xeb,0xbe]
+
+s_ctz_i32_b64 ttmp15, null
+// GFX11: encoding: [0x7c,0x09,0xfb,0xbe]
+
+s_ctz_i32_b64 m0, -1
+// GFX11: encoding: [0xc1,0x09,0xfd,0xbe]
+
+s_ctz_i32_b64 exec_lo, 0.5
+// GFX11: encoding: [0xf0,0x09,0xfe,0xbe]
+
+s_ctz_i32_b64 exec_hi, src_scc
+// GFX11: encoding: [0xfd,0x09,0xff,0xbe]
+
+s_ctz_i32_b64 null, 0xaf123456
+// GFX11: encoding: [0xff,0x09,0xfc,0xbe,0x56,0x34,0x12,0xaf]
+
+s_and_not1_saveexec_b64 s[10:11], s[2:3]
+// GFX11: encoding: [0x02,0x31,0x8a,0xbe]
+
+s_and_not1_saveexec_b64 s[10:11], s[104:105]
+// GFX11: encoding: [0x68,0x31,0x8a,0xbe]
+
+s_and_not1_saveexec_b64 s[10:11], vcc
+// GFX11: encoding: [0x6a,0x31,0x8a,0xbe]
+
+s_and_not1_saveexec_b64 s[10:11], ttmp[14:15]
+// GFX11: encoding: [0x7a,0x31,0x8a,0xbe]
+
+s_and_not1_saveexec_b64 s[10:11], null
+// GFX11: encoding: [0x7c,0x31,0x8a,0xbe]
+
+s_and_not1_saveexec_b64 s[104:105], -1
+// GFX11: encoding: [0xc1,0x31,0xe8,0xbe]
+
+s_and_not1_saveexec_b64 vcc, 0.5
+// GFX11: encoding: [0xf0,0x31,0xea,0xbe]
+
+s_and_not1_saveexec_b64 ttmp[14:15], src_scc
+// GFX11: encoding: [0xfd,0x31,0xfa,0xbe]
+
+s_and_not1_saveexec_b64 null, 0xaf123456
+// GFX11: encoding: [0xff,0x31,0xfc,0xbe,0x56,0x34,0x12,0xaf]
+
+s_and_not0_saveexec_b32 s5, s1
+// GFX11: encoding: [0x01,0x2c,0x85,0xbe]
+
+s_and_not0_saveexec_b32 s5, s105
+// GFX11: encoding: [0x69,0x2c,0x85,0xbe]
+
+s_and_not0_saveexec_b32 s5, vcc_lo
+// GFX11: encoding: [0x6a,0x2c,0x85,0xbe]
+
+s_and_not0_saveexec_b32 s5, vcc_hi
+// GFX11: encoding: [0x6b,0x2c,0x85,0xbe]
+
+s_and_not0_saveexec_b32 s5, ttmp15
+// GFX11: encoding: [0x7b,0x2c,0x85,0xbe]
+
+s_and_not0_saveexec_b32 s5, exec_lo
+// GFX11: encoding: [0x7e,0x2c,0x85,0xbe]
+
+s_and_not0_saveexec_b32 s105, null
+// GFX11: encoding: [0x7c,0x2c,0xe9,0xbe]
+
+s_and_not0_saveexec_b32 vcc_lo, -1
+// GFX11: encoding: [0xc1,0x2c,0xea,0xbe]
+
+s_and_not0_saveexec_b32 vcc_hi, 0.5
+// GFX11: encoding: [0xf0,0x2c,0xeb,0xbe]
+
+s_and_not0_saveexec_b32 ttmp15, src_scc
+// GFX11: encoding: [0xfd,0x2c,0xfb,0xbe]
+
+s_and_not0_saveexec_b32 null, 0xaf123456
+// GFX11: encoding: [0xff,0x2c,0xfc,0xbe,0x56,0x34,0x12,0xaf]
+
+s_and_not0_saveexec_b64 s[10:11], s[2:3]
+// GFX11: encoding: [0x02,0x2d,0x8a,0xbe]
+
+s_and_not0_saveexec_b64 s[10:11], s[104:105]
+// GFX11: encoding: [0x68,0x2d,0x8a,0xbe]
+
+s_and_not0_saveexec_b64 s[10:11], vcc
+// GFX11: encoding: [0x6a,0x2d,0x8a,0xbe]
+
+s_and_not0_saveexec_b64 s[10:11], ttmp[14:15]
+// GFX11: encoding: [0x7a,0x2d,0x8a,0xbe]
+
+s_and_not0_saveexec_b64 s[10:11], null
+// GFX11: encoding: [0x7c,0x2d,0x8a,0xbe]
+
+s_and_not0_saveexec_b64 s[104:105], -1
+// GFX11: encoding: [0xc1,0x2d,0xe8,0xbe]
+
+s_and_not0_saveexec_b64 vcc, 0.5
+// GFX11: encoding: [0xf0,0x2d,0xea,0xbe]
+
+s_and_not0_saveexec_b64 ttmp[14:15], src_scc
+// GFX11: encoding: [0xfd,0x2d,0xfa,0xbe]
+
+s_and_not0_saveexec_b64 null, 0xaf123456
+// GFX11: encoding: [0xff,0x2d,0xfc,0xbe,0x56,0x34,0x12,0xaf]
+
+s_and_not0_wrexec_b32 s5, s1
+// GFX11: encoding: [0x01,0x34,0x85,0xbe]
+
+s_and_not0_wrexec_b32 s5, s105
+// GFX11: encoding: [0x69,0x34,0x85,0xbe]
+
+s_and_not0_wrexec_b32 s5, vcc_lo
+// GFX11: encoding: [0x6a,0x34,0x85,0xbe]
+
+s_and_not0_wrexec_b32 s5, vcc_hi
+// GFX11: encoding: [0x6b,0x34,0x85,0xbe]
+
+s_and_not0_wrexec_b32 s5, ttmp15
+// GFX11: encoding: [0x7b,0x34,0x85,0xbe]
+
+s_and_not0_wrexec_b32 s5, exec_lo
+// GFX11: encoding: [0x7e,0x34,0x85,0xbe]
+
+s_and_not0_wrexec_b32 s105, null
+// GFX11: encoding: [0x7c,0x34,0xe9,0xbe]
+
+s_and_not0_wrexec_b32 vcc_lo, -1
+// GFX11: encoding: [0xc1,0x34,0xea,0xbe]
+
+s_and_not0_wrexec_b32 vcc_hi, 0.5
+// GFX11: encoding: [0xf0,0x34,0xeb,0xbe]
+
+s_and_not0_wrexec_b32 ttmp15, src_scc
+// GFX11: encoding: [0xfd,0x34,0xfb,0xbe]
+
+s_and_not0_wrexec_b32 null, 0xaf123456
+// GFX11: encoding: [0xff,0x34,0xfc,0xbe,0x56,0x34,0x12,0xaf]
+
+s_and_not0_wrexec_b64 s[10:11], s[2:3]
+// GFX11: encoding: [0x02,0x35,0x8a,0xbe]
+
+s_and_not0_wrexec_b64 s[10:11], s[104:105]
+// GFX11: encoding: [0x68,0x35,0x8a,0xbe]
+
+s_and_not0_wrexec_b64 s[10:11], vcc
+// GFX11: encoding: [0x6a,0x35,0x8a,0xbe]
+
+s_and_not0_wrexec_b64 s[10:11], ttmp[14:15]
+// GFX11: encoding: [0x7a,0x35,0x8a,0xbe]
+
+s_and_not0_wrexec_b64 s[10:11], null
+// GFX11: encoding: [0x7c,0x35,0x8a,0xbe]
+
+s_and_not0_wrexec_b64 s[104:105], -1
+// GFX11: encoding: [0xc1,0x35,0xe8,0xbe]
+
+s_and_not0_wrexec_b64 vcc, 0.5
+// GFX11: encoding: [0xf0,0x35,0xea,0xbe]
+
+s_and_not0_wrexec_b64 ttmp[14:15], src_scc
+// GFX11: encoding: [0xfd,0x35,0xfa,0xbe]
+
+s_and_not0_wrexec_b64 null, 0xaf123456
+// GFX11: encoding: [0xff,0x35,0xfc,0xbe,0x56,0x34,0x12,0xaf]
+
+s_and_not1_saveexec_b32 s5, s1
+// GFX11: encoding: [0x01,0x30,0x85,0xbe]
+
+s_and_not1_saveexec_b32 s5, s105
+// GFX11: encoding: [0x69,0x30,0x85,0xbe]
+
+s_and_not1_saveexec_b32 s5, vcc_lo
+// GFX11: encoding: [0x6a,0x30,0x85,0xbe]
+
+s_and_not1_saveexec_b32 s5, vcc_hi
+// GFX11: encoding: [0x6b,0x30,0x85,0xbe]
+
+s_and_not1_saveexec_b32 s5, ttmp15
+// GFX11: encoding: [0x7b,0x30,0x85,0xbe]
+
+s_and_not1_saveexec_b32 s5, exec_lo
+// GFX11: encoding: [0x7e,0x30,0x85,0xbe]
+
+s_and_not1_saveexec_b32 s105, null
+// GFX11: encoding: [0x7c,0x30,0xe9,0xbe]
+
+s_and_not1_saveexec_b32 vcc_lo, -1
+// GFX11: encoding: [0xc1,0x30,0xea,0xbe]
+
+s_and_not1_saveexec_b32 vcc_hi, 0.5
+// GFX11: encoding: [0xf0,0x30,0xeb,0xbe]
+
+s_and_not1_saveexec_b32 ttmp15, src_scc
+// GFX11: encoding: [0xfd,0x30,0xfb,0xbe]
+
+s_and_not1_saveexec_b32 null, 0xaf123456
+// GFX11: encoding: [0xff,0x30,0xfc,0xbe,0x56,0x34,0x12,0xaf]
+
+s_and_not1_wrexec_b32 s5, s1
+// GFX11: encoding: [0x01,0x36,0x85,0xbe]
+
+s_and_not1_wrexec_b32 s5, s105
+// GFX11: encoding: [0x69,0x36,0x85,0xbe]
+
+s_and_not1_wrexec_b32 s5, vcc_lo
+// GFX11: encoding: [0x6a,0x36,0x85,0xbe]
+
+s_and_not1_wrexec_b32 s5, vcc_hi
+// GFX11: encoding: [0x6b,0x36,0x85,0xbe]
+
+s_and_not1_wrexec_b32 s5, ttmp15
+// GFX11: encoding: [0x7b,0x36,0x85,0xbe]
+
+s_and_not1_wrexec_b32 s5, exec_lo
+// GFX11: encoding: [0x7e,0x36,0x85,0xbe]
+
+s_and_not1_wrexec_b32 s105, null
+// GFX11: encoding: [0x7c,0x36,0xe9,0xbe]
+
+s_and_not1_wrexec_b32 vcc_lo, -1
+// GFX11: encoding: [0xc1,0x36,0xea,0xbe]
+
+s_and_not1_wrexec_b32 vcc_hi, 0.5
+// GFX11: encoding: [0xf0,0x36,0xeb,0xbe]
+
+s_and_not1_wrexec_b32 ttmp15, src_scc
+// GFX11: encoding: [0xfd,0x36,0xfb,0xbe]
+
+s_and_not1_wrexec_b32 null, 0xaf123456
+// GFX11: encoding: [0xff,0x36,0xfc,0xbe,0x56,0x34,0x12,0xaf]
+
+s_and_not1_wrexec_b64 s[10:11], s[2:3]
+// GFX11: encoding: [0x02,0x37,0x8a,0xbe]
+
+s_and_not1_wrexec_b64 s[10:11], s[104:105]
+// GFX11: encoding: [0x68,0x37,0x8a,0xbe]
+
+s_and_not1_wrexec_b64 s[10:11], vcc
+// GFX11: encoding: [0x6a,0x37,0x8a,0xbe]
+
+s_and_not1_wrexec_b64 s[10:11], ttmp[14:15]
+// GFX11: encoding: [0x7a,0x37,0x8a,0xbe]
+
+s_and_not1_wrexec_b64 s[10:11], null
+// GFX11: encoding: [0x7c,0x37,0x8a,0xbe]
+
+s_and_not1_wrexec_b64 s[104:105], -1
+// GFX11: encoding: [0xc1,0x37,0xe8,0xbe]
+
+s_and_not1_wrexec_b64 vcc, 0.5
+// GFX11: encoding: [0xf0,0x37,0xea,0xbe]
+
+s_and_not1_wrexec_b64 ttmp[14:15], src_scc
+// GFX11: encoding: [0xfd,0x37,0xfa,0xbe]
+
+s_and_not1_wrexec_b64 null, 0xaf123456
+// GFX11: encoding: [0xff,0x37,0xfc,0xbe,0x56,0x34,0x12,0xaf]
+
+s_cls_i32 s5, s1
+// GFX11: encoding: [0x01,0x0c,0x85,0xbe]
+
+s_cls_i32 s5, s105
+// GFX11: encoding: [0x69,0x0c,0x85,0xbe]
+
+s_cls_i32 s5, vcc_lo
+// GFX11: encoding: [0x6a,0x0c,0x85,0xbe]
+
+s_cls_i32 s5, vcc_hi
+// GFX11: encoding: [0x6b,0x0c,0x85,0xbe]
+
+s_cls_i32 s5, ttmp15
+// GFX11: encoding: [0x7b,0x0c,0x85,0xbe]
+
+s_cls_i32 s105, m0
+// GFX11: encoding: [0x7d,0x0c,0xe9,0xbe]
+
+s_cls_i32 vcc_lo, exec_lo
+// GFX11: encoding: [0x7e,0x0c,0xea,0xbe]
+
+s_cls_i32 vcc_hi, exec_hi
+// GFX11: encoding: [0x7f,0x0c,0xeb,0xbe]
+
+s_cls_i32 ttmp15, null
+// GFX11: encoding: [0x7c,0x0c,0xfb,0xbe]
+
+s_cls_i32 m0, -1
+// GFX11: encoding: [0xc1,0x0c,0xfd,0xbe]
+
+s_cls_i32 exec_lo, 0.5
+// GFX11: encoding: [0xf0,0x0c,0xfe,0xbe]
+
+s_cls_i32 exec_hi, src_scc
+// GFX11: encoding: [0xfd,0x0c,0xff,0xbe]
+
+s_cls_i32 null, 0xaf123456
+// GFX11: encoding: [0xff,0x0c,0xfc,0xbe,0x56,0x34,0x12,0xaf]
+
+s_cls_i32_i64 s5, s[2:3]
+// GFX11: encoding: [0x02,0x0d,0x85,0xbe]
+
+s_cls_i32_i64 s5, s[104:105]
+// GFX11: encoding: [0x68,0x0d,0x85,0xbe]
+
+s_cls_i32_i64 s105, vcc
+// GFX11: encoding: [0x6a,0x0d,0xe9,0xbe]
+
+s_cls_i32_i64 vcc_lo, ttmp[14:15]
+// GFX11: encoding: [0x7a,0x0d,0xea,0xbe]
+
+s_cls_i32_i64 vcc_hi, exec
+// GFX11: encoding: [0x7e,0x0d,0xeb,0xbe]
+
+s_cls_i32_i64 ttmp15, null
+// GFX11: encoding: [0x7c,0x0d,0xfb,0xbe]
+
+s_cls_i32_i64 m0, -1
+// GFX11: encoding: [0xc1,0x0d,0xfd,0xbe]
+
+s_cls_i32_i64 exec_lo, 0.5
+// GFX11: encoding: [0xf0,0x0d,0xfe,0xbe]
+
+s_cls_i32_i64 exec_hi, src_scc
+// GFX11: encoding: [0xfd,0x0d,0xff,0xbe]
+
+s_cls_i32_i64 null, 0xaf123456
+// GFX11: encoding: [0xff,0x0d,0xfc,0xbe,0x56,0x34,0x12,0xaf]
+
+s_clz_i32_u32 s5, s1
+// GFX11: encoding: [0x01,0x0a,0x85,0xbe]
+
+s_clz_i32_u32 s5, s105
+// GFX11: encoding: [0x69,0x0a,0x85,0xbe]
+
+s_clz_i32_u32 s5, vcc_lo
+// GFX11: encoding: [0x6a,0x0a,0x85,0xbe]
+
+s_clz_i32_u32 s5, vcc_hi
+// GFX11: encoding: [0x6b,0x0a,0x85,0xbe]
+
+s_clz_i32_u32 s5, ttmp15
+// GFX11: encoding: [0x7b,0x0a,0x85,0xbe]
+
+s_clz_i32_u32 s105, m0
+// GFX11: encoding: [0x7d,0x0a,0xe9,0xbe]
+
+s_clz_i32_u32 vcc_lo, exec_lo
+// GFX11: encoding: [0x7e,0x0a,0xea,0xbe]
+
+s_clz_i32_u32 vcc_hi, exec_hi
+// GFX11: encoding: [0x7f,0x0a,0xeb,0xbe]
+
+s_clz_i32_u32 ttmp15, null
+// GFX11: encoding: [0x7c,0x0a,0xfb,0xbe]
+
+s_clz_i32_u32 m0, -1
+// GFX11: encoding: [0xc1,0x0a,0xfd,0xbe]
+
+s_clz_i32_u32 exec_lo, 0.5
+// GFX11: encoding: [0xf0,0x0a,0xfe,0xbe]
+
+s_clz_i32_u32 exec_hi, src_scc
+// GFX11: encoding: [0xfd,0x0a,0xff,0xbe]
+
+s_clz_i32_u32 null, 0xaf123456
+// GFX11: encoding: [0xff,0x0a,0xfc,0xbe,0x56,0x34,0x12,0xaf]
+
+s_clz_i32_u64 s5, s[2:3]
+// GFX11: encoding: [0x02,0x0b,0x85,0xbe]
+
+s_clz_i32_u64 s5, s[104:105]
+// GFX11: encoding: [0x68,0x0b,0x85,0xbe]
+
+s_clz_i32_u64 s105, vcc
+// GFX11: encoding: [0x6a,0x0b,0xe9,0xbe]
+
+s_clz_i32_u64 vcc_lo, ttmp[14:15]
+// GFX11: encoding: [0x7a,0x0b,0xea,0xbe]
+
+s_clz_i32_u64 vcc_hi, exec
+// GFX11: encoding: [0x7e,0x0b,0xeb,0xbe]
+
+s_clz_i32_u64 ttmp15, null
+// GFX11: encoding: [0x7c,0x0b,0xfb,0xbe]
+
+s_clz_i32_u64 m0, -1
+// GFX11: encoding: [0xc1,0x0b,0xfd,0xbe]
+
+s_clz_i32_u64 exec_lo, 0.5
+// GFX11: encoding: [0xf0,0x0b,0xfe,0xbe]
+
+s_clz_i32_u64 exec_hi, src_scc
+// GFX11: encoding: [0xfd,0x0b,0xff,0xbe]
+
+s_clz_i32_u64 null, 0xaf123456
+// GFX11: encoding: [0xff,0x0b,0xfc,0xbe,0x56,0x34,0x12,0xaf]
+
+s_or_not0_saveexec_b32 s5, s1
+// GFX11: encoding: [0x01,0x2e,0x85,0xbe]
+
+s_or_not0_saveexec_b32 s5, s105
+// GFX11: encoding: [0x69,0x2e,0x85,0xbe]
+
+s_or_not0_saveexec_b32 s5, vcc_lo
+// GFX11: encoding: [0x6a,0x2e,0x85,0xbe]
+
+s_or_not0_saveexec_b32 s5, vcc_hi
+// GFX11: encoding: [0x6b,0x2e,0x85,0xbe]
+
+s_or_not0_saveexec_b32 s5, ttmp15
+// GFX11: encoding: [0x7b,0x2e,0x85,0xbe]
+
+s_or_not0_saveexec_b32 s5, exec_lo
+// GFX11: encoding: [0x7e,0x2e,0x85,0xbe]
+
+s_or_not0_saveexec_b32 s105, null
+// GFX11: encoding: [0x7c,0x2e,0xe9,0xbe]
+
+s_or_not0_saveexec_b32 vcc_lo, -1
+// GFX11: encoding: [0xc1,0x2e,0xea,0xbe]
+
+s_or_not0_saveexec_b32 vcc_hi, 0.5
+// GFX11: encoding: [0xf0,0x2e,0xeb,0xbe]
+
+s_or_not0_saveexec_b32 ttmp15, src_scc
+// GFX11: encoding: [0xfd,0x2e,0xfb,0xbe]
+
+s_or_not0_saveexec_b32 null, 0xaf123456
+// GFX11: encoding: [0xff,0x2e,0xfc,0xbe,0x56,0x34,0x12,0xaf]
+
+s_or_not0_saveexec_b64 s[10:11], s[2:3]
+// GFX11: encoding: [0x02,0x2f,0x8a,0xbe]
+
+s_or_not0_saveexec_b64 s[10:11], s[104:105]
+// GFX11: encoding: [0x68,0x2f,0x8a,0xbe]
+
+s_or_not0_saveexec_b64 s[10:11], vcc
+// GFX11: encoding: [0x6a,0x2f,0x8a,0xbe]
+
+s_or_not0_saveexec_b64 s[10:11], ttmp[14:15]
+// GFX11: encoding: [0x7a,0x2f,0x8a,0xbe]
+
+s_or_not0_saveexec_b64 s[10:11], null
+// GFX11: encoding: [0x7c,0x2f,0x8a,0xbe]
+
+s_or_not0_saveexec_b64 s[104:105], -1
+// GFX11: encoding: [0xc1,0x2f,0xe8,0xbe]
+
+s_or_not0_saveexec_b64 vcc, 0.5
+// GFX11: encoding: [0xf0,0x2f,0xea,0xbe]
+
+s_or_not0_saveexec_b64 ttmp[14:15], src_scc
+// GFX11: encoding: [0xfd,0x2f,0xfa,0xbe]
+
+s_or_not0_saveexec_b64 null, 0xaf123456
+// GFX11: encoding: [0xff,0x2f,0xfc,0xbe,0x56,0x34,0x12,0xaf]
+
+s_or_not1_saveexec_b32 s5, s1
+// GFX11: encoding: [0x01,0x32,0x85,0xbe]
+
+s_or_not1_saveexec_b32 s5, s105
+// GFX11: encoding: [0x69,0x32,0x85,0xbe]
+
+s_or_not1_saveexec_b32 s5, vcc_lo
+// GFX11: encoding: [0x6a,0x32,0x85,0xbe]
+
+s_or_not1_saveexec_b32 s5, vcc_hi
+// GFX11: encoding: [0x6b,0x32,0x85,0xbe]
+
+s_or_not1_saveexec_b32 s5, ttmp15
+// GFX11: encoding: [0x7b,0x32,0x85,0xbe]
+
+s_or_not1_saveexec_b32 s5, exec_lo
+// GFX11: encoding: [0x7e,0x32,0x85,0xbe]
+
+s_or_not1_saveexec_b32 s105, null
+// GFX11: encoding: [0x7c,0x32,0xe9,0xbe]
+
+s_or_not1_saveexec_b32 vcc_lo, -1
+// GFX11: encoding: [0xc1,0x32,0xea,0xbe]
+
+s_or_not1_saveexec_b32 vcc_hi, 0.5
+// GFX11: encoding: [0xf0,0x32,0xeb,0xbe]
+
+s_or_not1_saveexec_b32 ttmp15, src_scc
+// GFX11: encoding: [0xfd,0x32,0xfb,0xbe]
+
+s_or_not1_saveexec_b32 null, 0xaf123456
+// GFX11: encoding: [0xff,0x32,0xfc,0xbe,0x56,0x34,0x12,0xaf]
+
+s_or_not1_saveexec_b64 s[10:11], s[2:3]
+// GFX11: encoding: [0x02,0x33,0x8a,0xbe]
+
+s_or_not1_saveexec_b64 s[10:11], s[104:105]
+// GFX11: encoding: [0x68,0x33,0x8a,0xbe]
+
+s_or_not1_saveexec_b64 s[10:11], vcc
+// GFX11: encoding: [0x6a,0x33,0x8a,0xbe]
+
+s_or_not1_saveexec_b64 s[10:11], ttmp[14:15]
+// GFX11: encoding: [0x7a,0x33,0x8a,0xbe]
+
+s_or_not1_saveexec_b64 s[10:11], null
+// GFX11: encoding: [0x7c,0x33,0x8a,0xbe]
+
+s_or_not1_saveexec_b64 s[104:105], -1
+// GFX11: encoding: [0xc1,0x33,0xe8,0xbe]
+
+s_or_not1_saveexec_b64 vcc, 0.5
+// GFX11: encoding: [0xf0,0x33,0xea,0xbe]
+
+s_or_not1_saveexec_b64 ttmp[14:15], src_scc
+// GFX11: encoding: [0xfd,0x33,0xfa,0xbe]
+
+s_or_not1_saveexec_b64 null, 0xaf123456
+// GFX11: encoding: [0xff,0x33,0xfc,0xbe,0x56,0x34,0x12,0xaf]

diff  --git a/llvm/test/MC/AMDGPU/gfx11_asm_sop2.s b/llvm/test/MC/AMDGPU/gfx11_asm_sop2.s
index 9904178ca64e1..f80e557449c9c 100644
--- a/llvm/test/MC/AMDGPU/gfx11_asm_sop2.s
+++ b/llvm/test/MC/AMDGPU/gfx11_asm_sop2.s
@@ -4977,8 +4977,179 @@ s_mul_hi_i32 s0, s1, 0x3f717273
 s_mul_hi_i32 s0, s1, 0xaf123456
 // GFX11: encoding: [0x01,0xff,0x00,0x97,0x56,0x34,0x12,0xaf]
 
-s_or_not1_b32 s0, s104, s2
-// GFX11: encoding: [0x68,0x02,0x00,0x92]
+s_or_not1_b32 s5, s1, s2
+// GFX11: encoding: [0x01,0x02,0x05,0x92]
+
+s_or_not1_b32 s5, s105, s105
+// GFX11: encoding: [0x69,0x69,0x05,0x92]
+
+s_or_not1_b32 s5, vcc_lo, ttmp15
+// GFX11: encoding: [0x6a,0x7b,0x05,0x92]
+
+s_or_not1_b32 s5, vcc_hi, 0xaf123456
+// GFX11: encoding: [0x6b,0xff,0x05,0x92,0x56,0x34,0x12,0xaf]
+
+s_or_not1_b32 s5, ttmp15, src_scc
+// GFX11: encoding: [0x7b,0xfd,0x05,0x92]
+
+s_or_not1_b32 s105, m0, 0.5
+// GFX11: encoding: [0x7d,0xf0,0x69,0x92]
+
+s_or_not1_b32 vcc_lo, exec_lo, -1
+// GFX11: encoding: [0x7e,0xc1,0x6a,0x92]
+
+s_or_not1_b32 vcc_hi, exec_hi, null
+// GFX11: encoding: [0x7f,0x7c,0x6b,0x92]
+
+s_or_not1_b32 ttmp15, null, exec_lo
+// GFX11: encoding: [0x7c,0x7e,0x7b,0x92]
+
+s_or_not1_b32 m0, -1, exec_hi
+// GFX11: encoding: [0xc1,0x7f,0x7d,0x92]
+
+s_or_not1_b32 exec_lo, 0.5, m0
+// GFX11: encoding: [0xf0,0x7d,0x7e,0x92]
+
+s_or_not1_b32 exec_hi, src_scc, vcc_lo
+// GFX11: encoding: [0xfd,0x6a,0x7f,0x92]
+
+s_or_not1_b32 null, 0xaf123456, vcc_hi
+// GFX11: encoding: [0xff,0x6b,0x7c,0x92,0x56,0x34,0x12,0xaf]
+
+s_pack_hl_b32_b16 s5, s1, s2
+// GFX11: encoding: [0x01,0x02,0x85,0x9a]
+
+s_pack_hl_b32_b16 s5, s105, s105
+// GFX11: encoding: [0x69,0x69,0x85,0x9a]
+
+s_pack_hl_b32_b16 s5, vcc_lo, ttmp15
+// GFX11: encoding: [0x6a,0x7b,0x85,0x9a]
+
+s_pack_hl_b32_b16 s5, vcc_hi, 0xfe0b
+// GFX11: encoding: [0x6b,0xff,0x85,0x9a,0x0b,0xfe,0x00,0x00]
+
+s_pack_hl_b32_b16 s5, ttmp15, src_scc
+// GFX11: encoding: [0x7b,0xfd,0x85,0x9a]
+
+s_pack_hl_b32_b16 s105, m0, 0.5
+// GFX11: encoding: [0x7d,0xf0,0xe9,0x9a]
+
+s_pack_hl_b32_b16 vcc_lo, exec_lo, -1
+// GFX11: encoding: [0x7e,0xc1,0xea,0x9a]
+
+s_pack_hl_b32_b16 vcc_hi, exec_hi, null
+// GFX11: encoding: [0x7f,0x7c,0xeb,0x9a]
+
+s_pack_hl_b32_b16 ttmp15, null, exec_lo
+// GFX11: encoding: [0x7c,0x7e,0xfb,0x9a]
+
+s_pack_hl_b32_b16 m0, -1, exec_hi
+// GFX11: encoding: [0xc1,0x7f,0xfd,0x9a]
+
+s_pack_hl_b32_b16 exec_lo, 0.5, m0
+// GFX11: encoding: [0xf0,0x7d,0xfe,0x9a]
+
+s_pack_hl_b32_b16 exec_hi, src_scc, vcc_lo
+// GFX11: encoding: [0xfd,0x6a,0xff,0x9a]
+
+s_pack_hl_b32_b16 null, 0xaf123456, vcc_hi
+// GFX11: encoding: [0xff,0x6b,0xfc,0x9a,0x56,0x34,0x12,0xaf]
+
+s_and_not1_b32 s5, s1, s2
+// GFX11: encoding: [0x01,0x02,0x05,0x91]
+
+s_and_not1_b32 s5, s105, s105
+// GFX11: encoding: [0x69,0x69,0x05,0x91]
+
+s_and_not1_b32 s5, vcc_lo, ttmp15
+// GFX11: encoding: [0x6a,0x7b,0x05,0x91]
+
+s_and_not1_b32 s5, vcc_hi, 0xaf123456
+// GFX11: encoding: [0x6b,0xff,0x05,0x91,0x56,0x34,0x12,0xaf]
+
+s_and_not1_b32 s5, ttmp15, src_scc
+// GFX11: encoding: [0x7b,0xfd,0x05,0x91]
+
+s_and_not1_b32 s105, m0, 0.5
+// GFX11: encoding: [0x7d,0xf0,0x69,0x91]
+
+s_and_not1_b32 vcc_lo, exec_lo, -1
+// GFX11: encoding: [0x7e,0xc1,0x6a,0x91]
+
+s_and_not1_b32 vcc_hi, exec_hi, null
+// GFX11: encoding: [0x7f,0x7c,0x6b,0x91]
+
+s_and_not1_b32 ttmp15, null, exec_lo
+// GFX11: encoding: [0x7c,0x7e,0x7b,0x91]
+
+s_and_not1_b32 m0, -1, exec_hi
+// GFX11: encoding: [0xc1,0x7f,0x7d,0x91]
+
+s_and_not1_b32 exec_lo, 0.5, m0
+// GFX11: encoding: [0xf0,0x7d,0x7e,0x91]
+
+s_and_not1_b32 exec_hi, src_scc, vcc_lo
+// GFX11: encoding: [0xfd,0x6a,0x7f,0x91]
+
+s_and_not1_b32 null, 0xaf123456, vcc_hi
+// GFX11: encoding: [0xff,0x6b,0x7c,0x91,0x56,0x34,0x12,0xaf]
+
+s_and_not1_b64 s[10:11], s[2:3], s[4:5]
+// GFX11: encoding: [0x02,0x04,0x8a,0x91]
+
+s_and_not1_b64 s[10:11], s[104:105], s[104:105]
+// GFX11: encoding: [0x68,0x68,0x8a,0x91]
+
+s_and_not1_b64 s[10:11], vcc, ttmp[14:15]
+// GFX11: encoding: [0x6a,0x7a,0x8a,0x91]
+
+s_and_not1_b64 s[10:11], ttmp[14:15], 0xaf123456
+// GFX11: encoding: [0x7a,0xff,0x8a,0x91,0x56,0x34,0x12,0xaf]
+
+s_and_not1_b64 s[10:11], exec, src_scc
+// GFX11: encoding: [0x7e,0xfd,0x8a,0x91]
+
+s_and_not1_b64 s[104:105], null, 0.5
+// GFX11: encoding: [0x7c,0xf0,0xe8,0x91]
+
+s_and_not1_b64 vcc, -1, -1
+// GFX11: encoding: [0xc1,0xc1,0xea,0x91]
+
+s_and_not1_b64 ttmp[14:15], 0.5, null
+// GFX11: encoding: [0xf0,0x7c,0xfa,0x91]
+
+s_and_not1_b64 exec, src_scc, exec
+// GFX11: encoding: [0xfd,0x7e,0xfe,0x91]
+
+s_and_not1_b64 null, 0xaf123456, vcc
+// GFX11: encoding: [0xff,0x6a,0xfc,0x91,0x56,0x34,0x12,0xaf]
+
+s_or_not1_b64 s[10:11], s[2:3], s[4:5]
+// GFX11: encoding: [0x02,0x04,0x8a,0x92]
+
+s_or_not1_b64 s[10:11], s[104:105], s[104:105]
+// GFX11: encoding: [0x68,0x68,0x8a,0x92]
+
+s_or_not1_b64 s[10:11], vcc, ttmp[14:15]
+// GFX11: encoding: [0x6a,0x7a,0x8a,0x92]
+
+s_or_not1_b64 s[10:11], ttmp[14:15], 0xaf123456
+// GFX11: encoding: [0x7a,0xff,0x8a,0x92,0x56,0x34,0x12,0xaf]
+
+s_or_not1_b64 s[10:11], exec, src_scc
+// GFX11: encoding: [0x7e,0xfd,0x8a,0x92]
+
+s_or_not1_b64 s[104:105], null, 0.5
+// GFX11: encoding: [0x7c,0xf0,0xe8,0x92]
+
+s_or_not1_b64 vcc, -1, -1
+// GFX11: encoding: [0xc1,0xc1,0xea,0x92]
+
+s_or_not1_b64 ttmp[14:15], 0.5, null
+// GFX11: encoding: [0xf0,0x7c,0xfa,0x92]
+
+s_or_not1_b64 exec, src_scc, exec
+// GFX11: encoding: [0xfd,0x7e,0xfe,0x92]
 
-s_pack_hl_b32_b16 vcc_lo, s1, s2
-// GFX11: encoding: [0x01,0x02,0xea,0x9a]
+s_or_not1_b64 null, 0xaf123456, vcc
+// GFX11: encoding: [0xff,0x6a,0xfc,0x92,0x56,0x34,0x12,0xaf]

diff  --git a/llvm/test/MC/AMDGPU/gfx11_asm_sopp.s b/llvm/test/MC/AMDGPU/gfx11_asm_sopp.s
index 5c3c3e368cb1f..8ef7f33ca84b2 100644
--- a/llvm/test/MC/AMDGPU/gfx11_asm_sopp.s
+++ b/llvm/test/MC/AMDGPU/gfx11_asm_sopp.s
@@ -112,7 +112,7 @@ s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_3)
 // GFX11: s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_3) ; encoding: [0x91,0x01,0x87,0xbf]
 
 //===----------------------------------------------------------------------===//
-//
+// s_waitcnt_depctr
 //===----------------------------------------------------------------------===//
 
 s_waitcnt_depctr 0xfffe
@@ -121,6 +121,79 @@ s_waitcnt_depctr 0xfffe
 s_waitcnt_depctr 0
 // GFX11: s_waitcnt_depctr depctr_hold_cnt(0) depctr_sa_sdst(0) depctr_va_vdst(0) depctr_va_sdst(0) depctr_va_ssrc(0) depctr_va_vcc(0) depctr_vm_vsrc(0) ; encoding: [0x00,0x00,0x88,0xbf]
 
+s_waitcnt_depctr depctr_hold_cnt(0)
+// GFX11: s_waitcnt_depctr depctr_hold_cnt(0) ; encoding: [0x1f,0xff,0x88,0xbf]
+
+s_waitcnt_depctr depctr_hold_cnt(1)
+// GFX11: s_waitcnt_depctr depctr_hold_cnt(1) depctr_sa_sdst(1) depctr_va_vdst(15) depctr_va_sdst(7) depctr_va_ssrc(1) depctr_va_vcc(1) depctr_vm_vsrc(7) ; encoding: [0x9f,0xff,0x88,0xbf]
+
+s_waitcnt_depctr depctr_sa_sdst(0)
+// GFX11: s_waitcnt_depctr depctr_sa_sdst(0) ; encoding: [0x9e,0xff,0x88,0xbf]
+
+s_waitcnt_depctr depctr_sa_sdst(1)
+// GFX11: s_waitcnt_depctr depctr_hold_cnt(1) depctr_sa_sdst(1) depctr_va_vdst(15) depctr_va_sdst(7) depctr_va_ssrc(1) depctr_va_vcc(1) depctr_vm_vsrc(7) ; encoding: [0x9f,0xff,0x88,0xbf]
+
+s_waitcnt_depctr depctr_va_vdst(0)
+// GFX11: s_waitcnt_depctr depctr_va_vdst(0) ; encoding: [0x9f,0x0f,0x88,0xbf]
+
+s_waitcnt_depctr depctr_va_vdst(1)
+// GFX11: s_waitcnt_depctr depctr_va_vdst(1) ; encoding: [0x9f,0x1f,0x88,0xbf]
+
+s_waitcnt_depctr depctr_va_vdst(14)
+// GFX11: s_waitcnt_depctr depctr_va_vdst(14) ; encoding: [0x9f,0xef,0x88,0xbf]
+
+s_waitcnt_depctr depctr_va_vdst(15)
+// GFX11: s_waitcnt_depctr depctr_hold_cnt(1) depctr_sa_sdst(1) depctr_va_vdst(15) depctr_va_sdst(7) depctr_va_ssrc(1) depctr_va_vcc(1) depctr_vm_vsrc(7) ; encoding: [0x9f,0xff,0x88,0xbf]
+
+s_waitcnt_depctr depctr_va_sdst(0)
+// GFX11: s_waitcnt_depctr depctr_va_sdst(0) ; encoding: [0x9f,0xf1,0x88,0xbf]
+
+s_waitcnt_depctr depctr_va_sdst(1)
+// GFX11: s_waitcnt_depctr depctr_va_sdst(1) ; encoding: [0x9f,0xf3,0x88,0xbf]
+
+s_waitcnt_depctr depctr_va_sdst(6)
+// GFX11: s_waitcnt_depctr depctr_va_sdst(6) ; encoding: [0x9f,0xfd,0x88,0xbf]
+
+s_waitcnt_depctr depctr_va_sdst(7)
+// GFX11: s_waitcnt_depctr depctr_hold_cnt(1) depctr_sa_sdst(1) depctr_va_vdst(15) depctr_va_sdst(7) depctr_va_ssrc(1) depctr_va_vcc(1) depctr_vm_vsrc(7) ; encoding: [0x9f,0xff,0x88,0xbf]
+
+s_waitcnt_depctr depctr_va_ssrc(0)
+// GFX11: s_waitcnt_depctr depctr_va_ssrc(0) ; encoding: [0x9f,0xfe,0x88,0xbf]
+
+s_waitcnt_depctr depctr_va_ssrc(1)
+// GFX11: s_waitcnt_depctr depctr_hold_cnt(1) depctr_sa_sdst(1) depctr_va_vdst(15) depctr_va_sdst(7) depctr_va_ssrc(1) depctr_va_vcc(1) depctr_vm_vsrc(7) ; encoding: [0x9f,0xff,0x88,0xbf]
+
+s_waitcnt_depctr depctr_va_vcc(0)
+// GFX11: s_waitcnt_depctr depctr_va_vcc(0) ; encoding: [0x9d,0xff,0x88,0xbf]
+
+s_waitcnt_depctr depctr_va_vcc(1)
+// GFX11: s_waitcnt_depctr depctr_hold_cnt(1) depctr_sa_sdst(1) depctr_va_vdst(15) depctr_va_sdst(7) depctr_va_ssrc(1) depctr_va_vcc(1) depctr_vm_vsrc(7) ; encoding: [0x9f,0xff,0x88,0xbf]
+
+s_waitcnt_depctr depctr_vm_vsrc(0)
+// GFX11: s_waitcnt_depctr depctr_vm_vsrc(0) ; encoding: [0x83,0xff,0x88,0xbf]
+
+s_waitcnt_depctr depctr_vm_vsrc(1)
+// GFX11: s_waitcnt_depctr depctr_vm_vsrc(1) ; encoding: [0x87,0xff,0x88,0xbf]
+
+s_waitcnt_depctr depctr_vm_vsrc(6)
+// GFX11: s_waitcnt_depctr depctr_vm_vsrc(6) ; encoding: [0x9b,0xff,0x88,0xbf]
+
+s_waitcnt_depctr depctr_vm_vsrc(7)
+// GFX11: s_waitcnt_depctr depctr_hold_cnt(1) depctr_sa_sdst(1) depctr_va_vdst(15) depctr_va_sdst(7) depctr_va_ssrc(1) depctr_va_vcc(1) depctr_vm_vsrc(7) ; encoding: [0x9f,0xff,0x88,0xbf]
+
+s_waitcnt_depctr depctr_hold_cnt(0) depctr_sa_sdst(0) depctr_va_vdst(0) depctr_va_sdst(0) depctr_va_ssrc(0) depctr_va_vcc(0) depctr_vm_vsrc(0)
+// GFX11: s_waitcnt_depctr depctr_hold_cnt(0) depctr_sa_sdst(0) depctr_va_vdst(0) depctr_va_sdst(0) depctr_va_ssrc(0) depctr_va_vcc(0) depctr_vm_vsrc(0) ; encoding: [0x00,0x00,0x88,0xbf]
+
+s_waitcnt_depctr depctr_hold_cnt(1) & depctr_sa_sdst(1) & depctr_va_vdst(1) & depctr_va_sdst(1) & depctr_va_ssrc(1) & depctr_va_vcc(1) & depctr_vm_vsrc(1)
+// GFX11: s_waitcnt_depctr depctr_va_vdst(1) depctr_va_sdst(1) depctr_vm_vsrc(1) ; encoding: [0x87,0x13,0x88,0xbf]
+
+s_waitcnt_depctr depctr_hold_cnt(1), depctr_sa_sdst(1), depctr_va_vdst(14), depctr_va_sdst(6), depctr_va_ssrc(1), depctr_va_vcc(1), depctr_vm_vsrc(6)
+// GFX11: s_waitcnt_depctr depctr_va_vdst(14) depctr_va_sdst(6) depctr_vm_vsrc(6) ; encoding: [0x9b,0xed,0x88,0xbf]
+
+//===----------------------------------------------------------------------===//
+//
+//===----------------------------------------------------------------------===//
+
 s_wait_idle
 // GFX11: s_wait_idle ; encoding: [0x00,0x00,0x8a,0xbf]
 
@@ -339,3 +412,9 @@ s_ttracedata_imm 0xc1d1
 
 s_set_inst_prefetch_distance 0xc1d1
 // GFX11: s_set_inst_prefetch_distance 0xc1d1 ; encoding: [0xd1,0xc1,0x84,0xbf]
+
+s_wait_event 0x3141
+// GFX11: s_wait_event 0x3141 ; encoding: [0x41,0x31,0x8b,0xbf]
+
+s_wait_event 0xc1d1
+// GFX11: s_wait_event 0xc1d1 ; encoding: [0xd1,0xc1,0x8b,0xbf]


        


More information about the llvm-commits mailing list