re PR target/81821 ([RX] xchg_mem<mode> uses wrong memory operand size)
authorOleg Endo <olegendo@gcc.gnu.org>
Thu, 11 Jan 2018 15:16:21 +0000 (15:16 +0000)
committerOleg Endo <olegendo@gcc.gnu.org>
Thu, 11 Jan 2018 15:16:21 +0000 (15:16 +0000)
gcc/
PR target/81821
* config/rx/rx.md (BW): New mode attribute.
(sync_lock_test_and_setsi): Add mode suffix to insn output.

From-SVN: r256536

gcc/ChangeLog
gcc/config/rx/rx.md

index 6c8fdd1645f379af02080a653eb8be8e3bcfbc9d..59b43b42ad3b95135fbfeffd3481369aa9bed65f 100644 (file)
@@ -1,3 +1,9 @@
+2018-01-11  Oleg Endo  <olegendo@gcc.gnu.org>
+
+       PR target/81821
+       * config/rx/rx.md (BW): New mode attribute.
+       (sync_lock_test_and_setsi): Add mode suffix to insn output.
+
 2018-01-11  Richard Biener  <rguenther@suse.de>
 
        PR tree-optimization/83435
index 0807213c47c034d8566fa5086881d8082a908611..e642d734a2de3a5c3660f4dd32dc7c2083576e4a 100644 (file)
   [(plus "add") (minus "sub") (ior "ior") (xor "xor") (and "and")])
 
 (define_mode_iterator QIHI [QI HI])
+(define_mode_attr BW [(QI "B") (HI "W")])
 
 (define_insn "sync_lock_test_and_setsi"
   [(set (match_operand:SI 0 "register_operand"   "=r,r")
    (set (match_dup 1)
        (match_operand:QIHI 2 "register_operand"    "0"))]
   ""
-  "xchg\t%1, %0"
+  "xchg\t%1.<BW>, %0"
   [(set_attr "length" "6")
    (set_attr "timings" "22")]
 )