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