@@ -4933,23 +4933,40 @@ bool SIInstrInfo::verifyInstruction(const MachineInstr &MI,
49334933
49344934 int RegClass = Desc.operands ()[i].RegClass ;
49354935
4936- switch (Desc.operands ()[i].OperandType ) {
4936+ const MCOperandInfo &OpInfo = Desc.operands ()[i];
4937+ switch (OpInfo.OperandType ) {
49374938 case MCOI::OPERAND_REGISTER:
49384939 if (MI.getOperand (i).isImm () || MI.getOperand (i).isGlobal ()) {
49394940 ErrInfo = " Illegal immediate value for operand." ;
49404941 return false ;
49414942 }
49424943 break ;
49434944 case AMDGPU::OPERAND_REG_IMM_INT32:
4945+ case AMDGPU::OPERAND_REG_IMM_INT64:
4946+ case AMDGPU::OPERAND_REG_IMM_INT16:
49444947 case AMDGPU::OPERAND_REG_IMM_FP32:
49454948 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:
49464956 break ;
4957+ case AMDGPU::OPERAND_REG_IMM_NOINLINE_V2FP16:
4958+ break ;
4959+ break ;
4960+ case AMDGPU::OPERAND_REG_INLINE_C_INT16:
49474961 case AMDGPU::OPERAND_REG_INLINE_C_INT32:
4948- case AMDGPU::OPERAND_REG_INLINE_C_FP32:
49494962 case AMDGPU::OPERAND_REG_INLINE_C_INT64:
4963+ case AMDGPU::OPERAND_REG_INLINE_C_FP32:
49504964 case AMDGPU::OPERAND_REG_INLINE_C_FP64:
4951- case AMDGPU::OPERAND_REG_INLINE_C_INT16 :
4965+ case AMDGPU::OPERAND_REG_INLINE_C_BF16 :
49524966 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:
49534970 case AMDGPU::OPERAND_REG_INLINE_AC_INT32:
49544971 case AMDGPU::OPERAND_REG_INLINE_AC_FP32:
49554972 case AMDGPU::OPERAND_REG_INLINE_AC_FP64: {
@@ -4965,6 +4982,10 @@ bool SIInstrInfo::verifyInstruction(const MachineInstr &MI,
49654982 return false ;
49664983 }
49674984 break ;
4985+ case AMDGPU::OPERAND_INPUT_MODS:
4986+ case AMDGPU::OPERAND_SDWA_VOPC_DST:
4987+ case AMDGPU::OPERAND_KIMM16:
4988+ break ;
49684989 case MCOI::OPERAND_IMMEDIATE:
49694990 case AMDGPU::OPERAND_KIMM32:
49704991 case AMDGPU::OPERAND_KIMM64:
@@ -4976,9 +4997,15 @@ bool SIInstrInfo::verifyInstruction(const MachineInstr &MI,
49764997 ErrInfo = " Expected immediate, but got non-immediate" ;
49774998 return false ;
49784999 }
4979- [[fallthrough]];
5000+ break ;
5001+ case MCOI::OPERAND_UNKNOWN:
5002+ case MCOI::OPERAND_MEMORY:
5003+ case MCOI::OPERAND_PCREL:
5004+ break ;
49805005 default :
4981- continue ;
5006+ if (OpInfo.isGenericType ())
5007+ continue ;
5008+ break ;
49825009 }
49835010
49845011 if (!MO.isReg ())
0 commit comments