search for: addrimm10

Displaying 2 results from an estimated 2 matches for "addrimm10".

2016 Mar 18
2
Immediate operand for load instruction, in back end
...ight way to do it? Here, the load class has $addrsrc which is a relative address with base a certain register and offset: class LD_DESC_BASE<string instr_asm, SDPatternOperator OpNode, ValueType TyNode, RegisterOperand ROWD, Operand MemOpnd = mem_msa, ComplexPattern Addr = addrimm10, InstrItinClass itin = NoItinerary> { dag OutOperandList = (outs ROWD:$wd); dag InOperandList = (ins MemOpnd:$addrsrc); string AsmString = !strconcat("mov $wd, ($addrsrc)"); list<dag> Pattern = [(set ROWD:$wd, (TyNode (OpNode Addr:$addrsrc)))]; InstrItinClass...
2016 Mar 22
0
Immediate operand for load instruction, in back end
...andle each operation using setOperationAction(). > I've tried to change mem_msa to hold only let MIOperandInfo = (ops > simm10) but there It sounds like you're on the right track but there may be an easier way. Continuing on this track, I believe you will also need to change the addrimm10 mentioned in the argument list for LD_DESC_BASE. The one for MIPS will be matching the DAG using the selectIntAddrMSA() function which will produce the two operands expected by mem_msa. I haven't tried this but given that you only want an immediate address, it may be easier to use an immediate...