Hello,

The following patch updates the setmemsi and rx_setmem functions.
The patch adds the rx_allow_string_insns constraint to these functions
in order to be used only when the string support is enabled.

Regression test is OK, without additional fails, and was tested with the
following command:

make -k check-gcc RUNTESTFLAGS=--target_board=rx-sim

Please let me know if this is OK, Thank you!
Darius

Index: gcc/ChangeLog
===================================================================
--- gcc/ChangeLog       (revision 280157)
+++ gcc/ChangeLog       (working copy)
@@ -1,3 +1,8 @@
+2020-01-16  Darius Galis  <darius.ga...@cyberthorstudios.com>
+
+       * config/rx/rx.md (setmemsi): Added rx_allow_string_insns constraint
+       (rx_setmem): Likewise.
+
 2020-01-10  Thomas Schwinge  <tho...@codesourcery.com>
* tree.h (OMP_CLAUSE_USE_DEVICE_PTR_IF_PRESENT): New definition.
Index: gcc/config/rx/rx.md
===================================================================
--- gcc/config/rx/rx.md (revision 280157)
+++ gcc/config/rx/rx.md (working copy)
@@ -2511,7 +2511,7 @@
    (use (match_operand:SI  1 "nonmemory_operand")) ;; Length
    (match_operand          3 "immediate_operand")  ;; Align
    (unspec_volatile:BLK [(reg:SI 1) (reg:SI 2) (reg:SI 3)] UNSPEC_SETMEM)]
-  ""
+  "rx_allow_string_insns"
   {
     rtx addr = gen_rtx_REG (SImode, 1);
     rtx val  = gen_rtx_REG (QImode, 2);
@@ -2530,7 +2530,7 @@
        (unspec_volatile:BLK [(reg:SI 1) (reg:SI 2) (reg:SI 3)] UNSPEC_SETMEM))
    (clobber (reg:SI 1))
    (clobber (reg:SI 3))]
-  ""
+  "rx_allow_string_insns"
   "sstr.b"
   [(set_attr "length" "2")
    (set_attr "timings" "1111")] ;; The timing is a guesstimate.

/Software Engineer - CyberTHOR Studios Ltd./

Reply via email to