This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug testsuite/32062] New: gcc revision 20070523 - Non-existant sse4 test (with wrong path) causes "UNSUPPORTED" for working tests
- From: "rob1weld at aol dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 24 May 2007 00:51:03 -0000
- Subject: [Bug testsuite/32062] New: gcc revision 20070523 - Non-existant sse4 test (with wrong path) causes "UNSUPPORTED" for working tests
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
I have 4.3.0 SVN 20070523 and just updated it a minute ago to "revision
125011".
I ran "make -i check" and noticed a number of UNSUPPORTED in the "C" tests.
# grep -B 5 -A 0 15233 gcc/testsuite/gcc/gcc.log
PASS: gcc.target/i386/sse3-movshdup.c execution test
Executing on host: /opt/gcc-4_3-build/gcc/xgcc -B/opt/gcc-4_3-build/gcc/
/root/downloads/gcc-4_3-trunk/gcc/testsuite/gcc.target/i386/sse3-movsldup.c
-O2 -msse3 -fno-show-column -lm -o ./sse3-movsldup.exe (timeout = 300)
PASS: gcc.target/i386/sse3-movsldup.c (test for excess errors)
Setting LD_LIBRARY_PATH to
:/opt/gcc-4_3-build/gcc::/opt/gcc-4_3-build/gcc:/opt/gcc-4_3-build/i686-pc-linux-gnu/libstdc++-v3/.libs:/opt/gcc-4_3-build/i686-pc-linux-gnu/libmudflap/.libs:/opt/gcc-4_3-build/i686-pc-linux-gnu/libssp/.libs:/opt/gcc-4_3-build/i686-pc-linux-gnu/libgomp/.libs:/opt/gcc-4_3-build/./gcc:/opt/gcc-4_3-build/./prev-gcc
PASS: gcc.target/i386/sse3-movsldup.c execution test
Executing on host: /opt/gcc-4_3-build/gcc/xgcc -B/opt/gcc-4_3-build/gcc/ -O2
-msse4.1 -fno-show-column -c -o sse4.15233.o sse4.15233.c (timeout = 300)
Notice that the test of "sse3-movsldup.c" uses the path "gcc.target/i386/" .
Notice that the test of "sse4.15233.c" uses the path "" . In addition, the file
"sse4.15233.c" did not exist the other day when I got the SVN _AND_ it still
does not exist now when I re-got the SVN a few minutes ago. I checked
my HD to see if it was generated, it does not exist.
When the compilation of "sse4.15233.c" fails it causes a number of tests that
follow to be ASSUMED (or at least reported) as unsupported.
Here are a few:
UNSUPPORTED: gcc.target/i386/sse4_1-blendpd.c
UNSUPPORTED: gcc.target/i386/sse4_1-blendps.c
UNSUPPORTED: gcc.target/i386/sse4_1-blendvpd.c
_MY_ test method:
# ls -l sse4_1*
ls: sse4_1*: No such file or directory
# /opt/gcc-4_3-build/gcc/xgcc -B/opt/gcc-4_3-build/gcc/ -O2 -msse4.1
-fno-show-column -c -o sse4_1-blendpd.o
/root/downloads/gcc-4_3-trunk/gcc/testsuite/gcc.target/i386/sse4_1-blendpd.c
# /opt/gcc-4_3-build/gcc/xgcc -B/opt/gcc-4_3-build/gcc/ -O2 -msse4.1
-fno-show-column -c -o sse4_1-blendps.o
/root/downloads/gcc-4_3-trunk/gcc/testsuite/gcc.target/i386/sse4_1-blendps.c
# /opt/gcc-4_3-build/gcc/xgcc -B/opt/gcc-4_3-build/gcc/ -O2 -msse4.1
-fno-show-column -c -o sse4_1-blendvpd.o
/root/downloads/gcc-4_3-trunk/gcc/testsuite/gcc.target/i386/sse4_1-blendvpd.c
: Assembler messages:
:187: Error: no such instruction: `blendvpd %xmm0,-1000(%ebx,%ebp),%xmm1'
# ls -l sse4_1*
-rw-r--r-- 1 root root 1648 May 23 17:38 sse4_1-blendpd.o
-rw-r--r-- 1 root root 1664 May 23 17:39 sse4_1-blendps.o
So the more correct message would be:
PASS: gcc.target/i386/sse4_1-blendpd.c
PASS: gcc.target/i386/sse4_1-blendps.c
UNSUPPORTED: gcc.target/i386/sse4_1-blendvpd.c
The testsuite thinks that the failure of a non-existant file means the rest of
the tests won't pass.
I'm not an "SSE" expert but with so many processors types and variables you
_might_ need to test for processor capability with a _COORECT_ program. Then
use a huge chart that says exactly what is supported by the manufacturer -
unless you actually wish to test unsupported but working instructions.
Many "cpuid" programs are not bleading edge and you don't want to keep
updating.
Keeping a chart is a pain. Using "cat /proc/cpuinfo" is not reliable.
cat /proc/cpuinfo
processor : 0
vendor_id : AuthenticAMD
cpu family : 15
model : 43
...
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 1
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pat
pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt lm 3dnowext 3dnow
up pni lahf_lm cmp_legacy ts fid vid ttp
I bet you think I have an Opteron, many programs do.
There were so many problems with the "gcc" tests that I'll need to poke around
and type "make -i check-gcc" to re-check gcc only. The other tests are not as
bad.
It is important that "C" work as it affects all the other compilers - and thus
the results. We need ZERO errors in "C" (and Ada since it is a "first-stager").
--
Summary: gcc revision 20070523 - Non-existant sse4 test (with
wrong path) causes "UNSUPPORTED" for working tests
Product: gcc
Version: 4.3.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: testsuite
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: rob1weld at aol dot com
GCC build triplet: i686-pc-linux-gnu
GCC host triplet: i686-pc-linux-gnu
GCC target triplet: i686-pc-linux-gnu
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32062