[cfe-dev] clang/Darwin/x86-64 status on the LLVM test & gcc "compat" test suites

Jean-Daniel Dupas devlists at shadowlab.org
Tue Feb 10 00:48:16 PST 2009


I think I know one additional error.
The CFString struct is not the same on 64 bits runtime, and so, the  
Constant CFString generation does not works properly on darwin x64.
It would also affect constant NSString generation if 64bits objc  
codegen was working.

Le 10 févr. 09 à 00:56, Daniel Dunbar a écrit :

> Hi all,
>
> Continuing with the current compiler test results, here is the status
> of clang/Darwin/x86-64 on the LLVM test suite:
>
> 22 failures on top of the x86-32 failures I already reported on.
>
> Presumed miscompilations (a number of these are likely attributable to
> the same root cause):
> --
> MultiSource/Applications/ClamAV/clamscan
> SingleSource/UnitTests/2003-05-31-CastToBool
>  Known x86_64 ABI bug w/ bool I believe, I will be fixing today.
> MultiSource/Applications/sgefa/sgefa
>  PR3524: clang/x86_64 miscompiles MultiSource/Applications/sgefa/sgefa
> MultiSource/Benchmarks/McCat/09-vor/vor
>  PR3523: clang/x86_64 miscompiles MultiSource/Benchmarks/McCat/09- 
> vor/vor
> MultiSource/Benchmarks/MiBench/network-dijkstra/network-dijkstra
>  PR3525: clang/x86_64 miscompiles
> MultiSource/Benchmarks/MiBench/network-dijkstra/network-dijkstra
> MultiSource/Benchmarks/MiBench/telecomm-adpcm/telecomm-adpcm
>  PR3526: clang/x86_64 miscompiles
> MultiSource/Benchmarks/MiBench/telecomm-adpcm/telecomm-adpcm
> MultiSource/Benchmarks/Prolangs-C/fixoutput/fixoutput
>  PR3527: clang/x86_64 has no builtin versions of libcalls
> MultiSource/Benchmarks/SciMark2-C/scimark2
>  PR3528: clang/x86_64 miscompiles MultiSource/Benchmarks/SciMark2-C/ 
> scimark2
> MultiSource/Benchmarks/mediabench/adpcm/rawcaudio/rawcaudio
> MultiSource/Benchmarks/mediabench/adpcm/rawdaudio/rawdaudio
>  PR3529: clang/x86_64 miscompiles
> MultiSource/Benchmarks/mediabench/adpcm/rawcaudio/rawcaudio
>  (assuming these are the same bug)
> SingleSource/Benchmarks/McGill/exptree
>  PR3530: clang/x86_64 miscompiles SingleSource/Benchmarks/McGill/ 
> exptree
> SingleSource/Benchmarks/Misc/himenobmtxpa
>  PR3531: clang/x86_64 miscompiles SingleSource/Benchmarks/Misc/ 
> himenobmtxpa
>
> Other:
> --
> MultiSource/Applications/lua/lua
> MultiSource/Applications/siod/siod
> MultiSource/Applications/sqlite3/sqlite3
> SingleSource/Regression/C/PR640
> SingleSource/UnitTests/2003-05-07-VarArgs
> SingleSource/UnitTests/2003-07-09-SignedArgs
> SingleSource/UnitTests/2003-08-11-VaListArg
> SingleSource/UnitTests/2007-03-02-VaCopy
>  x86_64 vararg support
>
> SingleSource/UnitTests/ObjC/print-class-info
>  no 64-bit Obj-C runtime support.
> MultiSource/Benchmarks/MallocBench/gs/gs
>  both llc/gcc versions segfault; possibly not 64-bit clean?
> --
>
> As an added bonus, here is the combined status of clang/Darwin/x86-32
> and x86-64 on the gcc "compat" test suite:
> --
> Running /Users/ddunbar/private/gcc-4_2-SL/gcc/testsuite/gcc.dg/ 
> compat/compat.exp
> ...
> FAIL: gcc.dg/compat/fnptr-by-value-1 c_compat_y_alt.o compile, "-m64  
> -m64",""
> FAIL: gcc.dg/compat/scalar-by-value-1 c_compat_y_alt.o compile, "- 
> m64 -m64",""
> FAIL: gcc.dg/compat/scalar-by-value-3 c_compat_y_alt.o compile, "- 
> m64 -m64",""
> FAIL: gcc.dg/compat/scalar-by-value-3 c_compat_y_alt.o compile, "- 
> m32","-m32"
> FAIL: gcc.dg/compat/scalar-by-value-5 c_compat_y_alt.o compile, "- 
> m64 -m64",""
> FAIL: gcc.dg/compat/scalar-by-value-5 c_compat_y_alt.o compile, "- 
> m32","-m32"
> FAIL: gcc.dg/compat/scalar-by-value-6 c_compat_y_alt.o compile, "- 
> m64 -m64",""
> FAIL: gcc.dg/compat/scalar-by-value-6 c_compat_y_alt.o compile, "- 
> m32","-m32"
> FAIL: gcc.dg/compat/scalar-return-1 c_compat_y_alt.o compile, "-m64 - 
> m64",""
> FAIL: gcc.dg/compat/scalar-return-3 c_compat_x_alt.o compile, "-m64 - 
> m64",""
> FAIL: gcc.dg/compat/scalar-return-3 c_compat_y_alt.o compile, "-m64 - 
> m64",""
> FAIL: gcc.dg/compat/scalar-return-3 c_compat_y_alt.o compile, "- 
> m32","-m32"
> FAIL: gcc.dg/compat/struct-align-1 c_compat_x_tst.o-c_compat_y_alt.o
> execute "-m64 -m64",""
> FAIL: gcc.dg/compat/struct-align-1 c_compat_x_alt.o-c_compat_y_tst.o
> execute "-m64 -m64",""
> FAIL: gcc.dg/compat/struct-align-1 c_compat_x_tst.o-c_compat_y_alt.o
> execute "-m32","-m32"
> FAIL: gcc.dg/compat/struct-align-1 c_compat_x_alt.o-c_compat_y_tst.o
> execute "-m32","-m32"
> FAIL: gcc.dg/compat/struct-align-2 c_compat_x_tst.o-c_compat_y_alt.o
> execute "-m64 -m64",""
> FAIL: gcc.dg/compat/struct-align-2 c_compat_x_alt.o-c_compat_y_tst.o
> execute "-m64 -m64",""
> FAIL: gcc.dg/compat/struct-align-2 c_compat_x_tst.o-c_compat_y_alt.o
> execute "-m32","-m32"
> FAIL: gcc.dg/compat/struct-align-2 c_compat_x_alt.o-c_compat_y_tst.o
> execute "-m32","-m32"
> FAIL: gcc.dg/compat/struct-by-value-10 c_compat_y_alt.o compile, "- 
> m64 -m64",""
> FAIL: gcc.dg/compat/struct-by-value-11 c_compat_y_alt.o compile, "- 
> m64 -m64",""
> FAIL: gcc.dg/compat/struct-by-value-11
> c_compat_x_tst.o-c_compat_y_alt.o execute "-m32","-m32"
> FAIL: gcc.dg/compat/struct-by-value-11
> c_compat_x_alt.o-c_compat_y_alt.o execute "-m32","-m32"
> FAIL: gcc.dg/compat/struct-by-value-12 c_compat_y_alt.o compile, "- 
> m64 -m64",""
> FAIL: gcc.dg/compat/struct-by-value-13 c_compat_y_alt.o compile, "- 
> m64 -m64",""
> FAIL: gcc.dg/compat/struct-by-value-14 c_compat_y_alt.o compile, "- 
> m64 -m64",""
> FAIL: gcc.dg/compat/struct-by-value-15 c_compat_y_alt.o compile, "- 
> m64 -m64",""
> FAIL: gcc.dg/compat/struct-by-value-16 c_compat_y_alt.o compile, "- 
> m64 -m64",""
> FAIL: gcc.dg/compat/struct-by-value-17 c_compat_y_alt.o compile, "- 
> m64 -m64",""
> FAIL: gcc.dg/compat/struct-by-value-18 c_compat_y_alt.o compile, "- 
> m64 -m64",""
> FAIL: gcc.dg/compat/struct-by-value-19 c_compat_y_alt.o compile, "- 
> m64 -m64",""
> FAIL: gcc.dg/compat/struct-by-value-1 c_compat_x_alt.o compile, "- 
> m64 -m64",""
> FAIL: gcc.dg/compat/struct-by-value-1 c_compat_y_alt.o compile, "- 
> m64 -m64",""
> FAIL: gcc.dg/compat/struct-by-value-1 c_compat_x_alt.o compile, "- 
> m32","-m32"
> FAIL: gcc.dg/compat/struct-by-value-1 c_compat_y_alt.o compile, "- 
> m32","-m32"
> FAIL: gcc.dg/compat/struct-by-value-20 c_compat_y_alt.o compile, "- 
> m64 -m64",""
> FAIL: gcc.dg/compat/struct-by-value-21 c_compat_y_alt.o compile, "- 
> m64 -m64",""
> FAIL: gcc.dg/compat/struct-by-value-22 c_compat_x_alt.o compile, "- 
> m64 -m64",""
> FAIL: gcc.dg/compat/struct-by-value-22 c_compat_y_alt.o compile, "- 
> m64 -m64",""
> FAIL: gcc.dg/compat/struct-by-value-22 c_compat_x_alt.o compile, "- 
> m32","-m32"
> FAIL: gcc.dg/compat/struct-by-value-22 c_compat_y_alt.o compile, "- 
> m32","-m32"
> FAIL: gcc.dg/compat/struct-by-value-2 c_compat_x_alt.o compile, "- 
> m64 -m64",""
> FAIL: gcc.dg/compat/struct-by-value-2 c_compat_y_alt.o compile, "- 
> m64 -m64",""
> FAIL: gcc.dg/compat/struct-by-value-2 c_compat_x_alt.o compile, "- 
> m32","-m32"
> FAIL: gcc.dg/compat/struct-by-value-2 c_compat_y_alt.o compile, "- 
> m32","-m32"
> FAIL: gcc.dg/compat/struct-by-value-3 c_compat_y_alt.o compile, "- 
> m64 -m64",""
> FAIL: gcc.dg/compat/struct-by-value-4 c_compat_x_alt.o compile, "- 
> m64 -m64",""
> FAIL: gcc.dg/compat/struct-by-value-4 c_compat_y_alt.o compile, "- 
> m64 -m64",""
> FAIL: gcc.dg/compat/struct-by-value-4 c_compat_x_alt.o compile, "- 
> m32","-m32"
> FAIL: gcc.dg/compat/struct-by-value-4 c_compat_y_alt.o compile, "- 
> m32","-m32"
> FAIL: gcc.dg/compat/struct-by-value-5a c_compat_y_alt.o compile, "- 
> m64 -m64",""
> FAIL: gcc.dg/compat/struct-by-value-5b c_compat_y_alt.o compile, "- 
> m64 -m64",""
> FAIL: gcc.dg/compat/struct-by-value-6a c_compat_y_alt.o compile, "- 
> m64 -m64",""
> FAIL: gcc.dg/compat/struct-by-value-6b c_compat_y_alt.o compile, "- 
> m64 -m64",""
> FAIL: gcc.dg/compat/struct-by-value-7a c_compat_y_alt.o compile, "- 
> m64 -m64",""
> FAIL: gcc.dg/compat/struct-by-value-7b c_compat_y_alt.o compile, "- 
> m64 -m64",""
> FAIL: gcc.dg/compat/struct-by-value-8 c_compat_x_alt.o compile, "- 
> m64 -m64",""
> FAIL: gcc.dg/compat/struct-by-value-8 c_compat_y_alt.o compile, "- 
> m64 -m64",""
> FAIL: gcc.dg/compat/struct-by-value-8 c_compat_x_alt.o compile, "- 
> m32","-m32"
> FAIL: gcc.dg/compat/struct-by-value-8 c_compat_y_alt.o compile, "- 
> m32","-m32"
> FAIL: gcc.dg/compat/struct-by-value-9 c_compat_x_alt.o compile, "- 
> m64 -m64",""
> FAIL: gcc.dg/compat/struct-by-value-9 c_compat_y_alt.o compile, "- 
> m64 -m64",""
> FAIL: gcc.dg/compat/struct-by-value-9 c_compat_x_alt.o compile, "- 
> m32","-m32"
> FAIL: gcc.dg/compat/struct-by-value-9 c_compat_y_alt.o compile, "- 
> m32","-m32"
> FAIL: gcc.dg/compat/struct-layout-1 c_compat_y_alt.o compile, "-m64 - 
> m64",""
> FAIL: gcc.dg/compat/struct-layout-1 c_compat_x_alt.o-c_compat_y_tst.o
> execute "-m64 -m64",""
> FAIL: gcc.dg/compat/struct-layout-1 c_compat_x_tst.o-c_compat_y_alt.o
> execute "-m32","-m32"
> FAIL: gcc.dg/compat/struct-layout-1 c_compat_x_alt.o-c_compat_y_tst.o
> execute "-m32","-m32"
> FAIL: gcc.dg/compat/struct-layout-1 c_compat_x_alt.o-c_compat_y_alt.o
> execute "-m32","-m32"
> FAIL: gcc.dg/compat/struct-return-10 c_compat_y_alt.o compile, "-m64  
> -m64",""
> FAIL: gcc.dg/compat/struct-return-19 c_compat_y_alt.o compile, "-m64  
> -m64",""
> FAIL: gcc.dg/compat/struct-return-20 c_compat_y_alt.o compile, "-m64  
> -m64",""
> FAIL: gcc.dg/compat/struct-return-21 c_compat_y_alt.o compile, "-m64  
> -m64",""
> FAIL: gcc.dg/compat/struct-return-2 c_compat_y_alt.o compile, "-m64 - 
> m64",""
> FAIL: gcc.dg/compat/struct-return-2 c_compat_y_alt.o compile, "- 
> m32","-m32"
> FAIL: gcc.dg/compat/struct-return-3 c_compat_y_alt.o compile, "-m64 - 
> m64",""
> FAIL: gcc.dg/compat/union-by-value-1 c_compat_y_alt.o compile, "-m64  
> -m64",""
> FAIL: gcc.dg/compat/union-return-1 c_compat_y_alt.o compile, "-m64 - 
> m64",""
> FAIL: gcc.dg/compat/vector-1 c_compat_x_tst.o-c_compat_y_alt.o execute
> "-m64 -m64",""
> FAIL: gcc.dg/compat/vector-1 c_compat_x_alt.o-c_compat_y_tst.o execute
> "-m64 -m64",""
> FAIL: gcc.dg/compat/vector-1 c_compat_x_tst.o-c_compat_y_alt.o execute
> "-m32","-m32"
> FAIL: gcc.dg/compat/vector-1 c_compat_x_alt.o-c_compat_y_tst.o execute
> "-m32","-m32"
> FAIL: gcc.dg/compat/vector-2 c_compat_x_tst.o-c_compat_y_alt.o execute
> "-m64 -m64",""
> FAIL: gcc.dg/compat/vector-2 c_compat_x_alt.o-c_compat_y_tst.o execute
> "-m64 -m64",""
> FAIL: gcc.dg/compat/vector-2 c_compat_x_tst.o-c_compat_y_alt.o execute
> "-m32","-m32"
> FAIL: gcc.dg/compat/vector-2 c_compat_x_alt.o-c_compat_y_tst.o execute
> "-m32","-m32"
>
> 		=== gcc Summary ===
>
> # of expected passes		1031
> # of unexpected failures	87
> # of unresolved testcases	234
> # of unsupported tests		2
> /usr/bin/gcc  version 4.2.1 (Apple Inc. build 5634)
> --
>
> The compilation failures are largely lack of support for x86-64
> varargs and some complex handling; although there are some bugs
> sprinkled in naturally. I have not analyzed the execute failures yet.
>
> - Daniel
> _______________________________________________
> cfe-dev mailing list
> cfe-dev at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev
>





More information about the cfe-dev mailing list