[Bug target/51743] [ia64] Many gcc.dg/torture/vshuf*.c tests FAIL with -O2 -mbig-endian

2013-12-12 Thread ubizjak at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51743

Uroš Bizjak ubizjak at gmail dot com changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution|--- |INVALID

--- Comment #6 from Uroš Bizjak ubizjak at gmail dot com ---
Probably not a bug.

[Bug target/51743] [ia64] Many gcc.dg/torture/vshuf*.c tests FAIL with -O2 -mbig-endian

2012-01-04 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51743

--- Comment #4 from Richard Guenther rguenth at gcc dot gnu.org 2012-01-04 
10:34:43 UTC ---
(In reply to comment #2)
 Uh... can you even force ia64-linux to run in big-endian mode?
 Just because you said -mbig-endian doesn't mean it is.  I don't
 see anything in the linux kernel that allows per-process endian
 switching.

Hm, should we then reject this switch on linux?

 Do these same failures appear for ia64-hpux?


[Bug target/51743] [ia64] Many gcc.dg/torture/vshuf*.c tests FAIL with -O2 -mbig-endian

2012-01-04 Thread rth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51743

--- Comment #5 from Richard Henderson rth at gcc dot gnu.org 2012-01-05 
00:31:35 UTC ---
(In reply to comment #3)
 These tests just shuffle bytes around, so I was under impression that the
 functionality is isolated from OS. And Hello world executes correctly when
 compiled with -mbig-endian.

Hello world only manipulates pointers and spends 99% of its time in libc.

Shuffling bytes around largely depends on how and what you do with it.

Try the more obvious

  int main() { 
union { int i; char c[4]; } u;
u.i = 0x01020304;
printf(%d\n, u.c[0]);
return 0;
  }

to convince yourself we aren't actually running in big-endian mode.

(In reply to comment #4)
 Hm, should we then reject this switch on linux?

We could probably remove it entirely and let it be controlled by the
OS config headers and get better code within gcc itself.


[Bug target/51743] [ia64] Many gcc.dg/torture/vshuf*.c tests FAIL with -O2 -mbig-endian

2012-01-03 Thread ubizjak at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51743

Uros Bizjak ubizjak at gmail dot com changed:

   What|Removed |Added

 CC||rth at gcc dot gnu.org

--- Comment #1 from Uros Bizjak ubizjak at gmail dot com 2012-01-03 16:50:02 
UTC ---
CC'd author.


[Bug target/51743] [ia64] Many gcc.dg/torture/vshuf*.c tests FAIL with -O2 -mbig-endian

2012-01-03 Thread rth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51743

--- Comment #2 from Richard Henderson rth at gcc dot gnu.org 2012-01-03 
20:11:43 UTC ---
Uh... can you even force ia64-linux to run in big-endian mode?
Just because you said -mbig-endian doesn't mean it is.  I don't
see anything in the linux kernel that allows per-process endian
switching.

Do these same failures appear for ia64-hpux?


[Bug target/51743] [ia64] Many gcc.dg/torture/vshuf*.c tests FAIL with -O2 -mbig-endian

2012-01-03 Thread ubizjak at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51743

Uros Bizjak ubizjak at gmail dot com changed:

   What|Removed |Added

 CC||sje at cup dot hp.com

--- Comment #3 from Uros Bizjak ubizjak at gmail dot com 2012-01-04 07:11:52 
UTC ---
(In reply to comment #2)
 Uh... can you even force ia64-linux to run in big-endian mode?
 Just because you said -mbig-endian doesn't mean it is.  I don't
 see anything in the linux kernel that allows per-process endian
 switching.

These tests just shuffle bytes around, so I was under impression that the
functionality is isolated from OS. And Hello world executes correctly when
compiled with -mbig-endian.

 Do these same failures appear for ia64-hpux?

Hm, latest results are from 1st of December [1].

[1] http://gcc.gnu.org/ml/gcc-testresults/2011-12/msg00083.html