On 01/12/15 12:28, Christian Bruel wrote:
On 12/01/2015 12:57 PM, Kyrill Tkachov wrote:
Hi Christian,
On 01/12/15 09:18, Christian Bruel wrote:
Hi,
This patches fixes the PR my making the unaligned_access flag sensitive to the
attribute target, since some armv6 might use unaligned loads depending on the
TARGET_32BIT flag.
OK for stage3 ?
Index: gcc/testsuite/gcc.target/arm/attr-unaligned-load-ice.c
===================================================================
--- gcc/testsuite/gcc.target/arm/attr-unaligned-load-ice.c (revision 0)
+++ gcc/testsuite/gcc.target/arm/attr-unaligned-load-ice.c (working copy)
@@ -0,0 +1,19 @@
+/* PR target/68617
+ Verify that unaligned_access is correctly with attribute target. */
+/* { dg-do compile } */
+/* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-march=*" } {
"-march=armv6" } } */
+/* { dg-options "-Os -mfloat-abi=softfp -mtp=soft" } */
+/* { dg-add-options arm_arch_v6 } */
Do you need the -mtp=soft ?
I think so. When auto, the TP mode is "TP_SOFT" for arm and "TP_CP15" for
thumb, which cannot be thumb1. To avoid this kind of discrepancy I prefer to force it.
this is guarded by the lines @arm.c:2759:
if (TARGET_HARD_TP && TARGET_THUMB1_P (flags))
error ("can not use -mtp=cp15 with 16-bit Thumb");
Ok, thanks, I was just curious.
Kyrill
This is ok for trunk.
Thanks for picking this up.
Kyrill