diff options
author | Andrew Stubbs <ams@codesourcery.com> | 2010-10-28 12:36:14 +0000 |
---|---|---|
committer | Andrew Stubbs <ams@gcc.gnu.org> | 2010-10-28 12:36:14 +0000 |
commit | d724c8f0a9ea6bbb8bfd10fc00754902093e40ce (patch) | |
tree | 5ecc5941cbe449b5107364ca72b17038d0ffc40a /gcc | |
parent | 2a6fa9aeede4ec1fc977aca8d0ddb8d8f2f89ab9 (diff) | |
download | gcc-d724c8f0a9ea6bbb8bfd10fc00754902093e40ce.zip gcc-d724c8f0a9ea6bbb8bfd10fc00754902093e40ce.tar.gz gcc-d724c8f0a9ea6bbb8bfd10fc00754902093e40ce.tar.bz2 |
arm.c (const_ok_for_arm): Support 0xXY00XY00 pattern constants in thumb2.
2010-10-28 Andrew Stubbs <ams@codesourcery.com>
gcc/
* config/arm/arm.c (const_ok_for_arm): Support 0xXY00XY00 pattern
constants in thumb2.
From-SVN: r166029
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/config/arm/arm.c | 8 |
2 files changed, 12 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 2437bfd..bcdb1c2 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2010-10-28 Andrew Stubbs <ams@codesourcery.com> + + * config/arm/arm.c (const_ok_for_arm): Support 0xXY00XY00 pattern + constants in thumb2. + 2010-10-28 Eric Botcazou <ebotcazou@adacore.com> * combine.c (set_nonzero_bits_and_sign_copies): Use unsigned diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c index 2586a27..a246d5b 100644 --- a/gcc/config/arm/arm.c +++ b/gcc/config/arm/arm.c @@ -2363,11 +2363,17 @@ const_ok_for_arm (HOST_WIDE_INT i) { HOST_WIDE_INT v; - /* Allow repeated pattern. */ + /* Allow repeated patterns 0x00XY00XY or 0xXYXYXYXY. */ v = i & 0xff; v |= v << 16; if (i == v || i == (v | (v << 8))) return TRUE; + + /* Allow repeated pattern 0xXY00XY00. */ + v = i & 0xff00; + v |= v << 16; + if (i == v) + return TRUE; } return FALSE; |