[clang] [llvm] [AArch64][SME2] Add ldr_zt, str_zt builtins and intrinsics (PR #72849)

Matthew Devereau via cfe-commits cfe-commits at lists.llvm.org
Thu Nov 30 09:05:32 PST 2023


================
@@ -2748,6 +2748,22 @@ AArch64TargetLowering::EmitFill(MachineInstr &MI, MachineBasicBlock *BB) const {
   return BB;
 }
 
+MachineBasicBlock *AArch64TargetLowering::EmitZTSpillFill(MachineInstr &MI,
+                                                          MachineBasicBlock *BB,
+                                                          bool IsSpill) const {
+  const TargetInstrInfo *TII = Subtarget->getInstrInfo();
+  MachineInstrBuilder MIB;
+  if (IsSpill) {
----------------
MDevereau wrote:

This isn't quite equivalent as the different methods will implicitly define registers in different manners causing the added tests in this patch to fail the machine-verifier pass. However adding the line 
`auto Rs = IsSpill ? RegState::Kill : RegState::Define;`
in addition to your suggestion works as intended.

https://github.com/llvm/llvm-project/pull/72849


More information about the cfe-commits mailing list