aboutsummaryrefslogtreecommitdiff
path: root/gcc/config
diff options
context:
space:
mode:
authorRamana Radhakrishnan <ramana.radhakrishnan@arm.com>2009-12-23 16:36:40 +0000
committerRamana Radhakrishnan <ramana@gcc.gnu.org>2009-12-23 16:36:40 +0000
commit83c3a2d826778223e827ab541ada1c3ffde04034 (patch)
tree38a83d3bb56c8033348f31d5c3ba454883552ceb /gcc/config
parent07422036e30a34fa3fba20c6b6a7534bcd509e1c (diff)
downloadgcc-83c3a2d826778223e827ab541ada1c3ffde04034.zip
gcc-83c3a2d826778223e827ab541ada1c3ffde04034.tar.gz
gcc-83c3a2d826778223e827ab541ada1c3ffde04034.tar.bz2
re PR target/42093 (Compressed switch tables for Thumb2 have signed offsets)
Fix PR target/42093 2009-12-23 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> PR target/42093 * config/arm/arm.h (CASE_VECTOR_PC_RELATIVE): Fix macro usage to TARGET_THUMB1. (CASE_VECTOR_SHORTEN_MODE): Allow signed offsets only for TARGET_THUMB1. 2009-12-23 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> PR target/42093 * gcc.target/arm/pr42093.c: New test. From-SVN: r155428
Diffstat (limited to 'gcc/config')
-rw-r--r--gcc/config/arm/arm.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/gcc/config/arm/arm.h b/gcc/config/arm/arm.h
index 691a860..26ffaf8 100644
--- a/gcc/config/arm/arm.h
+++ b/gcc/config/arm/arm.h
@@ -2118,11 +2118,11 @@ typedef struct
#define CASE_VECTOR_MODE Pmode
#define CASE_VECTOR_PC_RELATIVE (TARGET_THUMB2 \
- || (TARGET_THUMB \
+ || (TARGET_THUMB1 \
&& (optimize_size || flag_pic)))
#define CASE_VECTOR_SHORTEN_MODE(min, max, body) \
- (TARGET_THUMB \
+ (TARGET_THUMB1 \
? (min >= 0 && max < 512 \
? (ADDR_DIFF_VEC_FLAGS (body).offset_unsigned = 1, QImode) \
: min >= -256 && max < 256 \