brintos

brintos / llvm-project-archived public Read only

0
0
Text · 11.2 KiB · 75c3d6e Raw
390 lines · plain
1// RUN: llvm-mc -triple=amdgcn -show-encoding -mcpu=gfx1200 %s | FileCheck --check-prefixes=GFX12,GFX1200 %s2// RUN: not llvm-mc -triple=amdgcn -show-encoding -mcpu=gfx1250 %s | FileCheck --check-prefix=GFX12 %s3 4s_wait_loadcnt 0x12345// GFX12: encoding: [0x34,0x12,0xc0,0xbf]6 7s_wait_loadcnt 0xc1d18// GFX12: encoding: [0xd1,0xc1,0xc0,0xbf]9 10s_wait_storecnt 0x123411// GFX12: encoding: [0x34,0x12,0xc1,0xbf]12 13s_wait_storecnt 0xc1d114// GFX12: encoding: [0xd1,0xc1,0xc1,0xbf]15 16s_wait_samplecnt 0x123417// GFX1200: encoding: [0x34,0x12,0xc2,0xbf]18 19s_wait_samplecnt 0xc1d120// GFX1200: encoding: [0xd1,0xc1,0xc2,0xbf]21 22s_wait_bvhcnt 0x123423// GFX1200: encoding: [0x34,0x12,0xc3,0xbf]24 25s_wait_bvhcnt 0xc1d126// GFX1200: encoding: [0xd1,0xc1,0xc3,0xbf]27 28s_wait_expcnt 0x123429// GFX1200: encoding: [0x34,0x12,0xc4,0xbf]30 31s_wait_expcnt 0xc1d132// GFX1200: encoding: [0xd1,0xc1,0xc4,0xbf]33 34s_wait_dscnt 0x123435// GFX12: encoding: [0x34,0x12,0xc6,0xbf]36 37s_wait_dscnt 0xc1d138// GFX12: encoding: [0xd1,0xc1,0xc6,0xbf]39 40s_wait_kmcnt 0x123441// GFX12: encoding: [0x34,0x12,0xc7,0xbf]42 43s_wait_kmcnt 0xc1d144// GFX12: encoding: [0xd1,0xc1,0xc7,0xbf]45 46s_wait_loadcnt_dscnt 0x123447// GFX12: encoding: [0x34,0x12,0xc8,0xbf]48 49s_wait_loadcnt_dscnt 0xc1d150// GFX12: encoding: [0xd1,0xc1,0xc8,0xbf]51 52s_wait_storecnt_dscnt 0x123453// GFX12: encoding: [0x34,0x12,0xc9,0xbf]54 55s_wait_storecnt_dscnt 0xc1d156// GFX12: encoding: [0xd1,0xc1,0xc9,0xbf]57 58s_wait_alu 0xfffe59// GFX12: encoding: [0xfe,0xff,0x88,0xbf]60 61s_wait_alu 062// GFX12: encoding: [0x00,0x00,0x88,0xbf]63 64s_wait_alu depctr_va_sdst(0)65// GFX12: encoding: [0x9f,0xf1,0x88,0xbf]66 67s_wait_alu depctr_va_sdst(3)68// GFX12: encoding: [0x9f,0xf7,0x88,0xbf]69 70s_wait_alu depctr_va_vdst(14) depctr_va_sdst(6) depctr_vm_vsrc(6)71// GFX12: encoding: [0x9b,0xed,0x88,0xbf]72 73s_barrier_wait 0xffff74// GFX12: encoding: [0xff,0xff,0x94,0xbf]75 76s_barrier_wait 177// GFX12: encoding: [0x01,0x00,0x94,0xbf]78 79s_barrier_leave80// GFX12: encoding: [0x00,0x00,0x95,0xbf]81 82//===----------------------------------------------------------------------===//83// s_waitcnt84//===----------------------------------------------------------------------===//85 86s_waitcnt 087// GFX1200: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0) ; encoding: [0x00,0x00,0x89,0xbf]88 89s_waitcnt 0x123490// GFX1200: s_waitcnt vmcnt(4) expcnt(4) lgkmcnt(35) ; encoding: [0x34,0x12,0x89,0xbf]91 92s_waitcnt vmcnt(0) & expcnt(0) & lgkmcnt(0)93// GFX1200: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0) ; encoding: [0x00,0x00,0x89,0xbf]94 95s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)96// GFX1200: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0) ; encoding: [0x00,0x00,0x89,0xbf]97 98s_waitcnt vmcnt(0), expcnt(0), lgkmcnt(0)99// GFX1200: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0) ; encoding: [0x00,0x00,0x89,0xbf]100 101s_waitcnt vmcnt(1)102// GFX1200: s_waitcnt vmcnt(1) ; encoding: [0xf7,0x07,0x89,0xbf]103 104s_waitcnt vmcnt(9)105// GFX1200: s_waitcnt vmcnt(9) ; encoding: [0xf7,0x27,0x89,0xbf]106 107s_waitcnt expcnt(2)108// GFX1200: s_waitcnt expcnt(2) ; encoding: [0xf2,0xff,0x89,0xbf]109 110s_waitcnt lgkmcnt(3)111// GFX1200: s_waitcnt lgkmcnt(3) ; encoding: [0x37,0xfc,0x89,0xbf]112 113s_waitcnt lgkmcnt(9)114// GFX1200: s_waitcnt lgkmcnt(9) ; encoding: [0x97,0xfc,0x89,0xbf]115 116s_waitcnt vmcnt(0), expcnt(0)117// GFX1200: s_waitcnt vmcnt(0) expcnt(0) ; encoding: [0xf0,0x03,0x89,0xbf]118 119s_waitcnt vmcnt(15)120// GFX1200: s_waitcnt vmcnt(15) ; encoding: [0xf7,0x3f,0x89,0xbf]121 122s_waitcnt vmcnt(15) expcnt(6)123// GFX1200: s_waitcnt vmcnt(15) expcnt(6) ; encoding: [0xf6,0x3f,0x89,0xbf]124 125s_waitcnt vmcnt(15) lgkmcnt(14)126// GFX1200: s_waitcnt vmcnt(15) lgkmcnt(14) ; encoding: [0xe7,0x3c,0x89,0xbf]127 128s_waitcnt vmcnt(15) expcnt(6) lgkmcnt(14)129// GFX1200: s_waitcnt vmcnt(15) expcnt(6) lgkmcnt(14) ; encoding: [0xe6,0x3c,0x89,0xbf]130 131s_waitcnt vmcnt(31)132// GFX1200: s_waitcnt vmcnt(31) ; encoding: [0xf7,0x7f,0x89,0xbf]133 134s_waitcnt vmcnt(31) expcnt(6)135// GFX1200: s_waitcnt vmcnt(31) expcnt(6) ; encoding: [0xf6,0x7f,0x89,0xbf]136 137s_waitcnt vmcnt(31) lgkmcnt(14)138// GFX1200: s_waitcnt vmcnt(31) lgkmcnt(14) ; encoding: [0xe7,0x7c,0x89,0xbf]139 140s_waitcnt vmcnt(31) expcnt(6) lgkmcnt(14)141// GFX1200: s_waitcnt vmcnt(31) expcnt(6) lgkmcnt(14) ; encoding: [0xe6,0x7c,0x89,0xbf]142 143s_waitcnt vmcnt(62)144// GFX1200: s_waitcnt vmcnt(62) ; encoding: [0xf7,0xfb,0x89,0xbf]145 146s_waitcnt vmcnt(62) expcnt(6)147// GFX1200: s_waitcnt vmcnt(62) expcnt(6) ; encoding: [0xf6,0xfb,0x89,0xbf]148 149s_waitcnt vmcnt(62) lgkmcnt(14)150// GFX1200: s_waitcnt vmcnt(62) lgkmcnt(14) ; encoding: [0xe7,0xf8,0x89,0xbf]151 152s_waitcnt vmcnt(62) expcnt(6) lgkmcnt(14)153// GFX1200: s_waitcnt vmcnt(62) expcnt(6) lgkmcnt(14) ; encoding: [0xe6,0xf8,0x89,0xbf]154 155//===----------------------------------------------------------------------===//156// s_sendmsg157//===----------------------------------------------------------------------===//158 159s_sendmsg 2160// GFX12: s_sendmsg sendmsg(MSG_HS_TESSFACTOR) ; encoding: [0x02,0x00,0xb6,0xbf]161 162s_sendmsg 0xc1d1163// GFX12: s_sendmsg 49617                      ; encoding: [0xd1,0xc1,0xb6,0xbf]164 165s_sendmsg sendmsg(MSG_HS_TESSFACTOR)166// GFX12: s_sendmsg sendmsg(MSG_HS_TESSFACTOR) ; encoding: [0x02,0x00,0xb6,0xbf]167 168s_sendmsg 3169// GFX12: s_sendmsg sendmsg(MSG_DEALLOC_VGPRS) ; encoding: [0x03,0x00,0xb6,0xbf]170 171s_sendmsg sendmsg(MSG_DEALLOC_VGPRS)172// GFX12: s_sendmsg sendmsg(MSG_DEALLOC_VGPRS) ; encoding: [0x03,0x00,0xb6,0xbf]173 174//===----------------------------------------------------------------------===//175// s_delay_alu176//===----------------------------------------------------------------------===//177 178s_delay_alu 0179// GFX12: s_delay_alu 0                           ; encoding: [0x00,0x00,0x87,0xbf]180 181s_delay_alu 0x91182// GFX12: s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1) ; encoding: [0x91,0x00,0x87,0xbf]183 184s_delay_alu instid0(VALU_DEP_1)185// GFX12: s_delay_alu instid0(VALU_DEP_1)         ; encoding: [0x01,0x00,0x87,0xbf]186 187s_delay_alu instid0(VALU_DEP_1) | instid1(SALU_CYCLE_1)188// GFX12: s_delay_alu instid0(VALU_DEP_1) | instid1(SALU_CYCLE_1) ; encoding: [0x81,0x04,0x87,0xbf]189 190s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_3)191// GFX12: s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_3) ; encoding: [0x91,0x01,0x87,0xbf]192 193s_delay_alu instid1(SALU_CYCLE_2)194// GFX12: s_delay_alu instid1(SALU_CYCLE_2) ; encoding: [0x00,0x05,0x87,0xbf]195 196s_delay_alu instid1(SALU_CYCLE_3)197// GFX12: s_delay_alu instid1(SALU_CYCLE_3) ; encoding: [0x80,0x05,0x87,0xbf]198 199s_wait_idle200// GFX12: s_wait_idle ; encoding: [0x00,0x00,0x8a,0xbf]201 202s_nop 0x0203// GFX12: s_nop 0 ; encoding: [0x00,0x00,0x80,0xbf]204 205s_nop 0x1234206// GFX12: s_nop 0x1234 ; encoding: [0x34,0x12,0x80,0xbf]207 208s_nop 0xc1d1209// GFX12: s_nop 0xc1d1 ; encoding: [0xd1,0xc1,0x80,0xbf]210 211s_endpgm212// GFX12: s_endpgm ; encoding: [0x00,0x00,0xb0,0xbf]213 214s_endpgm 1215// GFX12: s_endpgm 1 ; encoding: [0x01,0x00,0xb0,0xbf]216 217s_endpgm 65535218// GFX12: s_endpgm 65535 ; encoding: [0xff,0xff,0xb0,0xbf]219 220s_branch 0x0221// GFX12: s_branch 0 ; encoding: [0x00,0x00,0xa0,0xbf]222 223s_branch 0x1234224// GFX12: s_branch 4660 ; encoding: [0x34,0x12,0xa0,0xbf]225 226s_wakeup227// GFX12: s_wakeup ; encoding: [0x00,0x00,0xb4,0xbf]228 229s_cbranch_scc0 0x0230// GFX12: s_cbranch_scc0 0 ; encoding: [0x00,0x00,0xa1,0xbf]231 232s_cbranch_scc0 0x1234233// GFX12: s_cbranch_scc0 4660 ; encoding: [0x34,0x12,0xa1,0xbf]234 235s_cbranch_scc1 0x0236// GFX12: s_cbranch_scc1 0 ; encoding: [0x00,0x00,0xa2,0xbf]237 238s_cbranch_scc1 0x1234239// GFX12: s_cbranch_scc1 4660 ; encoding: [0x34,0x12,0xa2,0xbf]240 241s_cbranch_vccz 0x0242// GFX12: s_cbranch_vccz 0 ; encoding: [0x00,0x00,0xa3,0xbf]243 244s_cbranch_vccz 0x1234245// GFX12: s_cbranch_vccz 4660 ; encoding: [0x34,0x12,0xa3,0xbf]246 247s_cbranch_vccnz 0x0248// GFX12: s_cbranch_vccnz 0 ; encoding: [0x00,0x00,0xa4,0xbf]249 250s_cbranch_vccnz 0x1234251// GFX12: s_cbranch_vccnz 4660 ; encoding: [0x34,0x12,0xa4,0xbf]252 253s_cbranch_execz 0x0254// GFX12: s_cbranch_execz 0 ; encoding: [0x00,0x00,0xa5,0xbf]255 256s_cbranch_execz 0x1234257// GFX12: s_cbranch_execz 4660 ; encoding: [0x34,0x12,0xa5,0xbf]258 259s_cbranch_execnz 0x0260// GFX12: s_cbranch_execnz 0 ; encoding: [0x00,0x00,0xa6,0xbf]261 262s_cbranch_execnz 0x1234263// GFX12: s_cbranch_execnz 4660 ; encoding: [0x34,0x12,0xa6,0xbf]264 265s_setkill 0x0266// GFX1200: s_setkill 0 ; encoding: [0x00,0x00,0x81,0xbf]267 268s_setkill 0x1234269// GFX1200: s_setkill 0x1234 ; encoding: [0x34,0x12,0x81,0xbf]270 271s_setkill 0xc1d1272// GFX1200: s_setkill 0xc1d1 ; encoding: [0xd1,0xc1,0x81,0xbf]273 274s_sethalt 0x0275// GFX12: s_sethalt 0 ; encoding: [0x00,0x00,0x82,0xbf]276 277s_sethalt 0x1234278// GFX12: s_sethalt 0x1234 ; encoding: [0x34,0x12,0x82,0xbf]279 280s_sethalt 0xc1d1281// GFX12: s_sethalt 0xc1d1 ; encoding: [0xd1,0xc1,0x82,0xbf]282 283s_sleep 0x0284// GFX12: s_sleep 0 ; encoding: [0x00,0x00,0x83,0xbf]285 286s_sleep 0x1234287// GFX12: s_sleep 0x1234 ; encoding: [0x34,0x12,0x83,0xbf]288 289s_sleep 0xc1d1290// GFX12: s_sleep 0xc1d1 ; encoding: [0xd1,0xc1,0x83,0xbf]291 292s_setprio 0x0293// GFX12: s_setprio 0 ; encoding: [0x00,0x00,0xb5,0xbf]294 295s_setprio 0x1234296// GFX12: s_setprio 0x1234 ; encoding: [0x34,0x12,0xb5,0xbf]297 298s_setprio 0xc1d1299// GFX12: s_setprio 0xc1d1 ; encoding: [0xd1,0xc1,0xb5,0xbf]300 301s_sendmsghalt 0x0302// GFX12: s_sendmsghalt sendmsg(0, 0, 0) ; encoding: [0x00,0x00,0xb7,0xbf]303 304s_sendmsghalt 0x1234305// GFX12: s_sendmsghalt 4660 ; encoding: [0x34,0x12,0xb7,0xbf]306 307s_sendmsghalt 0xc1d1308// GFX12: s_sendmsghalt 49617 ; encoding: [0xd1,0xc1,0xb7,0xbf]309 310s_trap 0x0311// GFX12: s_trap 0 ; encoding: [0x00,0x00,0x90,0xbf]312 313s_trap 0x1234314// GFX12: s_trap 0x1234 ; encoding: [0x34,0x12,0x90,0xbf]315 316s_trap 0xc1d1317// GFX12: s_trap 0xc1d1 ; encoding: [0xd1,0xc1,0x90,0xbf]318 319s_icache_inv320// GFX12: s_icache_inv ; encoding: [0x00,0x00,0xbc,0xbf]321 322s_incperflevel 0x0323// GFX12: s_incperflevel 0 ; encoding: [0x00,0x00,0xb8,0xbf]324 325s_incperflevel 0x1234326// GFX12: s_incperflevel 0x1234 ; encoding: [0x34,0x12,0xb8,0xbf]327 328s_incperflevel 0xc1d1329// GFX12: s_incperflevel 0xc1d1 ; encoding: [0xd1,0xc1,0xb8,0xbf]330 331s_decperflevel 0x0332// GFX12: s_decperflevel 0 ; encoding: [0x00,0x00,0xb9,0xbf]333 334s_decperflevel 0x1234335// GFX12: s_decperflevel 0x1234 ; encoding: [0x34,0x12,0xb9,0xbf]336 337s_decperflevel 0xc1d1338// GFX12: s_decperflevel 0xc1d1 ; encoding: [0xd1,0xc1,0xb9,0xbf]339 340s_ttracedata341// GFX12: s_ttracedata ; encoding: [0x00,0x00,0xba,0xbf]342 343s_endpgm_saved344// GFX12: s_endpgm_saved ; encoding: [0x00,0x00,0xb1,0xbf]345 346s_code_end347// GFX12: s_code_end ; encoding: [0x00,0x00,0x9f,0xbf]348 349s_clause 0x0350// GFX12: s_clause 0x0 ; encoding: [0x00,0x00,0x85,0xbf]351 352s_clause 0x1234353// GFX12: s_clause 0x1234 ; encoding: [0x34,0x12,0x85,0xbf]354 355s_clause 0xc1d1356// GFX12: s_clause 0xc1d1 ; encoding: [0xd1,0xc1,0x85,0xbf]357 358s_round_mode 0x0359// GFX12: s_round_mode 0x0 ; encoding: [0x00,0x00,0x91,0xbf]360 361s_round_mode 0x1234362// GFX12: s_round_mode 0x1234 ; encoding: [0x34,0x12,0x91,0xbf]363 364s_round_mode 0xc1d1365// GFX12: s_round_mode 0xc1d1 ; encoding: [0xd1,0xc1,0x91,0xbf]366 367s_denorm_mode 0x0368// GFX12: s_denorm_mode 0 ; encoding: [0x00,0x00,0x92,0xbf]369 370s_denorm_mode 0x1234371// GFX12: s_denorm_mode 0x1234 ; encoding: [0x34,0x12,0x92,0xbf]372 373s_denorm_mode 0xc1d1374// GFX12: s_denorm_mode 0xc1d1 ; encoding: [0xd1,0xc1,0x92,0xbf]375 376s_ttracedata_imm 0x0377// GFX12: s_ttracedata_imm 0x0 ; encoding: [0x00,0x00,0xbb,0xbf]378 379s_ttracedata_imm 0x1234380// GFX12: s_ttracedata_imm 0x1234 ; encoding: [0x34,0x12,0xbb,0xbf]381 382s_ttracedata_imm 0xc1d1383// GFX12: s_ttracedata_imm 0xc1d1 ; encoding: [0xd1,0xc1,0xbb,0xbf]384 385s_wait_event 0x3141386// GFX1200: s_wait_event 0x3141 ; encoding: [0x41,0x31,0x8b,0xbf]387 388s_wait_event 0xc1d1389// GFX1200: s_wait_event 0xc1d1 ; encoding: [0xd1,0xc1,0x8b,0xbf]390