search for: memopnd

Displaying 5 results from an estimated 5 matches for "memopnd".

Did you mean: memop
2016 Mar 18
2
Immediate operand for load instruction, in back end
...Could you please tell me what's the right 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, (TyNo...
2016 Oct 24
2
Instruction selection confusion at register - chooses vector register instead of scalar one
...quot;def ST_D", etc. Note however that my vector unit has a separate memory space. This is why I defined the vector store like: class ST_DESC_BASE<string instr_asm, SDPatternOperator OpNode, ValueType TyNode, RegisterOperand ROWD, Operand MemOpnd = uimm4_ptr, ImmLeaf Addr = immLeafAlex, InstrItinClass itin = NoItinerary> { dag OutOperandList = (outs); dag InOperandList = (ins ROWD:$wd, MemOpnd:$addrdst); string AsmString = !strconcat("LS[$addrdst] = $wd;",...
2016 Oct 25
0
Instruction selection confusion at register - chooses vector register instead of scalar one
..."def ST_D", etc. Note however that my vector unit has a separate memory space. This is why I defined the vector store like: class ST_DESC_BASE<string instr_asm, SDPatternOperator OpNode, ValueType TyNode, RegisterOperand ROWD, Operand MemOpnd = uimm4_ptr, ImmLeaf Addr = immLeafAlex, InstrItinClass itin = NoItinerary> { dag OutOperandList = (outs); dag InOperandList = (ins ROWD:$wd, MemOpnd:$addrdst); string AsmString = !strconcat("LS[$addrdst] = $wd;",...
2016 Mar 22
0
Immediate operand for load instruction, in back end
...s the right 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> P...
2016 Dec 03
2
Immediate operand for vector instructions
...> REPEAT_X_TIMES(r1); ... Note that in the end I managed to fix this problem by using an address operand as immediate operand (inspired again from Mips MSA vector instructions), but I consider this a somewhat strange solution: class REP_1R_DESC_BASE<Operand MemOpnd = uimm4_ptr, ImmLeaf Addr = immLeaf, InstrItinClass itin = NoItinerary> { dag OutOperandList = (outs); dag InOperandList = (ins MemOpnd:$addrdst); string AsmString = "REPEAT_X_TIMES($addrdst...