summaryrefslogtreecommitdiff
path: root/gcc/config/rx/constraints.md
diff options
context:
space:
mode:
authornickc <nickc@138bc75d-0d04-0410-961f-82ee72b054a4>2010-06-16 16:04:27 +0000
committernickc <nickc@138bc75d-0d04-0410-961f-82ee72b054a4>2010-06-16 16:04:27 +0000
commit3934958573eee21add1caff2bbb427fb7e643235 (patch)
treee8984b80519fe880dca217e1729114c5b76284f4 /gcc/config/rx/constraints.md
parentc5fa0717f822227b38b760a8f384da15b5c399db (diff)
downloadgcc-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.md7
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().