Displaying 2 results from an estimated 2 matches for "int_repeat_x_times".
2016 Dec 03
2
Immediate operand for vector instructions
...arget.td:
let OperandType = "OPERAND_IMMEDIATE" in {
...
def i64imm : Operand<i64>; */
dag InOperandList = (ins i64imm:$imm);
string AsmString = "REPEAT_X_TIMES($imm";
list<dag> Pattern = [(int_repeat_x_times i64imm:$imm)];
InstrItinClass Itinerary = itin;
}
class REP_D_DESC : REP_1R_DESC_BASE;
class REP_D_ENC : MSA_I16_FMT<0b101010111>;
def REP_D: REP_D_ENC, REP_D_DESC;
and added in the LLVM program (programmatically, in an LLVM pass) an LLVM...
2016 Dec 06
0
Immediate operand for vector instructions
...ail.com> wrote:
> We can compile it. Note that this is the only compilable code w.r.t.
> using i64 or i64imm (in the 2 lines above: "dag InOperandList", "list<dag>
> Pattern").
Yeah, you actually want to use "imm":
list<dag> Pattern = [(int_repeat_x_times imm:$imm)];
When the table generator sees "i64" it doesn't go looking in the
InOperandList to determine that the operand should be an immediate. It
just matches anything and shoves it into a register. It *does* know
about "imm" though because that's defined to match up...