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