This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/23240] gcc.c-torture/execute/pr23135.c execution fails
- From: "sje at cup dot hp dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 8 Sep 2005 16:34:28 -0000
- Subject: [Bug target/23240] gcc.c-torture/execute/pr23135.c execution fails
- References: <20050804212849.23240.jsm28@gcc.gnu.org>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Additional Comments From sje at cup dot hp dot com 2005-09-08 16:34 -------
This test uses vectors. It looks like the vector code for IA64 was written and
tested on Linux (which is little-endian) and this test fails on HP-UX which is
big-endian. The program below prints '1500 1300' on Linux but prints '1300
1500' on HP-UX. I think endianness was not considered somewhere in the vector
code but I am not sure where.
typedef int __attribute__((vector_size (8))) vecint;
typedef int __attribute__((mode(SI))) siint;
vecint i = { 150, 100 };
vecint j = { 10, 13 };
vecint k;
union {
vecint v;
siint i[2];
} res;
int
main ()
{
vecint k0, k1, k2, k3, k4, k5, k6, k7;
k1 = i * j;
res.v = k1;
printf("%d %d\n", res.i[0], res.i[1]);
exit (0);
}
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23240