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

Matt Arsenault via llvm-commits llvm-commits at lists.llvm.org
Thu Feb 29 02:35:03 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)>;
----------------
arsenm wrote:

I would assume these should all be i32?

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


More information about the llvm-commits mailing list