diff mbox

[ARM] PR target/68617 Fix armv6 unaligned_access with attribute thumb

Message ID 565D8B2C.2050501@arm.com
State New
Headers show

Commit Message

Kyrylo Tkachov Dec. 1, 2015, 11:57 a.m. UTC
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 ?

>

Comments

Kyrylo Tkachov Dec. 1, 2015, 12:29 p.m. UTC | #1
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

>>

>
diff mbox

Patch

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 ?

This is ok for trunk.
Thanks for picking this up.

Kyrill