Domain D = d;
bit isUnaryDataProc = 0;
bit canXformTo16Bit = 0;
-
+
// If this is a pseudo instruction, mark it isCodeGenOnly.
let isCodeGenOnly = !eq(!cast<string>(f), "Pseudo");
let Inst{21-20} = op21_20;
let Inst{11-8} = op11_8;
let Inst{7-4} = op7_4;
-
+
let PostEncoderMethod = "NEONThumb2LoadStorePostEncoder";
-
+
bits<5> Vd;
bits<6> Rn;
bits<4> Rm;
-
+
let Inst{22} = Vd{4};
let Inst{15-12} = Vd{3-0};
let Inst{19-16} = Rn{3-0};
let Inst{6} = op6;
let Inst{5} = op5;
let Inst{4} = op4;
-
+
// Instruction operands.
bits<5> Vd;
bits<13> SIMM;
-
+
let Inst{15-12} = Vd{3-0};
let Inst{22} = Vd{4};
let Inst{24} = SIMM{7};
let Inst{11-7} = op11_7;
let Inst{6} = op6;
let Inst{4} = op4;
-
+
// Instruction operands.
bits<5> Vd;
bits<5> Vm;
let Inst{11-7} = op11_7;
let Inst{6} = op6;
let Inst{4} = op4;
-
+
// Instruction operands.
bits<5> Vd;
bits<5> Vm;
let Inst{7} = op7;
let Inst{6} = op6;
let Inst{4} = op4;
-
+
// Instruction operands.
bits<5> Vd;
bits<5> Vm;
let Inst{11-8} = op11_8;
let Inst{6} = op6;
let Inst{4} = op4;
-
+
// Instruction operands.
bits<5> Vd;
bits<5> Vn;
let Inst{11-8} = op11_8;
let Inst{6} = op6;
let Inst{4} = op4;
-
+
// Instruction operands.
bits<5> Vd;
bits<5> Vn;
let AsmString = !strconcat(opc, "${p}", ".", dt, "\t", asm);
let Pattern = pattern;
list<Predicate> Predicates = [HasNEON];
-
+
let PostEncoderMethod = "NEONThumb2DupPostEncoder";
-
+
bits<5> V;
bits<4> R;
bits<4> p;
bits<4> lane;
-
+
let Inst{31-28} = p{3-0};
let Inst{7} = V{4};
let Inst{19-16} = V{3-0};
let Inst{11-7} = 0b11000;
let Inst{6} = op6;
let Inst{4} = 0;
-
+
bits<5> Vd;
bits<5> Vm;
bits<4> lane;
-
+
let Inst{22} = Vd{4};
let Inst{15-12} = Vd{3-0};
let Inst{5} = Vm{4};