* config/rx/rx.opt (mallow-string-insns): New option.
commit6202f89224beb115f1da40cddaa11f0749014bef
authornickc <nickc@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 15 Apr 2015 07:41:07 +0000 (15 07:41 +0000)
committernickc <nickc@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 15 Apr 2015 07:41:07 +0000 (15 07:41 +0000)
tree1dd41b6f817ea637b6089d9f0c0b92cb51f09798
parent72f2d6cc8088b770e5dce6e4d404403a417a1948
* config/rx/rx.opt (mallow-string-insns): New option.
* config/rx/rx.c (RX_BUILTIN_RMPA): Disable the use of this
builtin if string instructions are denied.
* config/rx/rx.h (TARGET_CPU_CPP_BUILTINS): Define
__RX_ALLOW_STRING_INSNS__ or __RX_DISALLOW_STRING_INSNS__, as
appropriate.
(ASM_SPEC): Pass -mno-allow-string-insns on to the assembler.
* config/rx/rx.md (movstr): Enable pattern only if string
instructions are allowed.
(rx_movstr, rx_strend, movmemsi, rx_movmem): Likewise.
(cmpstrnsi, cmpstrsi, rx_cmpstrn, rmpa): Likewise.
* config/rx/t-rx (MULTILIB_OPTIONS): Add mno-allow-string-insns.
(MULTILIB_DIRNAMES): Add no-strings.
* doc/invoke.texi: Document -mno-allow-string-insns.

* gcc.target/rx/builtins.c: Disable RMPA test if string
instructions are not allowed.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222116 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/config/rx/rx.c
gcc/config/rx/rx.h
gcc/config/rx/rx.md
gcc/config/rx/rx.opt
gcc/config/rx/t-rx
gcc/doc/invoke.texi
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/rx/builtins.c