aboutsummaryrefslogtreecommitdiff
path: root/gcc/config
diff options
context:
space:
mode:
authorTamar Christina <tamar.christina@arm.com>2018-03-15 10:53:17 +0000
committerTamar Christina <tnfchris@gcc.gnu.org>2018-03-15 10:53:17 +0000
commit22534ea5549e970de4466fe492dacc61c2ff471f (patch)
tree4ebbef965b3d08219363090bb43fb933a70acae2 /gcc/config
parent74a9301d6128c0c7a4a8570545b9db40505c93f2 (diff)
downloadgcc-22534ea5549e970de4466fe492dacc61c2ff471f.zip
gcc-22534ea5549e970de4466fe492dacc61c2ff471f.tar.gz
gcc-22534ea5549e970de4466fe492dacc61c2ff471f.tar.bz2
re PR target/84711 (AArch32 big-endian fails when taking subreg of a vector mode to a scalar mode.)
2018-03-15 Tamar Christina <tamar.christina@arm.com> PR target/84711 * config/arm/arm.c (arm_can_change_mode_class): Use GET_MODE_UNIT_SIZE instead of GET_MODE_SIZE when comparing Units. gcc/testsuite/ 2018-03-15 Tamar Christina <tamar.christina@arm.com> PR target/84711 * gcc.target/arm/big-endian-subreg.c: New. From-SVN: r258554
Diffstat (limited to 'gcc/config')
-rw-r--r--gcc/config/arm/arm.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c
index 90d62e6..7036322 100644
--- a/gcc/config/arm/arm.c
+++ b/gcc/config/arm/arm.c
@@ -31508,8 +31508,8 @@ arm_can_change_mode_class (machine_mode from, machine_mode to,
{
if (TARGET_BIG_END
&& !(GET_MODE_SIZE (from) == 16 && GET_MODE_SIZE (to) == 8)
- && (GET_MODE_SIZE (from) > UNITS_PER_WORD
- || GET_MODE_SIZE (to) > UNITS_PER_WORD)
+ && (GET_MODE_UNIT_SIZE (from) > UNITS_PER_WORD
+ || GET_MODE_UNIT_SIZE (to) > UNITS_PER_WORD)
&& reg_classes_intersect_p (VFP_REGS, rclass))
return false;
return true;