diff options
author | nickc <nickc@138bc75d-0d04-0410-961f-82ee72b054a4> | 2010-06-16 16:04:27 +0000 |
---|---|---|
committer | nickc <nickc@138bc75d-0d04-0410-961f-82ee72b054a4> | 2010-06-16 16:04:27 +0000 |
commit | 3934958573eee21add1caff2bbb427fb7e643235 (patch) | |
tree | e8984b80519fe880dca217e1729114c5b76284f4 /gcc/config/rx/constraints.md | |
parent | c5fa0717f822227b38b760a8f384da15b5c399db (diff) | |
download | gcc-3934958573eee21add1caff2bbb427fb7e643235.tar.gz |
* config/rx/constraints.md (NEGint4): New constraint.
* config/rx/rx.md (attr cc): Add set_zsc.
(cbranchsf4): Only test for -fnon-call-exceptions if cfun has been
initialised.
(cmpsf): Likewise.
(call_internal): Clobber the cc0 register.
(call_value_internal): Likewise.
(cstoresi4): Likewise.
(movsieq): Likewise.
(movsine): Likewise.
(addsi3): Add alternative to handle small negative constants.
(sunsi3): Likewise.
(addsi3): Do not set the O bit in the cc0 register.
(adddi3): Likewise.
(subsi3): Likewise.
(subdi3): Likewise.
(andsi3): Reorder alternatives to prefer shorter forms.
(mulsi3): Likewise.
(iorsi3): Likewise.
(negsi2): Note that the cc0 flags are set.
(rotlsi3): Note that only the Z and S bits are set in cc0.
(lshrsi3): Likewise.
(ashlsi3): Likewise.
(subsf3): Use %Q for the MEM operand.
(fix_truncsfsi2): Likewise.
(floatsisf2): Likewise.
(bitset): Remove early clobber from destination.
(bitset_in_memory): Likewise.
(lrintsf2): Clobber the cc0 register.
* config/rx/rx.c (rx_notice_update_cc):
Handle CC_SET_ZSC.
(rx_print_operand): Handle %N.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@160846 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/rx/constraints.md')
-rw-r--r-- | gcc/config/rx/constraints.md | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/gcc/config/rx/constraints.md b/gcc/config/rx/constraints.md index 52bf7df3621..b4b037d1a26 100644 --- a/gcc/config/rx/constraints.md +++ b/gcc/config/rx/constraints.md @@ -63,6 +63,13 @@ ) ) +(define_constraint "NEGint4" + "@internal An signed 4-bit negative immediate value" + (and (match_code "const_int") + (match_test "IN_RANGE (ival, -15, -1)") + ) +) + ;; This is used in arithmetic and logic instructions for ;; a source operand that lies in memory and which satisfies ;; rx_restricted_memory_address(). |