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...