diff --git a/llvm/lib/Target/AMDGPU/SIInstructions.td b/llvm/lib/Target/AMDGPU/SIInstructions.td index 796d85fb8af65..381f262abfeaa 100644 --- a/llvm/lib/Target/AMDGPU/SIInstructions.td +++ b/llvm/lib/Target/AMDGPU/SIInstructions.td @@ -479,7 +479,7 @@ def SI_CALL : SPseudoInstSI < // Tail call handling pseudo def SI_TCRETURN : SPseudoInstSI <(outs), - (ins SSrc_b64:$src0, unknown:$callee, i32imm:$fpdiff), + (ins SReg_64:$src0, unknown:$callee, i32imm:$fpdiff), [(AMDGPUtc_return i64:$src0, tglobaladdr:$callee, i32:$fpdiff)]> { let Size = 4; let isCall = 1; diff --git a/llvm/test/MC/AMDGPU/sop1-err.s b/llvm/test/MC/AMDGPU/sop1-err.s index be88b1077f832..1593488adbcb4 100644 --- a/llvm/test/MC/AMDGPU/sop1-err.s +++ b/llvm/test/MC/AMDGPU/sop1-err.s @@ -39,3 +39,6 @@ s_mov_b32 s103, 1 s_mov_b64 s[102:103], -1 // VI: error: register not available on this GPU + +s_setpc_b64 0 +// GCN: error: invalid operand for instruction