blob: 5495b8d80a6c242533a1468c6dcce7c55f97622c (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
2010-11-25 Andrew Stubbs <ams@codesourcery.com>
Backport from mainline:
2010-10-28 Andrew Stubbs <ams@codesourcery.com>
gcc/
* config/arm/arm.c (const_ok_for_arm): Support 0xXY00XY00 pattern
constants in thumb2.
=== modified file 'gcc/config/arm/arm.c'
--- old/gcc/config/arm/arm.c 2010-11-11 11:50:33 +0000
+++ new/gcc/config/arm/arm.c 2010-12-10 15:30:47 +0000
@@ -2340,11 +2340,17 @@
{
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;
|