1 // RUN: llvm-mc -arch=amdgcn -mcpu=gfx900 -show-encoding %s | FileCheck --check-prefix=GFX9 %s 2 3 //===----------------------------------------------------------------------===// 4 // s_waitcnt 5 //===----------------------------------------------------------------------===// 6 7 s_waitcnt 0 8 // GFX9: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0) ; encoding: [0x00,0x00,0x8c,0xbf] 9 10 s_waitcnt vmcnt(0) & expcnt(0) & lgkmcnt(0) 11 // GFX9: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0) ; encoding: [0x00,0x00,0x8c,0xbf] 12 13 s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0) 14 // GFX9: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0) ; encoding: [0x00,0x00,0x8c,0xbf] 15 16 s_waitcnt vmcnt(0), expcnt(0), lgkmcnt(0) 17 // GFX9: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0) ; encoding: [0x00,0x00,0x8c,0xbf] 18 19 s_waitcnt vmcnt(1) 20 // GFX9: s_waitcnt vmcnt(1) ; encoding: [0x71,0x0f,0x8c,0xbf] 21 22 s_waitcnt vmcnt(9) 23 // GFX9: s_waitcnt vmcnt(9) ; encoding: [0x79,0x0f,0x8c,0xbf] 24 25 s_waitcnt expcnt(2) 26 // GFX9: s_waitcnt expcnt(2) ; encoding: [0x2f,0xcf,0x8c,0xbf] 27 28 s_waitcnt lgkmcnt(3) 29 // GFX9: s_waitcnt lgkmcnt(3) ; encoding: [0x7f,0xc3,0x8c,0xbf] 30 31 s_waitcnt lgkmcnt(9) 32 // GFX9: s_waitcnt lgkmcnt(9) ; encoding: [0x7f,0xc9,0x8c,0xbf] 33 34 s_waitcnt vmcnt(0), expcnt(0) 35 // GFX9: s_waitcnt vmcnt(0) expcnt(0) ; encoding: [0x00,0x0f,0x8c,0xbf] 36 37 s_waitcnt vmcnt(15) 38 // GFX9: s_waitcnt vmcnt(15) ; encoding: [0x7f,0x0f,0x8c,0xbf] 39 40 s_waitcnt vmcnt(15) expcnt(6) 41 // GFX9: s_waitcnt vmcnt(15) expcnt(6) ; encoding: [0x6f,0x0f,0x8c,0xbf] 42 43 s_waitcnt vmcnt(15) lgkmcnt(14) 44 // GFX9: s_waitcnt vmcnt(15) lgkmcnt(14) ; encoding: [0x7f,0x0e,0x8c,0xbf] 45 46 s_waitcnt vmcnt(15) expcnt(6) lgkmcnt(14) 47 // GFX9: s_waitcnt vmcnt(15) expcnt(6) lgkmcnt(14) ; encoding: [0x6f,0x0e,0x8c,0xbf] 48 49 s_waitcnt vmcnt(31) 50 // GFX9: s_waitcnt vmcnt(31) ; encoding: [0x7f,0x4f,0x8c,0xbf] 51 52 s_waitcnt vmcnt(31) expcnt(6) 53 // GFX9: s_waitcnt vmcnt(31) expcnt(6) ; encoding: [0x6f,0x4f,0x8c,0xbf] 54 55 s_waitcnt vmcnt(31) lgkmcnt(14) 56 // GFX9: s_waitcnt vmcnt(31) lgkmcnt(14) ; encoding: [0x7f,0x4e,0x8c,0xbf] 57 58 s_waitcnt vmcnt(31) expcnt(6) lgkmcnt(14) 59 // GFX9: s_waitcnt vmcnt(31) expcnt(6) lgkmcnt(14) ; encoding: [0x6f,0x4e,0x8c,0xbf] 60 61 s_waitcnt vmcnt(62) 62 // GFX9: s_waitcnt vmcnt(62) ; encoding: [0x7e,0xcf,0x8c,0xbf] 63 64 s_waitcnt vmcnt(62) expcnt(6) 65 // GFX9: s_waitcnt vmcnt(62) expcnt(6) ; encoding: [0x6e,0xcf,0x8c,0xbf] 66 67 s_waitcnt vmcnt(62) lgkmcnt(14) 68 // GFX9: s_waitcnt vmcnt(62) lgkmcnt(14) ; encoding: [0x7e,0xce,0x8c,0xbf] 69 70 s_waitcnt vmcnt(62) expcnt(6) lgkmcnt(14) 71 // GFX9: s_waitcnt vmcnt(62) expcnt(6) lgkmcnt(14) ; encoding: [0x6e,0xce,0x8c,0xbf] 72