------- 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