================
@@ -13338,3 +13353,86 @@ class STCPHInst<string asm> : I<
let Inst{7-5} = 0b100;
let Inst{4-0} = 0b11111;
}
+
+//---
+// Permission Overlays Extension 2 (FEAT_S1POE2)
+//---
+
+class TCHANGERegInst<string asm, bit isB> : I<
+ (outs GPR64:$Xd),
+ (ins GPR64:$Xn, TIndexhint_op:$nb),
+ asm, "\t$Xd, $Xn, $nb", "", []>, Sched<[]> {
+ bits<5> Xd;
+ bits<5> Xn;
+ bits<1> nb;
+ let Inst{31-19} = 0b1101010110000;
+ let Inst{18} = isB;
+ let Inst{17} = nb;
+ let Inst{16-10} = 0b0000000;
+ let Inst{9-5} = Xn;
+ let Inst{4-0} = Xd;
+}
+
+class TCHANGEImmInst<string asm, bit isB> : I<
+ (outs GPR64:$Xd),
+ (ins imm0_127:$imm, TIndexhint_op:$nb),
+ asm, "\t$Xd, $imm, $nb", "", []>, Sched<[]> {
+ bits<5> Xd;
+ bits<7> imm;
+ bits<1> nb;
+ let Inst{31-19} = 0b1101010110010;
+ let Inst{18} = isB;
+ let Inst{17} = nb;
+ let Inst{16-12} = 0b00000;
+ let Inst{11-5} = imm;
+ let Inst{4-0} = Xd;
+}
+
+class TENTERInst<string asm> : I<
+ (outs),
+ (ins imm0_127:$imm, TIndexhint_op:$nb),
+ asm, "\t$imm, $nb", "", []>, Sched<[]> {
+ bits<7> imm;
+ bits<1> nb;
+ let Inst{31-20} = 0b110101001110;
+ let Inst{19-18} = 0b00;
+ let Inst{17} = nb;
+ let Inst{16-12} = 0b00000;
+ let Inst{11-5} = imm;
+ let Inst{4-0} = 0b00000;
+}
+
+class TEXITInst<string asm> : I<
+ (outs),
+ (ins TIndexhint_op:$nb),
+ asm, "\t$nb", "", []>, Sched<[]> {
+ bits<1> nb;
+ let Inst{31-13} = 0b1101011011111111000;
----------------
jthackray wrote:
Thanks, done.
https://github.com/llvm/llvm-project/pull/164912
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits