Question regarding ARM ADDri instruction

Hi all,

I noticed that for the ARM instruction “ADDri” (which I assume to be “add register immediate”) the 3rd operand which should intuitively have operand type MCOI::OPERAND_IMMEDIATE actually has MCOI::OPERAND_UNKNOWN (you can see this in inside the build folder).

I fixed this by adding the line “let OperandType = OPERAND_IMMEDIATE;” in lib/Target/ARM/ in the definition of mod_imm (line 692).

Is this an actual bug? And if so, what could be a proper fix? I’m not familiar with the intricacies of the ARM tablegen structure.

I’m working on

branch: release_80

commit: 8779077dde876ddfb6dfbe7f1da338f820a8fa13



The fix you’re describing is probably correct. That said, as far as I can tell, basically nothing in the ARM backend actually cares about the OperandType of an instruction, so I don’t think it has any practical impact.