================
@@ -11590,3 +11590,52 @@ multiclass sve2_int_to_fp_upcvt<string asm, bits<2> U, 
SDPatternOperator op> {
   def : SVE_1_Op_Pat<nxv4f32, op, nxv8i16, !cast<Instruction>(NAME # _HtoS)>;
   def : SVE_1_Op_Pat<nxv2f64, op, nxv4i32, !cast<Instruction>(NAME # _StoD)>;
 }
+
+//===----------------------------------------------------------------------===//
+// SVE ordered load/store
+//===----------------------------------------------------------------------===//
+class sve_mem_z_acq_fill_inst<string mnemonic> :
+  I<(outs ZPRAny:$Zt), (ins GPR64sp:$Rn, uimm8s32:$imm), mnemonic,
+  "\t$Zt, [$Rn, $imm]", "", []>, Sched<[]> {
+  bits<5> Zt;
+  bits<5> Rn;
+  bits<8> imm;
+  let Inst{31-21} = 0b10000101100;
+  let Inst{20-16} = imm{7-3};
+  let Inst{15-13} = 0b011;
+  let Inst{12-10} = imm{2-0};
+  let Inst{9-5}   = Rn;
+  let Inst{4-0}   = Zt;
+
+  let mayLoad = 1;
+}
+
+class sve_mem_z_rel_spill_inst<string mnemonic> :
----------------
jthackray wrote:

I think it's possible to merge `sve_mem_z_rel_spill_inst` with 
`sve_mem_z_acq_fill_inst` as they look very similar.

https://github.com/llvm/llvm-project/pull/231430
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to