summaryrefslogtreecommitdiff
path: root/gcc/config
diff options
context:
space:
mode:
authorerich <erich@138bc75d-0d04-0410-961f-82ee72b054a4>1994-06-03 13:17:55 +0000
committererich <erich@138bc75d-0d04-0410-961f-82ee72b054a4>1994-06-03 13:17:55 +0000
commit6741a3dd467ad7601ca6dd7913300c4c646c377c (patch)
treea7d9cbc578deb97fae4ae5558e911f6c468f0062 /gcc/config
parent3683f840f8312bf28703d5d12508dc67271c06c9 (diff)
downloadgcc-6741a3dd467ad7601ca6dd7913300c4c646c377c.tar.gz
(CONST_OK_FOR_LETTER_P): Only allow constants valid when inverted for 'K'.
Only allow constants valid when negated for 'L'. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@7435 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config')
-rw-r--r--gcc/config/arm/arm.h14
1 files changed, 7 insertions, 7 deletions
diff --git a/gcc/config/arm/arm.h b/gcc/config/arm/arm.h
index 6a76fa36631..3163cd9e201 100644
--- a/gcc/config/arm/arm.h
+++ b/gcc/config/arm/arm.h
@@ -486,13 +486,13 @@ enum reg_class
Return 1 if VALUE is in the range specified by C.
I: immediate arithmetic operand (i.e. 8 bits shifted as required).
J: valid indexing constants.
- K: as I but also (not (value)) ok.
- L: as I but also (neg (value)) ok.*/
-#define CONST_OK_FOR_LETTER_P(VALUE, C) \
- ((C) == 'I' ? const_ok_for_arm (VALUE) : \
- (C) == 'J' ? ((VALUE) < 4096 && (VALUE) > -4096) : \
- (C) == 'K' ? (const_ok_for_arm (VALUE) || const_ok_for_arm (~(VALUE))) : \
- (C) == 'L' ? (const_ok_for_arm (VALUE) || const_ok_for_arm (-(VALUE))) : 0)
+ K: ~value ok in rhs argument of data operand.
+ L: -value ok in rhs argument of data operand. */
+#define CONST_OK_FOR_LETTER_P(VALUE, C) \
+ ((C) == 'I' ? const_ok_for_arm (VALUE) : \
+ (C) == 'J' ? ((VALUE) < 4096 && (VALUE) > -4096) : \
+ (C) == 'K' ? (const_ok_for_arm (~(VALUE))) : \
+ (C) == 'L' ? (const_ok_for_arm (-(VALUE))) : 0)
/* For the ARM, `Q' means that this is a memory operand that is just
an offset from a register.