[Bug testsuite/54622] gcc.dg/vect test failures for arm big-endian

2013-01-16 Thread janis at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54622



--- Comment #8 from Janis Johnson  2013-01-16 
18:50:06 UTC ---

Author: janis

Date: Wed Jan 16 18:49:57 2013

New Revision: 195249



URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=195249

Log:

PR testsuite/54622

* lib/target-supports.exp (check_effective_target_vect_perm_byte,

check_effective_target_vect_perm_short,

check_effective_target_vect_widen_mult_qi_to_hi_pattern,

check_effective_target_vect64): Return 0 for big-endian ARM.

(check_effective_target_vect_widen_sum_qi_to_hi): Return 1 for ARM.



Modified:

trunk/gcc/testsuite/ChangeLog

trunk/gcc/testsuite/lib/target-supports.exp


[Bug testsuite/54622] gcc.dg/vect test failures for arm big-endian

2013-03-19 Thread pinskia at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54622



Andrew Pinski  changed:



   What|Removed |Added



 Status|UNCONFIRMED |NEW

   Last reconfirmed||2013-03-20

 Ever Confirmed|0   |1



--- Comment #9 from Andrew Pinski  2013-03-20 
00:45:42 UTC ---

Confirmed.


[Bug testsuite/54622] gcc.dg/vect test failures for arm big-endian

2012-09-18 Thread pinskia at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54622

Andrew Pinski  changed:

   What|Removed |Added

 CC||pinskia at gcc dot gnu.org

--- Comment #1 from Andrew Pinski  2012-09-19 
01:08:58 UTC ---
I think all the tests that pass for little-endian should also pass for
big-endian.  The only difference comes down to how the memory is located from
memory as IIRC neon stays the same in memory.


[Bug testsuite/54622] gcc.dg/vect test failures for arm big-endian

2012-09-18 Thread janis at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54622

--- Comment #2 from Janis Johnson  2012-09-19 
01:16:58 UTC ---
Effective targets vect_unpack and vect_pack_trunc both require little endian
for ARM, which is why I thought that perhaps some of the others do as well.


[Bug testsuite/54622] gcc.dg/vect test failures for arm big-endian

2012-09-18 Thread pinskia at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54622

--- Comment #3 from Andrew Pinski  2012-09-19 
01:29:09 UTC ---
(In reply to comment #2)
> Effective targets vect_unpack and vect_pack_trunc both require little endian
> for ARM, which is why I thought that perhaps some of the others do as well.

Yes but I think it is wrong to do that in the back-end.


[Bug testsuite/54622] gcc.dg/vect test failures for arm big-endian

2012-09-19 Thread rearnsha at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54622



--- Comment #4 from Richard Earnshaw  2012-09-19 
22:26:49 UTC ---

The reasons for the vector problems in big-endian largely fall into two areas:



1) Neon vector elements are numbered from the LSB of the vector register in

both big and little-endian modes.  GCC assumes that vector elements in

big-endian are numbered from the MSB.  This means compensation code is needed

when elements are addressed directly (for example shuffle operations).



2) Quad-words in 256-bit vectors are not pure big-endian, the DWords are

swapped in order on loads.  GCC can't currently cope with this in any sensible

manner.


[Bug testsuite/54622] gcc.dg/vect test failures for arm big-endian

2012-09-26 Thread jules at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54622



jules at gcc dot gnu.org changed:



   What|Removed |Added



 CC||jules at gcc dot gnu.org



--- Comment #5 from jules at gcc dot gnu.org 2012-09-26 16:25:08 UTC ---

Unfortunately (due to the reasons Richard outlined) lots of things don't work

wrt. vectorization for Neon in big-endian mode, so are deliberately disabled in

the backend. IMO, the right thing to do (at least until that is fixed) is to

make the effective-target checks for vectorization features depend on

little-endian ARM mode.


[Bug testsuite/54622] gcc.dg/vect test failures for arm big-endian

2012-09-26 Thread janis at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54622



--- Comment #6 from Janis Johnson  2012-09-26 
16:45:25 UTC ---

It's important to continue to run the vectorization tests with ARM big-endian

to detect regressions in the execution tests, so I don't want to exclude it

from all vect effective targets.  I'll propose a set of effective targets used

in the scans that should exclude ARM big-endian.


[Bug testsuite/54622] gcc.dg/vect test failures for arm big-endian

2012-09-26 Thread janis at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54622



--- Comment #7 from Janis Johnson  2012-09-26 
21:51:53 UTC ---

I've tried requiring arm_little_endian for various vect_ effective targets, but

the missing support isn't at all clear-cut.  Lots of vectorization takes place

so it's important to continue to pay attention to the execute tests, but for

now I think we'll just handle big-endian expected failures locally.