@@ -4933,23 +4933,40 @@ bool SIInstrInfo::verifyInstruction(const MachineInstr &MI,
4933
4933
4934
4934
int RegClass = Desc.operands ()[i].RegClass ;
4935
4935
4936
- switch (Desc.operands ()[i].OperandType ) {
4936
+ const MCOperandInfo &OpInfo = Desc.operands ()[i];
4937
+ switch (OpInfo.OperandType ) {
4937
4938
case MCOI::OPERAND_REGISTER:
4938
4939
if (MI.getOperand (i).isImm () || MI.getOperand (i).isGlobal ()) {
4939
4940
ErrInfo = " Illegal immediate value for operand." ;
4940
4941
return false ;
4941
4942
}
4942
4943
break ;
4943
4944
case AMDGPU::OPERAND_REG_IMM_INT32:
4945
+ case AMDGPU::OPERAND_REG_IMM_INT64:
4946
+ case AMDGPU::OPERAND_REG_IMM_INT16:
4944
4947
case AMDGPU::OPERAND_REG_IMM_FP32:
4945
4948
case AMDGPU::OPERAND_REG_IMM_V2FP32:
4949
+ case AMDGPU::OPERAND_REG_IMM_BF16:
4950
+ case AMDGPU::OPERAND_REG_IMM_FP16:
4951
+ case AMDGPU::OPERAND_REG_IMM_FP64:
4952
+ case AMDGPU::OPERAND_REG_IMM_V2FP16:
4953
+ case AMDGPU::OPERAND_REG_IMM_V2INT16:
4954
+ case AMDGPU::OPERAND_REG_IMM_V2INT32:
4955
+ case AMDGPU::OPERAND_REG_IMM_V2BF16:
4946
4956
break ;
4957
+ case AMDGPU::OPERAND_REG_IMM_NOINLINE_V2FP16:
4958
+ break ;
4959
+ break ;
4960
+ case AMDGPU::OPERAND_REG_INLINE_C_INT16:
4947
4961
case AMDGPU::OPERAND_REG_INLINE_C_INT32:
4948
- case AMDGPU::OPERAND_REG_INLINE_C_FP32:
4949
4962
case AMDGPU::OPERAND_REG_INLINE_C_INT64:
4963
+ case AMDGPU::OPERAND_REG_INLINE_C_FP32:
4950
4964
case AMDGPU::OPERAND_REG_INLINE_C_FP64:
4951
- case AMDGPU::OPERAND_REG_INLINE_C_INT16 :
4965
+ case AMDGPU::OPERAND_REG_INLINE_C_BF16 :
4952
4966
case AMDGPU::OPERAND_REG_INLINE_C_FP16:
4967
+ case AMDGPU::OPERAND_REG_INLINE_C_V2INT16:
4968
+ case AMDGPU::OPERAND_REG_INLINE_C_V2BF16:
4969
+ case AMDGPU::OPERAND_REG_INLINE_C_V2FP16:
4953
4970
case AMDGPU::OPERAND_REG_INLINE_AC_INT32:
4954
4971
case AMDGPU::OPERAND_REG_INLINE_AC_FP32:
4955
4972
case AMDGPU::OPERAND_REG_INLINE_AC_FP64: {
@@ -4965,6 +4982,10 @@ bool SIInstrInfo::verifyInstruction(const MachineInstr &MI,
4965
4982
return false ;
4966
4983
}
4967
4984
break ;
4985
+ case AMDGPU::OPERAND_INPUT_MODS:
4986
+ case AMDGPU::OPERAND_SDWA_VOPC_DST:
4987
+ case AMDGPU::OPERAND_KIMM16:
4988
+ break ;
4968
4989
case MCOI::OPERAND_IMMEDIATE:
4969
4990
case AMDGPU::OPERAND_KIMM32:
4970
4991
case AMDGPU::OPERAND_KIMM64:
@@ -4976,9 +4997,15 @@ bool SIInstrInfo::verifyInstruction(const MachineInstr &MI,
4976
4997
ErrInfo = " Expected immediate, but got non-immediate" ;
4977
4998
return false ;
4978
4999
}
4979
- [[fallthrough]];
5000
+ break ;
5001
+ case MCOI::OPERAND_UNKNOWN:
5002
+ case MCOI::OPERAND_MEMORY:
5003
+ case MCOI::OPERAND_PCREL:
5004
+ break ;
4980
5005
default :
4981
- continue ;
5006
+ if (OpInfo.isGenericType ())
5007
+ continue ;
5008
+ break ;
4982
5009
}
4983
5010
4984
5011
if (!MO.isReg ())
0 commit comments