* [Bug testsuite/54622] gcc.dg/vect test failures for arm big-endian
2012-09-19 0:54 [Bug testsuite/54622] New: gcc.dg/vect test failures for arm big-endian janis at gcc dot gnu.org
@ 2012-09-19 1:09 ` pinskia at gcc dot gnu.org
2012-09-19 1:18 ` janis at gcc dot gnu.org
` (7 subsequent siblings)
8 siblings, 0 replies; 10+ messages in thread
From: pinskia at gcc dot gnu.org @ 2012-09-19 1:09 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54622
Andrew Pinski <pinskia at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |pinskia at gcc dot gnu.org
--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> 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.
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug testsuite/54622] gcc.dg/vect test failures for arm big-endian
2012-09-19 0:54 [Bug testsuite/54622] New: gcc.dg/vect test failures for arm big-endian janis at gcc dot gnu.org
2012-09-19 1:09 ` [Bug testsuite/54622] " pinskia at gcc dot gnu.org
@ 2012-09-19 1:18 ` janis at gcc dot gnu.org
2012-09-19 1:29 ` pinskia at gcc dot gnu.org
` (6 subsequent siblings)
8 siblings, 0 replies; 10+ messages in thread
From: janis at gcc dot gnu.org @ 2012-09-19 1:18 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54622
--- Comment #2 from Janis Johnson <janis at gcc dot gnu.org> 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.
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug testsuite/54622] gcc.dg/vect test failures for arm big-endian
2012-09-19 0:54 [Bug testsuite/54622] New: gcc.dg/vect test failures for arm big-endian janis at gcc dot gnu.org
2012-09-19 1:09 ` [Bug testsuite/54622] " pinskia at gcc dot gnu.org
2012-09-19 1:18 ` janis at gcc dot gnu.org
@ 2012-09-19 1:29 ` pinskia at gcc dot gnu.org
2012-09-19 22:27 ` rearnsha at gcc dot gnu.org
` (5 subsequent siblings)
8 siblings, 0 replies; 10+ messages in thread
From: pinskia at gcc dot gnu.org @ 2012-09-19 1:29 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54622
--- Comment #3 from Andrew Pinski <pinskia at gcc dot gnu.org> 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.
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug testsuite/54622] gcc.dg/vect test failures for arm big-endian
2012-09-19 0:54 [Bug testsuite/54622] New: gcc.dg/vect test failures for arm big-endian janis at gcc dot gnu.org
` (2 preceding siblings ...)
2012-09-19 1:29 ` pinskia at gcc dot gnu.org
@ 2012-09-19 22:27 ` rearnsha at gcc dot gnu.org
2012-09-26 16:25 ` jules at gcc dot gnu.org
` (4 subsequent siblings)
8 siblings, 0 replies; 10+ messages in thread
From: rearnsha at gcc dot gnu.org @ 2012-09-19 22:27 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54622
--- Comment #4 from Richard Earnshaw <rearnsha at gcc dot gnu.org> 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.
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug testsuite/54622] gcc.dg/vect test failures for arm big-endian
2012-09-19 0:54 [Bug testsuite/54622] New: gcc.dg/vect test failures for arm big-endian janis at gcc dot gnu.org
` (3 preceding siblings ...)
2012-09-19 22:27 ` rearnsha at gcc dot gnu.org
@ 2012-09-26 16:25 ` jules at gcc dot gnu.org
2012-09-26 16:46 ` janis at gcc dot gnu.org
` (3 subsequent siblings)
8 siblings, 0 replies; 10+ messages in thread
From: jules at gcc dot gnu.org @ 2012-09-26 16:25 UTC (permalink / raw)
To: gcc-bugs
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.
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug testsuite/54622] gcc.dg/vect test failures for arm big-endian
2012-09-19 0:54 [Bug testsuite/54622] New: gcc.dg/vect test failures for arm big-endian janis at gcc dot gnu.org
` (4 preceding siblings ...)
2012-09-26 16:25 ` jules at gcc dot gnu.org
@ 2012-09-26 16:46 ` janis at gcc dot gnu.org
2012-09-26 21:52 ` janis at gcc dot gnu.org
` (2 subsequent siblings)
8 siblings, 0 replies; 10+ messages in thread
From: janis at gcc dot gnu.org @ 2012-09-26 16:46 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54622
--- Comment #6 from Janis Johnson <janis at gcc dot gnu.org> 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.
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug testsuite/54622] gcc.dg/vect test failures for arm big-endian
2012-09-19 0:54 [Bug testsuite/54622] New: gcc.dg/vect test failures for arm big-endian janis at gcc dot gnu.org
` (5 preceding siblings ...)
2012-09-26 16:46 ` janis at gcc dot gnu.org
@ 2012-09-26 21:52 ` janis at gcc dot gnu.org
2013-01-16 18:50 ` janis at gcc dot gnu.org
2013-03-20 0:45 ` pinskia at gcc dot gnu.org
8 siblings, 0 replies; 10+ messages in thread
From: janis at gcc dot gnu.org @ 2012-09-26 21:52 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54622
--- Comment #7 from Janis Johnson <janis at gcc dot gnu.org> 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.
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug testsuite/54622] gcc.dg/vect test failures for arm big-endian
2012-09-19 0:54 [Bug testsuite/54622] New: gcc.dg/vect test failures for arm big-endian janis at gcc dot gnu.org
` (6 preceding siblings ...)
2012-09-26 21:52 ` janis at gcc dot gnu.org
@ 2013-01-16 18:50 ` janis at gcc dot gnu.org
2013-03-20 0:45 ` pinskia at gcc dot gnu.org
8 siblings, 0 replies; 10+ messages in thread
From: janis at gcc dot gnu.org @ 2013-01-16 18:50 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54622
--- Comment #8 from Janis Johnson <janis at gcc dot gnu.org> 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
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug testsuite/54622] gcc.dg/vect test failures for arm big-endian
2012-09-19 0:54 [Bug testsuite/54622] New: gcc.dg/vect test failures for arm big-endian janis at gcc dot gnu.org
` (7 preceding siblings ...)
2013-01-16 18:50 ` janis at gcc dot gnu.org
@ 2013-03-20 0:45 ` pinskia at gcc dot gnu.org
8 siblings, 0 replies; 10+ messages in thread
From: pinskia at gcc dot gnu.org @ 2013-03-20 0:45 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54622
Andrew Pinski <pinskia at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Last reconfirmed| |2013-03-20
Ever Confirmed|0 |1
--- Comment #9 from Andrew Pinski <pinskia at gcc dot gnu.org> 2013-03-20 00:45:42 UTC ---
Confirmed.
^ permalink raw reply [flat|nested] 10+ messages in thread