https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114310

Andrew Pinski <pinskia at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|---                         |11.5
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2024-03-11
     Ever confirmed|0                           |1
            Summary|[aarch64]                   |[11/12/13/14 Regression]
                   |__sync_val_compare_and_swap |[aarch64]
                   |fails on __int128_t with    |__sync_val_compare_and_swap
                   |newval = 0                  |fails on __int128_t with
                   |                            |newval = 0
      Known to work|                            |8.2.0
      Known to fail|                            |8.5.0

--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
Most likely:
[apinski@xeond2 aarch64]$ git diff atomics.md
diff --git a/gcc/config/aarch64/atomics.md b/gcc/config/aarch64/atomics.md
index 32a0a723732..759e280468a 100644
--- a/gcc/config/aarch64/atomics.md
+++ b/gcc/config/aarch64/atomics.md
@@ -98,8 +98,8 @@ (define_insn_and_split "@aarch64_compare_and_swap<mode>"
     (match_operand:JUST_TI 1 "aarch64_sync_memory_operand" "+Q")) ;; memory
    (set (match_dup 1)
     (unspec_volatile:JUST_TI
-      [(match_operand:JUST_TI 2 "aarch64_reg_or_zero" "rZ")    ;; expect
-       (match_operand:JUST_TI 3 "aarch64_reg_or_zero" "rZ")    ;; desired
+      [(match_operand:JUST_TI 2 "aarch64_reg_or_zero" "r")     ;; expect
+       (match_operand:JUST_TI 3 "aarch64_reg_or_zero" "r")     ;; desired
        (match_operand:SI 4 "const_int_operand")                        ;;
is_weak
        (match_operand:SI 5 "const_int_operand")                        ;;
mod_s
        (match_operand:SI 6 "const_int_operand")]               ;; mod_f

Reply via email to