From: Matt Arsenault Date: Mon, 8 Jul 2019 16:53:48 +0000 (+0000) Subject: AMDGPU: Move waitcnt intrinsic to instruction definition pattern X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=75c952bcb749966e8686448d4709065ff2cb5b0a;p=llvm AMDGPU: Move waitcnt intrinsic to instruction definition pattern git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@365349 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Target/AMDGPU/SIInstrInfo.td b/lib/Target/AMDGPU/SIInstrInfo.td index f071ee09063..073ca6e0f34 100644 --- a/lib/Target/AMDGPU/SIInstrInfo.td +++ b/lib/Target/AMDGPU/SIInstrInfo.td @@ -745,6 +745,7 @@ def VReg32OrOffClass : AsmOperandClass { def WAIT_FLAG : Operand { let ParserMatchClass = SWaitMatchClass; let PrintMethod = "printWaitFlag"; + let OperandType = "OPERAND_IMMEDIATE"; } include "SIInstrFormats.td" diff --git a/lib/Target/AMDGPU/SOPInstructions.td b/lib/Target/AMDGPU/SOPInstructions.td index 9d780573cb7..48fb62e2914 100644 --- a/lib/Target/AMDGPU/SOPInstructions.td +++ b/lib/Target/AMDGPU/SOPInstructions.td @@ -1089,7 +1089,8 @@ def S_WAKEUP : SOPP <0x00000003, (ins), "s_wakeup"> { } let mayLoad = 1, mayStore = 1, hasSideEffects = 1 in -def S_WAITCNT : SOPP <0x0000000c, (ins WAIT_FLAG:$simm16), "s_waitcnt $simm16">; +def S_WAITCNT : SOPP <0x0000000c, (ins WAIT_FLAG:$simm16), "s_waitcnt $simm16", + [(int_amdgcn_s_waitcnt SIMM16bit:$simm16)]>; def S_SETHALT : SOPP <0x0000000d, (ins i16imm:$simm16), "s_sethalt $simm16">; def S_SETKILL : SOPP <0x0000000b, (ins i16imm:$simm16), "s_setkill $simm16">; @@ -1247,17 +1248,6 @@ def : GCNPat< >; - -//===----------------------------------------------------------------------===// -// SOPP Patterns -//===----------------------------------------------------------------------===// - -def : GCNPat < - (int_amdgcn_s_waitcnt i32:$simm16), - (S_WAITCNT (as_i16imm $simm16)) ->; - - //===----------------------------------------------------------------------===// // Target-specific instruction encodings. //===----------------------------------------------------------------------===//