public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
* [aarch64] PR112950: gcc.target/aarch64/sve/acle/general/dupq_5.c fails on aarch64_be-linux-gnu
@ 2024-01-27 12:57 Prathamesh Kulkarni
  2024-01-27 15:49 ` Richard Sandiford
  0 siblings, 1 reply; 4+ messages in thread
From: Prathamesh Kulkarni @ 2024-01-27 12:57 UTC (permalink / raw)
  To: gcc Patches, Richard Sandiford

[-- Attachment #1: Type: text/plain, Size: 290 bytes --]

Hi,
The test passes -mlittle-endian option but doesn't have target check
for aarch64_little_endian and thus fails to compile on
aarch64_be-linux-gnu. The patch adds the missing aarch64_little_endian
target check, which makes it unsupported on the target.
OK to commit ?

Thanks,
Prathamesh

[-- Attachment #2: pr112950-1.txt --]
[-- Type: text/plain, Size: 670 bytes --]

PR112950: Add aarch64_little_endian target check for dupq_5.c

gcc/testsuite/ChangeLog:
	PR target/112950
	* gcc.target/aarch64/sve/acle/general/dupq_5.c: Add
	aarch64_little_endian target check.

diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/general/dupq_5.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/general/dupq_5.c
index 6ae8d4c60b2..1990412d0e5 100644
--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/general/dupq_5.c
+++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/general/dupq_5.c
@@ -1,5 +1,6 @@
 /* { dg-do compile } */
 /* { dg-options "-O2 -mlittle-endian" } */
+/* { dg-require-effective-target aarch64_little_endian } */
 
 #include <arm_sve.h>
 

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [aarch64] PR112950: gcc.target/aarch64/sve/acle/general/dupq_5.c fails on aarch64_be-linux-gnu
  2024-01-27 12:57 [aarch64] PR112950: gcc.target/aarch64/sve/acle/general/dupq_5.c fails on aarch64_be-linux-gnu Prathamesh Kulkarni
@ 2024-01-27 15:49 ` Richard Sandiford
  2024-01-29 12:43   ` Prathamesh Kulkarni
  0 siblings, 1 reply; 4+ messages in thread
From: Richard Sandiford @ 2024-01-27 15:49 UTC (permalink / raw)
  To: Prathamesh Kulkarni; +Cc: gcc Patches

Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org> writes:
> Hi,
> The test passes -mlittle-endian option but doesn't have target check
> for aarch64_little_endian and thus fails to compile on
> aarch64_be-linux-gnu. The patch adds the missing aarch64_little_endian
> target check, which makes it unsupported on the target.
> OK to commit ?
>
> Thanks,
> Prathamesh
>
> PR112950: Add aarch64_little_endian target check for dupq_5.c
>
> gcc/testsuite/ChangeLog:
> 	PR target/112950
> 	* gcc.target/aarch64/sve/acle/general/dupq_5.c: Add
> 	aarch64_little_endian target check.

If we add this requirement, then there's no need to pass -mlittle-endian
in the dg-options.

But dupq_6.c (the corresponding big-endian test) has:

  /* To avoid needing big-endian header files.  */
  #pragma GCC aarch64 "arm_sve.h"

instead of:

  #include <arm_sve.h>

Could you do the same thing here?

Thanks,
Richard

> diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/general/dupq_5.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/general/dupq_5.c
> index 6ae8d4c60b2..1990412d0e5 100644
> --- a/gcc/testsuite/gcc.target/aarch64/sve/acle/general/dupq_5.c
> +++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/general/dupq_5.c
> @@ -1,5 +1,6 @@
>  /* { dg-do compile } */
>  /* { dg-options "-O2 -mlittle-endian" } */
> +/* { dg-require-effective-target aarch64_little_endian } */
>  
>  #include <arm_sve.h>
>  

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [aarch64] PR112950: gcc.target/aarch64/sve/acle/general/dupq_5.c fails on aarch64_be-linux-gnu
  2024-01-27 15:49 ` Richard Sandiford
@ 2024-01-29 12:43   ` Prathamesh Kulkarni
  2024-01-29 12:51     ` Richard Sandiford
  0 siblings, 1 reply; 4+ messages in thread
From: Prathamesh Kulkarni @ 2024-01-29 12:43 UTC (permalink / raw)
  To: Prathamesh Kulkarni, gcc Patches, richard.sandiford

[-- Attachment #1: Type: text/plain, Size: 1675 bytes --]

On Sat, 27 Jan 2024 at 21:19, Richard Sandiford
<richard.sandiford@arm.com> wrote:
>
> Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org> writes:
> > Hi,
> > The test passes -mlittle-endian option but doesn't have target check
> > for aarch64_little_endian and thus fails to compile on
> > aarch64_be-linux-gnu. The patch adds the missing aarch64_little_endian
> > target check, which makes it unsupported on the target.
> > OK to commit ?
> >
> > Thanks,
> > Prathamesh
> >
> > PR112950: Add aarch64_little_endian target check for dupq_5.c
> >
> > gcc/testsuite/ChangeLog:
> >       PR target/112950
> >       * gcc.target/aarch64/sve/acle/general/dupq_5.c: Add
> >       aarch64_little_endian target check.
>
> If we add this requirement, then there's no need to pass -mlittle-endian
> in the dg-options.
>
> But dupq_6.c (the corresponding big-endian test) has:
>
>   /* To avoid needing big-endian header files.  */
>   #pragma GCC aarch64 "arm_sve.h"
>
> instead of:
>
>   #include <arm_sve.h>
>
> Could you do the same thing here?
That worked, thanks! And it also makes dupq_5.c pass on aarch64_be-linux-gnu.

Thanks,
Prathamesh

>
> Thanks,
> Richard
>
> > diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/general/dupq_5.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/general/dupq_5.c
> > index 6ae8d4c60b2..1990412d0e5 100644
> > --- a/gcc/testsuite/gcc.target/aarch64/sve/acle/general/dupq_5.c
> > +++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/general/dupq_5.c
> > @@ -1,5 +1,6 @@
> >  /* { dg-do compile } */
> >  /* { dg-options "-O2 -mlittle-endian" } */
> > +/* { dg-require-effective-target aarch64_little_endian } */
> >
> >  #include <arm_sve.h>
> >

[-- Attachment #2: pr112950-2.txt --]
[-- Type: text/plain, Size: 720 bytes --]

PR112950: Use #pragma GCC for including arm_sve.h. 

gcc/testsuite/ChangeLog:
	PR target/112950
	* gcc.target/aarch64/sve/acle/general/dupq_5.c: Remove include directive
	and instead use #pragma GCC for including arm_sve.h.

diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/general/dupq_5.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/general/dupq_5.c
index 6ae8d4c60b2..e88477b6379 100644
--- a/gcc/testsuite/gcc.target/aarch64/sve/acle/general/dupq_5.c
+++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/general/dupq_5.c
@@ -1,7 +1,7 @@
 /* { dg-do compile } */
 /* { dg-options "-O2 -mlittle-endian" } */
 
-#include <arm_sve.h>
+#pragma GCC aarch64 "arm_sve.h"
 
 svint32_t
 dupq (int x1, int x2, int x3, int x4)

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [aarch64] PR112950: gcc.target/aarch64/sve/acle/general/dupq_5.c fails on aarch64_be-linux-gnu
  2024-01-29 12:43   ` Prathamesh Kulkarni
@ 2024-01-29 12:51     ` Richard Sandiford
  0 siblings, 0 replies; 4+ messages in thread
From: Richard Sandiford @ 2024-01-29 12:51 UTC (permalink / raw)
  To: Prathamesh Kulkarni; +Cc: gcc Patches

Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org> writes:
> On Sat, 27 Jan 2024 at 21:19, Richard Sandiford
> <richard.sandiford@arm.com> wrote:
>>
>> Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org> writes:
>> > Hi,
>> > The test passes -mlittle-endian option but doesn't have target check
>> > for aarch64_little_endian and thus fails to compile on
>> > aarch64_be-linux-gnu. The patch adds the missing aarch64_little_endian
>> > target check, which makes it unsupported on the target.
>> > OK to commit ?
>> >
>> > Thanks,
>> > Prathamesh
>> >
>> > PR112950: Add aarch64_little_endian target check for dupq_5.c
>> >
>> > gcc/testsuite/ChangeLog:
>> >       PR target/112950
>> >       * gcc.target/aarch64/sve/acle/general/dupq_5.c: Add
>> >       aarch64_little_endian target check.
>>
>> If we add this requirement, then there's no need to pass -mlittle-endian
>> in the dg-options.
>>
>> But dupq_6.c (the corresponding big-endian test) has:
>>
>>   /* To avoid needing big-endian header files.  */
>>   #pragma GCC aarch64 "arm_sve.h"
>>
>> instead of:
>>
>>   #include <arm_sve.h>
>>
>> Could you do the same thing here?
> That worked, thanks! And it also makes dupq_5.c pass on aarch64_be-linux-gnu.
>
> Thanks,
> Prathamesh
>
>>
>> Thanks,
>> Richard
>>
>> > diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/general/dupq_5.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/general/dupq_5.c
>> > index 6ae8d4c60b2..1990412d0e5 100644
>> > --- a/gcc/testsuite/gcc.target/aarch64/sve/acle/general/dupq_5.c
>> > +++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/general/dupq_5.c
>> > @@ -1,5 +1,6 @@
>> >  /* { dg-do compile } */
>> >  /* { dg-options "-O2 -mlittle-endian" } */
>> > +/* { dg-require-effective-target aarch64_little_endian } */
>> >
>> >  #include <arm_sve.h>
>> >
>
> PR112950: Use #pragma GCC for including arm_sve.h. 
>
> gcc/testsuite/ChangeLog:
> 	PR target/112950
> 	* gcc.target/aarch64/sve/acle/general/dupq_5.c: Remove include directive
> 	and instead use #pragma GCC for including arm_sve.h.

OK, thanks.

Richard

> diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/general/dupq_5.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/general/dupq_5.c
> index 6ae8d4c60b2..e88477b6379 100644
> --- a/gcc/testsuite/gcc.target/aarch64/sve/acle/general/dupq_5.c
> +++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/general/dupq_5.c
> @@ -1,7 +1,7 @@
>  /* { dg-do compile } */
>  /* { dg-options "-O2 -mlittle-endian" } */
>  
> -#include <arm_sve.h>
> +#pragma GCC aarch64 "arm_sve.h"
>  
>  svint32_t
>  dupq (int x1, int x2, int x3, int x4)

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2024-01-29 12:51 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-01-27 12:57 [aarch64] PR112950: gcc.target/aarch64/sve/acle/general/dupq_5.c fails on aarch64_be-linux-gnu Prathamesh Kulkarni
2024-01-27 15:49 ` Richard Sandiford
2024-01-29 12:43   ` Prathamesh Kulkarni
2024-01-29 12:51     ` Richard Sandiford

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).