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



Reply via email to