[testsuite,arm] Remove xfail for vect-epilogues test

Message ID 3a364ab6-9917-e9c7-522d-cd91e901c789@arm.com
State New
Headers show
Series
  • [testsuite,arm] Remove xfail for vect-epilogues test
Related show

Commit Message

Andre Vieira (lists) Dec. 11, 2019, 11:27 a.m.
Hi,

We can now vectorize an epilogue for this loop for arm too, so removing 
xfail.

Is this OK for trunk? Wasn't entirely sure whether I could commit this 
under obvious.

gcc/testsuite/ChangeLog:
2019-12-11  Andre Vieira  <andre.simoesdiasvieira@arm.com>

         * gcc.dg/vect/vect-epilogues.c: Remove xfail for arm.

Comments

Richard Biener Dec. 11, 2019, 12:12 p.m. | #1
On December 11, 2019 12:27:31 PM GMT+01:00, "Andre Vieira (lists)" <andre.simoesdiasvieira@arm.com> wrote:
>Hi,

>

>We can now vectorize an epilogue for this loop for arm too, so removing

>

>xfail.

>

>Is this OK for trunk? Wasn't entirely sure whether I could commit this 

>under obvious.


Sure. 

Richard. 

>gcc/testsuite/ChangeLog:

>2019-12-11  Andre Vieira  <andre.simoesdiasvieira@arm.com>

>

>         * gcc.dg/vect/vect-epilogues.c: Remove xfail for arm.
Christophe Lyon Dec. 12, 2019, 4:42 p.m. | #2
On Wed, 11 Dec 2019 at 12:27, Andre Vieira (lists)
<andre.simoesdiasvieira@arm.com> wrote:
>

> Hi,

>

> We can now vectorize an epilogue for this loop for arm too, so removing

> xfail.

>

> Is this OK for trunk? Wasn't entirely sure whether I could commit this

> under obvious.

>


This fails on armeb :-(

> gcc/testsuite/ChangeLog:

> 2019-12-11  Andre Vieira  <andre.simoesdiasvieira@arm.com>

>

>          * gcc.dg/vect/vect-epilogues.c: Remove xfail for arm.
Andre Vieira (lists) Dec. 12, 2019, 5:12 p.m. | #3
Yeah didn't test that, thanks.


This OK?

gcc/testsuite/ChangeLog:

2019-12-12  Andre Vieira  <andre.simoesdiasvieira@arm.com>

         * gcc.dg/vect/vect-epilogues.c: XFAIL for arm big endian.
         * lib/target-supports.exp (check_effective_target_arm_big_endian):
         New target selector.

On 12/12/2019 16:42, Christophe Lyon wrote:
> On Wed, 11 Dec 2019 at 12:27, Andre Vieira (lists)

> <andre.simoesdiasvieira@arm.com> wrote:

>>

>> Hi,

>>

>> We can now vectorize an epilogue for this loop for arm too, so removing

>> xfail.

>>

>> Is this OK for trunk? Wasn't entirely sure whether I could commit this

>> under obvious.

>>

> 

> This fails on armeb :-(

> 

>> gcc/testsuite/ChangeLog:

>> 2019-12-11  Andre Vieira  <andre.simoesdiasvieira@arm.com>

>>

>>           * gcc.dg/vect/vect-epilogues.c: Remove xfail for arm.
diff --git a/gcc/testsuite/gcc.dg/vect/vect-epilogues.c b/gcc/testsuite/gcc.dg/vect/vect-epilogues.c
index de95310a65eed78e1f75c4cd7581f9f7a86afd16..90ebe69a8200225b7b000c378cdd1e99add09eea 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-epilogues.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-epilogues.c
@@ -16,4 +16,4 @@ void pixel_avg( unsigned char *dst, int i_dst_stride,
      }
  }
 
-/* { dg-final { scan-tree-dump "LOOP EPILOGUE VECTORIZED" "vect" } } */
+/* { dg-final { scan-tree-dump "LOOP EPILOGUE VECTORIZED" "vect" { xfail { arm_big_endian } } } }  */
diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp
index 5b4cc02f9219ed8cfa329f97732abffca677883c..6ded35500b807eb831617386bae4267bfcd11f3c 100644
--- a/gcc/testsuite/lib/target-supports.exp
+++ b/gcc/testsuite/lib/target-supports.exp
@@ -3467,6 +3467,19 @@ proc check_effective_target_arm_nothumb { } {
     }]
 }
 
+# Return 1 if this is a big-endian ARM target
+proc check_effective_target_arm_big_endian { } {
+    if { ![istarget arm*-*-*] } {
+	return 0
+    }
+
+    return ![check_no_compiler_messages arm_little_endian assembly {
+	#if !defined(__arm__) || !defined(__ARMEL__)
+	#error !__arm__ || !__ARMEL__
+	#endif
+    }]
+}
+
 # Return 1 if this is a little-endian ARM target
 proc check_effective_target_arm_little_endian { } {
     if { ![istarget arm*-*-*] } {
Rainer Orth Dec. 12, 2019, 5:41 p.m. | #4
Hi Andre,

> gcc/testsuite/ChangeLog:

>

> 2019-12-12  Andre Vieira  <andre.simoesdiasvieira@arm.com>

>

>         * gcc.dg/vect/vect-epilogues.c: XFAIL for arm big endian.

>         * lib/target-supports.exp (check_effective_target_arm_big_endian):

>         New target selector.


as always, this needs documenting in sourcebuild.texi.

	Rainer

-- 
-----------------------------------------------------------------------------
Rainer Orth, Center for Biotechnology, Bielefeld University
Andre Vieira (lists) Dec. 13, 2019, 1:05 p.m. | #5
Thanks for pointing it out Rainer. Thanks to that reminder I noticed 
there is a different way to achieve this without adding that extra 
target check.

This OK?

gcc/testsuite/ChangeLog:

2019-12-12  Andre Vieira  <andre.simoesdiasvieira@arm.com>

         * gcc.dg/vect/vect-epilogues.c: XFAIL for arm big endian.

On 12/12/2019 17:41, Rainer Orth wrote:
> Hi Andre,

> 

>> gcc/testsuite/ChangeLog:

>>

>> 2019-12-12  Andre Vieira  <andre.simoesdiasvieira@arm.com>

>>

>>          * gcc.dg/vect/vect-epilogues.c: XFAIL for arm big endian.

>>          * lib/target-supports.exp (check_effective_target_arm_big_endian):

>>          New target selector.

> 

> as always, this needs documenting in sourcebuild.texi.

> 

> 	Rainer

>
diff --git a/gcc/testsuite/gcc.dg/vect/vect-epilogues.c b/gcc/testsuite/gcc.dg/vect/vect-epilogues.c
index de95310a65eed78e1f75c4cd7581f9f7a86afd16..3d813d56dd36b6dca3135cfbad7aa70656215551 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-epilogues.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-epilogues.c
@@ -16,4 +16,4 @@ void pixel_avg( unsigned char *dst, int i_dst_stride,
      }
  }
 
-/* { dg-final { scan-tree-dump "LOOP EPILOGUE VECTORIZED" "vect" } } */
+/* { dg-final { scan-tree-dump "LOOP EPILOGUE VECTORIZED" "vect" { xfail { arm32 && be } } } }  */
Andre Vieira (lists) Dec. 13, 2019, 1:06 p.m. | #6
Consequently whilst looking at the list I noticed these two were missing.

This OK for trunk?

gcc/ChangeLog:
2019-12-13  Andre Vieira  <andre.simoesdiasvieira@arm.com>

         * doc/sourcebuild.texi (arm_little_endian, arm_nothumb):
         Documented existing target checks.

On 13/12/2019 13:05, Andre Vieira (lists) wrote:
> Thanks for pointing it out Rainer. Thanks to that reminder I noticed 

> there is a different way to achieve this without adding that extra 

> target check.

> 

> This OK?

> 

> gcc/testsuite/ChangeLog:

> 

> 2019-12-12  Andre Vieira  <andre.simoesdiasvieira@arm.com>

> 

>          * gcc.dg/vect/vect-epilogues.c: XFAIL for arm big endian.

> 

> On 12/12/2019 17:41, Rainer Orth wrote:

>> Hi Andre,

>>

>>> gcc/testsuite/ChangeLog:

>>>

>>> 2019-12-12  Andre Vieira  <andre.simoesdiasvieira@arm.com>

>>>

>>>          * gcc.dg/vect/vect-epilogues.c: XFAIL for arm big endian.

>>>          * lib/target-supports.exp 

>>> (check_effective_target_arm_big_endian):

>>>          New target selector.

>>

>> as always, this needs documenting in sourcebuild.texi.

>>

>>     Rainer

>>
diff --git a/gcc/doc/sourcebuild.texi b/gcc/doc/sourcebuild.texi
index 3950c82c685d55cb8aada0465b5337555fafbd92..42e3cdd6b95931ae21aa88fa7805dccf5b4c1371 100644
--- a/gcc/doc/sourcebuild.texi
+++ b/gcc/doc/sourcebuild.texi
@@ -1721,6 +1721,9 @@ Target generates decimal floating point instructions with current options.
 @item arm32
 ARM target generates 32-bit code.
 
+@item arm_little_endian
+ARM target that generates little-endian code.
+
 @item arm_eabi
 ARM target adheres to the ABI for the ARM Architecture.
 
@@ -1808,6 +1811,9 @@ ARM target generates Thumb-1 code for @code{-mthumb}.
 @item arm_thumb2_ok
 ARM target generates Thumb-2 code for @code{-mthumb}.
 
+@item arm_nothumb
+ARM target that is not using Thumb.
+
 @item arm_vfp_ok
 ARM target supports @code{-mfpu=vfp -mfloat-abi=softfp}.
 Some multilibs may be incompatible with these options.
Richard Biener Jan. 7, 2020, 7:31 a.m. | #7
On Fri, 13 Dec 2019, Andre Vieira (lists) wrote:

> Consequently whilst looking at the list I noticed these two were missing.

> 

> This OK for trunk?


Yes.

Thanks,
Richard.

> gcc/ChangeLog:

> 2019-12-13  Andre Vieira  <andre.simoesdiasvieira@arm.com>

> 

>         * doc/sourcebuild.texi (arm_little_endian, arm_nothumb):

>         Documented existing target checks.

> 

> On 13/12/2019 13:05, Andre Vieira (lists) wrote:

> > Thanks for pointing it out Rainer. Thanks to that reminder I noticed there

> > is a different way to achieve this without adding that extra target check.

> > 

> > This OK?

> > 

> > gcc/testsuite/ChangeLog:

> > 

> > 2019-12-12  Andre Vieira  <andre.simoesdiasvieira@arm.com>

> > 

> >          * gcc.dg/vect/vect-epilogues.c: XFAIL for arm big endian.

> > 

> > On 12/12/2019 17:41, Rainer Orth wrote:

> >> Hi Andre,

> >>

> >>> gcc/testsuite/ChangeLog:

> >>>

> >>> 2019-12-12  Andre Vieira  <andre.simoesdiasvieira@arm.com>

> >>>

> >>>          * gcc.dg/vect/vect-epilogues.c: XFAIL for arm big endian.

> >>>          * lib/target-supports.exp

> >>> (check_effective_target_arm_big_endian):

> >>>          New target selector.

> >>

> >> as always, this needs documenting in sourcebuild.texi.

> >>

> >>     Rainer

> >>

> 


-- 
Richard Biener <rguenther@suse.de>
SUSE Software Solutions Germany GmbH, Maxfeldstrasse 5, 90409 Nuernberg,
Germany; GF: Felix Imendörffer; HRB 36809 (AG Nuernberg)
Andre Vieira (lists) Jan. 7, 2020, 1:37 p.m. | #8
What about the previous patch fixing the existing testism by skipping 
for big-endian arm using existing target supports?

On 07/01/2020 07:31, Richard Biener wrote:
> On Fri, 13 Dec 2019, Andre Vieira (lists) wrote:

> 

>> Consequently whilst looking at the list I noticed these two were missing.

>>

>> This OK for trunk?

> 

> Yes.

> 

> Thanks,

> Richard.

> 

>> gcc/ChangeLog:

>> 2019-12-13  Andre Vieira  <andre.simoesdiasvieira@arm.com>

>>

>>          * doc/sourcebuild.texi (arm_little_endian, arm_nothumb):

>>          Documented existing target checks.

>>

>> On 13/12/2019 13:05, Andre Vieira (lists) wrote:

>>> Thanks for pointing it out Rainer. Thanks to that reminder I noticed there

>>> is a different way to achieve this without adding that extra target check.

>>>

>>> This OK?

>>>

>>> gcc/testsuite/ChangeLog:

>>>

>>> 2019-12-12  Andre Vieira  <andre.simoesdiasvieira@arm.com>

>>>

>>>           * gcc.dg/vect/vect-epilogues.c: XFAIL for arm big endian.

>>>

>>> On 12/12/2019 17:41, Rainer Orth wrote:

>>>> Hi Andre,

>>>>

>>>>> gcc/testsuite/ChangeLog:

>>>>>

>>>>> 2019-12-12  Andre Vieira  <andre.simoesdiasvieira@arm.com>

>>>>>

>>>>>           * gcc.dg/vect/vect-epilogues.c: XFAIL for arm big endian.

>>>>>           * lib/target-supports.exp

>>>>> (check_effective_target_arm_big_endian):

>>>>>           New target selector.

>>>>

>>>> as always, this needs documenting in sourcebuild.texi.

>>>>

>>>>      Rainer

>>>>

>>

>
Richard Biener Jan. 7, 2020, 1:46 p.m. | #9
On Tue, 7 Jan 2020, Andre Vieira (lists) wrote:

> What about the previous patch fixing the existing testism by skipping for

> big-endian arm using existing target supports?


I thought this was an update containing both - so yes, that's OK as well.

Richard.

> On 07/01/2020 07:31, Richard Biener wrote:

> > On Fri, 13 Dec 2019, Andre Vieira (lists) wrote:

> > 

> >> Consequently whilst looking at the list I noticed these two were missing.

> >>

> >> This OK for trunk?

> > 

> > Yes.

> > 

> > Thanks,

> > Richard.

> > 

> >> gcc/ChangeLog:

> >> 2019-12-13  Andre Vieira  <andre.simoesdiasvieira@arm.com>

> >>

> >>          * doc/sourcebuild.texi (arm_little_endian, arm_nothumb):

> >>          Documented existing target checks.

> >>

> >> On 13/12/2019 13:05, Andre Vieira (lists) wrote:

> >>> Thanks for pointing it out Rainer. Thanks to that reminder I noticed there

> >>> is a different way to achieve this without adding that extra target check.

> >>>

> >>> This OK?

> >>>

> >>> gcc/testsuite/ChangeLog:

> >>>

> >>> 2019-12-12  Andre Vieira  <andre.simoesdiasvieira@arm.com>

> >>>

> >>>           * gcc.dg/vect/vect-epilogues.c: XFAIL for arm big endian.

> >>>

> >>> On 12/12/2019 17:41, Rainer Orth wrote:

> >>>> Hi Andre,

> >>>>

> >>>>> gcc/testsuite/ChangeLog:

> >>>>>

> >>>>> 2019-12-12  Andre Vieira  <andre.simoesdiasvieira@arm.com>

> >>>>>

> >>>>>           * gcc.dg/vect/vect-epilogues.c: XFAIL for arm big endian.

> >>>>>           * lib/target-supports.exp

> >>>>> (check_effective_target_arm_big_endian):

> >>>>>           New target selector.

> >>>>

> >>>> as always, this needs documenting in sourcebuild.texi.

> >>>>

> >>>>      Rainer

> >>>>

> >>

> > 

> 


-- 
Richard Biener <rguenther@suse.de>
SUSE Software Solutions Germany GmbH, Maxfeldstrasse 5, 90409 Nuernberg,
Germany; GF: Felix Imendörffer; HRB 36809 (AG Nuernberg)

Patch

diff --git a/gcc/testsuite/gcc.dg/vect/vect-epilogues.c b/gcc/testsuite/gcc.dg/vect/vect-epilogues.c
index 946666e918ff9d019f07c0d891a9148692f86c92..de95310a65eed78e1f75c4cd7581f9f7a86afd16 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-epilogues.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-epilogues.c
@@ -16,4 +16,4 @@  void pixel_avg( unsigned char *dst, int i_dst_stride,
      }
  }
 
-/* { dg-final { scan-tree-dump "LOOP EPILOGUE VECTORIZED" "vect" { xfail { arm*-*-* } } } } */
+/* { dg-final { scan-tree-dump "LOOP EPILOGUE VECTORIZED" "vect" } } */