sync.md: Update copyright notice dates.
authorOleg Endo <olegendo@gcc.gnu.org>
Fri, 2 Mar 2012 21:04:51 +0000 (21:04 +0000)
committerOleg Endo <olegendo@gcc.gnu.org>
Fri, 2 Mar 2012 21:04:51 +0000 (21:04 +0000)
        * config/sh/sync.md: Update copyright notice dates.
(atomic_compare_and_swap<mode>): Use SImode for return value instead
of QImode.
        (atomic_compare_and_swap<mode>_soft): Likewise.

From-SVN: r184826

gcc/ChangeLog
gcc/config/sh/sync.md

index 94e66c07c1e86d2686c10ca747e206f86d83d2c5..009097e751353688ab70906a8a14e6166867b81d 100644 (file)
@@ -1,4 +1,11 @@
-2012-01-02  Oleg Endo  <olegendo@gcc.gnu.org>
+2012-03-02  Oleg Endo  <olegendo@gcc.gnu.org>
+
+        * config/sh/sync.md: Update copyright notice dates.
+       (atomic_compare_and_swap<mode>): Use SImode for return value instead
+       of QImode.
+        (atomic_compare_and_swap<mode>_soft): Likewise.
+
+2012-03-02  Oleg Endo  <olegendo@gcc.gnu.org>
  
        PR target/31640
        * config/sh/sh.h (LOOP_ALIGN): Move logic to sh_loop_align.
index 6b397e28db6786460236d9ca0399b18d17b1a8ac..88e0ce22089e9dcd9ee837a2a20765745288df0d 100644 (file)
@@ -1,5 +1,5 @@
 ;; GCC machine description for SH synchronization instructions.
-;; Copyright (C) 2011
+;; Copyright (C) 2011, 2012
 ;; Free Software Foundation, Inc.
 ;;
 ;; This file is part of GCC.
   [(plus "add") (minus "sub") (ior "or") (xor "xor") (and "and")])
 
 (define_expand "atomic_compare_and_swap<mode>"
-  [(match_operand:QI 0 "register_operand" "")          ;; bool success output
+  [(match_operand:SI 0 "register_operand" "")          ;; bool success output
    (match_operand:I124 1 "register_operand" "")                ;; oldval output
    (match_operand:I124 2 "memory_operand" "")          ;; memory
    (match_operand:I124 3 "register_operand" "")                ;; expected input
   else if (<MODE>mode == HImode)
     emit_insn (gen_zero_extendhisi2 (gen_lowpart (SImode, operands[1]),
                                     operands[1]));
-  emit_insn (gen_movqi (operands[0], gen_rtx_REG (QImode, T_REG)));
+  emit_insn (gen_movsi (operands[0], gen_rtx_REG (SImode, T_REG)));
   DONE;
 })
 
          UNSPECV_CMPXCHG_1))
    (set (mem:I124 (match_dup 1))
        (unspec_volatile:I124 [(const_int 0)] UNSPECV_CMPXCHG_2))
-   (set (reg:QI T_REG)
-       (unspec_volatile:QI [(const_int 0)] UNSPECV_CMPXCHG_3))
+   (set (reg:SI T_REG)
+       (unspec_volatile:SI [(const_int 0)] UNSPECV_CMPXCHG_3))
    (clobber (match_scratch:SI 4 "=&u"))
    (clobber (reg:SI R0_REG))
    (clobber (reg:SI R1_REG))]