diff options
author | Kyrylo Tkachov <kyrylo.tkachov@arm.com> | 2015-11-20 15:19:09 +0000 |
---|---|---|
committer | Kyrylo Tkachov <ktkachov@gcc.gnu.org> | 2015-11-20 15:19:09 +0000 |
commit | 8e92560a9c9c57dfed3283c48ef5e46a7e0204b1 (patch) | |
tree | 7537684c2270e6e521ed169b8b6a13da9a61f96a /gcc/testsuite | |
parent | 88fdc9a66e4b14aef5aa4b873223e4d081a8824c (diff) | |
download | gcc-8e92560a9c9c57dfed3283c48ef5e46a7e0204b1.zip gcc-8e92560a9c9c57dfed3283c48ef5e46a7e0204b1.tar.gz gcc-8e92560a9c9c57dfed3283c48ef5e46a7e0204b1.tar.bz2 |
[ARM] Do not expand movmisalign pattern if not in 32-bit mode
* config/arm/arm.c (arm_option_override): Require TARGET_32BIT
for unaligned_access.
* config/arm/arm.md (unaligned_loadsi): Remove redundant TARGET_32BIT
from matching condition.
(unaligned_loadhis): Likewise.
(unaligned_loadhiu): Likewise.
(unaligned_storesi): Likewise.
(unaligned_storehi): Likewise.
* gcc.target/arm/armv6-unaligned-load-ice.c: New test.
From-SVN: r230664
Diffstat (limited to 'gcc/testsuite')
-rw-r--r-- | gcc/testsuite/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/testsuite/gcc.target/arm/armv6-unaligned-load-ice.c | 18 |
2 files changed, 22 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index b6810c8..d55f6dd 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,7 @@ +2015-11-20 Kyrylo Tkachov <kyrylo.tkachov@arm.com> + + * gcc.target/arm/armv6-unaligned-load-ice.c: New test. + 2015-11-20 Paul Thomas <pault@gcc.gnu.org> PR fortran/68237 diff --git a/gcc/testsuite/gcc.target/arm/armv6-unaligned-load-ice.c b/gcc/testsuite/gcc.target/arm/armv6-unaligned-load-ice.c new file mode 100644 index 0000000..88528f1 --- /dev/null +++ b/gcc/testsuite/gcc.target/arm/armv6-unaligned-load-ice.c @@ -0,0 +1,18 @@ +/* { dg-do compile } */ +/* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-march=*" } { "-march=armv6k" } } */ +/* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-marm" } { "" } } */ +/* { dg-options "-mthumb -Os -mfloat-abi=softfp" } */ +/* { dg-add-options arm_arch_v6k } */ + +long +get_number (char *s, long size, int unsigned_p) +{ + long x; + unsigned char *p = (unsigned char *) s; + switch (size) + { + case 4: + x = ((long) p[3] << 24) | ((long) p[2] << 16) | (p[1] << 8) | p[0]; + return x; + } +} |