This is the mail archive of the crossgcc@sourceware.org mailing list for the crossgcc project.
See the CrossGCC FAQ for lots more information.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
I built arm-iwmmxt-linux-gnueabi-gcc 4.1.1 with glibc-2.4 and ran gcc testsuite-4.1.1. I got some unexpected FAIL results. Below are some results and questions.
arm-iwmmxt-linux-gnueabi-gcc # of expected passes 36767 # of unexpected failures 60 # of unexpected successes 2 # of expected failures 75 # of unresolved testcases 77 # of untested testcases 28 # of unsupported tests 384
arm-iwmmxt-linux-gnueabi-g++ # of expected passes 11773 # of unexpected failures 21 # of unexpected successes 3 # of expected failures 66 # of unresolved testcases 23 # of unsupported tests 131
1. gcc.c-torture/execute/20050316-1.c This test case is for testing the issue at http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16104. If we compile it with -O1 or -O2 option, there will be execution FAIL. The result is similar with 20050316-2.c and 20050316-3.c
2. gcc.c-torture/execute/20050604-1.c This test case is for testing the issue at http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21897 . There are seven FAIL cases. FAIL: gcc.c-torture/execute/20050604-1.c execution, -O1 FAIL: gcc.c-torture/execute/20050604-1.c execution, -O2 FAIL: gcc.c-torture/execute/20050604-1.c execution, -O3 -fomit-frame-pointer FAIL: gcc.c-torture/execute/20050604-1.c execution, -O3 -fomit-frame-pointer -funroll-loops FAIL: gcc.c-torture/execute/20050604-1.c execution, -O3 -fomit-frame-pointer -funroll-all-loops -finline-functions FAIL: gcc.c-torture/execute/20050604-1.c execution, -O3 –g FAIL: gcc.c-torture/execute/20050604-1.c execution, -Os
The code snippet from 20050604-1.c is shown below. u.v is not computed with v4hi variables. So abort() is triggered. This only occurred with above optimization options.
typedef short v4hi __attribute__ ((vector_size (8))); union { v4hi v; short s[4]; } u; void foo (void) { unsigned int i; for (i = 0; i < 2; i++) u.v += (v4hi) { 12, 14 }; }
int main (void) { foo (); if (u.s[0] != 24 || u.s[1] != 28 || u.s[2] || u.s[3]) abort (); return 0; }
3. gcc.c-torture/execute/simd-6.c There are three FAIL cases. FAIL: gcc.c-torture/execute/simd-6.c execution, -O1 FAIL: gcc.c-torture/execute/simd-6.c execution, -O2 FAIL: gcc.c-torture/execute/simd-6.c execution, -Os
4. g++.dg/opt/switch4.C This test case is for testing the issue at http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20008. There were compilation errors shown as below.
arm-iwmmxt-linux-gnueabi-g++ ./g++.dg/opt/switch4.C -fmessage-length=0 -ansi -pedantic-errors -Wno-long-long -S -o switch4.s ./g++.dg/opt/switch4.C: In function 'void f(SECStatus)': ./g++.dg/opt/switch4.C:24: warning: overflow in implicit constant conversion ./g++.dg/opt/switch4.C:24: warning: case label value exceeds maximum value for type ./g++.dg/opt/switch4.C:28: error: expected primary-expression before 'break' ./g++.dg/opt/switch4.C:28: error: expected `;' before 'break'
According to the bugzilla system, these issues should be solved in gcc-4.1.1. I wonder if I used inproper configuration to build the tool chain. For the issue 1,2 and 3, it was related to some vector variable operations. Issue 4 is totally incomprehensibility to me. Does anybody know the possible reason? How to solve these issues?
-- best regards, -Bridge
-- For unsubscribe information see http://sourceware.org/lists.html#faq
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |