[llvm] [SystemZ] Don't lower float/double ATOMIC_[LOAD|STORE] to [LOAD|STORE] (PR #75879)

Jonas Paulsson via llvm-commits llvm-commits at lists.llvm.org
Fri Mar 1 02:27:29 PST 2024


================
@@ -5035,12 +5035,12 @@ defm : TrapExtendedMnemonic<"lng", 6>;
 defm : TrapExtendedMnemonic<"u", 31>;
 
 // Atomic loads
-def : Pat<(atomic_load_8  DForm:$src), (LBZ  memri:$src)>;
-def : Pat<(atomic_load_16 DForm:$src), (LHZ  memri:$src)>;
-def : Pat<(atomic_load_32 DForm:$src), (LWZ  memri:$src)>;
-def : Pat<(atomic_load_8  XForm:$src), (LBZX memrr:$src)>;
-def : Pat<(atomic_load_16 XForm:$src), (LHZX memrr:$src)>;
-def : Pat<(atomic_load_32 XForm:$src), (LWZX memrr:$src)>;
+def : Pat<(iAny (atomic_load_8  DForm:$src)), (LBZ  memri:$src)>;
+def : Pat<(iAny (atomic_load_16 DForm:$src)), (LHZ  memri:$src)>;
+def : Pat<(iAny (atomic_load_32 DForm:$src)), (LWZ  memri:$src)>;
+def : Pat<(iAny (atomic_load_8  XForm:$src)), (LBZX memrr:$src)>;
+def : Pat<(iAny (atomic_load_16 XForm:$src)), (LHZX memrr:$src)>;
+def : Pat<(iAny (atomic_load_32 XForm:$src)), (LWZX memrr:$src)>;
----------------
JonPsson1 wrote:

thanks - fixed.


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


More information about the llvm-commits mailing list