README.txt revision 0647bf69653df8f8f15e938341fe6e63daf5c3b6
1 2Meta TODO list: 31. Convert all instructions to use autogeneration for asm strings. 42. Convert asmprinter to use lib/CodeGen/AsmPrinter for global init printing 5 constant pool printing, etc. 63. Create a new DAG -> DAG instruction selector, by adding patterns to the 7 instructions. 84. profit! 9 10 11SparcV8 backend skeleton 12------------------------ 13 14This directory houses a 32-bit SPARC V8 backend employing an expander-based 15instruction selector. It is not yet functionally complete. Watch 16this space for more news coming soon! 17 18Current expected test failures 19------------------------------ 20 21Here are the currently-expected SingleSource failures for V8 22(Some C++ programs are crashing in libstdc++ at the moment; 23I'm not sure why.) 24 25 (llc) SingleSource/Regression/C++/EH/exception_spec_test 26 (llc) SingleSource/Regression/C++/EH/throw_rethrow_test 27 28Here are the currently-expected MultiSource failures for V8: 29 30 (llc,cbe) MultiSource/Applications/d/make_dparser 31 (llc,cbe) MultiSource/Applications/hexxagon 32 (llc) MultiSource/Benchmarks/Fhourstones 33 (llc,cbe) MultiSource/Benchmarks/McCat/03-testtrie 34 (llc) MultiSource/Benchmarks/McCat/18-imp 35 (llc,cbe) MultiSource/Benchmarks/Prolangs-C/bison/mybison 36 (llc,cbe) MultiSource/Benchmarks/Prolangs-C/fixoutput 37 (llc,cbe) MultiSource/Benchmarks/Prolangs-C/gnugo 38 (llc,cbe) MultiSource/Benchmarks/Prolangs-C/plot2fig 39 (llc,cbe) MultiSource/Benchmarks/Ptrdist/anagram 40 (llc,cbe) MultiSource/Benchmarks/FreeBench/analyzer 41 * DANGER * analyzer will run the machine out of VM 42 (I don't know whether the following fail in cbe:) 43 (llc) MultiSource/Benchmarks/FreeBench/distray 44 (llc) MultiSource/Benchmarks/FreeBench/fourinarow 45 (llc) MultiSource/Benchmarks/FreeBench/pifft 46 (llc) MultiSource/Benchmarks/MallocBench/gs 47 (llc) MultiSource/Benchmarks/Prolangs-C++/deriv1 48 (llc) MultiSource/Benchmarks/Prolangs-C++/deriv2 49 50Known SPEC failures for V8 (probably not an exhaustive list): 51 52 (llc) 134.perl 53 (llc) 177.mesa 54 (llc) 188.ammp -- FPMover bug? 55 (llc) 256.bzip2 56 (llc,cbe) 130.li 57 (native,llc,cbe) 126.gcc 58 (native,llc,cbe) 255.vortex 59 60To-do 61----- 62 63* support shl on longs (fourinarow needs this) 64* support casting 64-bit integers to FP types (fhourstones needs this) 65* support FP rem (call fmod) 66 67* Keep the address of the constant pool in a register instead of forming its 68 address all of the time. 69 70* Change code like this: 71 or %o0, %lo(.CPI_main_0), %o0 72 ld [%o0+0], %o0 73 into: 74 ld [%o0+%lo(.CPI_main_0)], %o0 75 for constant pool access. 76 77* We can fold small constant offsets into the %hi/%lo references to constant 78 pool addresses as well. 79 80* Directly support select instructions, and fold setcc instructions into them 81 where possible. I think this is what afflicts the inner loop of Olden/tsp 82 (hot block = tsp():no_exit.1.i, overall GCC/LLC = 0.03). 83 84* Generate fsqrtd for calls to sqrt() (~ 4% speedup on Olden/tsp). 85 86$Date$ 87 88