blob: c35b60266a658faa348256e195a47319df0d7d07 [file] [log] [blame]
Brian Gaekee785e532004-02-25 19:28:19 +00001
2SparcV8 backend skeleton
3------------------------
4
Misha Brukmand42b1672004-11-19 23:09:40 +00005This directory houses a 32-bit SPARC V8 backend employing an expander-based
Brian Gaeke406e8cb2004-08-06 04:38:13 +00006instruction selector. It is not yet functionally complete. Watch
7this space for more news coming soon!
Brian Gaekee785e532004-02-25 19:28:19 +00008
Brian Gaeke941833a2004-10-14 19:39:33 +00009Current expected test failures
10------------------------------
Brian Gaekea7713472004-09-29 03:48:55 +000011
Brian Gaeke9d6ffb42004-12-11 05:19:01 +000012Here are the currently-expected SingleSource failures for V8
13(Some C++ programs are crashing in libstdc++ at the moment;
14I'm not sure why.)
Brian Gaeke941833a2004-10-14 19:39:33 +000015
Brian Gaeke9d6ffb42004-12-11 05:19:01 +000016 (llc) SingleSource/Regression/C++/EH/exception_spec_test
17 (llc) SingleSource/Regression/C++/EH/throw_rethrow_test
Brian Gaekea7713472004-09-29 03:48:55 +000018
Brian Gaeke367c1372004-12-12 08:22:11 +000019Here are the currently-expected MultiSource failures for V8:
Brian Gaeke2041d0c2004-11-23 06:39:50 +000020
Brian Gaeke9d6ffb42004-12-11 05:19:01 +000021 (llc,cbe) MultiSource/Applications/d/make_dparser
Brian Gaeke9d6ffb42004-12-11 05:19:01 +000022 (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 Gaeke367c1372004-12-12 08:22:11 +000031 (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 Gaeke2041d0c2004-11-23 06:39:50 +000040
Brian Gaekea04d9592004-12-13 00:27:35 +000041Known 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 Gaeke22b5cd82004-07-16 10:31:36 +000051To-do
52-----
53
Brian Gaeke367c1372004-12-12 08:22:11 +000054* support shl on longs (fourinarow needs this)
55* support casting 64-bit integers to FP types (fhourstones needs this)
Chris Lattnere171d5c2004-12-13 20:13:10 +000056* support FP rem (call fmod)
57
Chris Lattnere171d5c2004-12-13 20:13:10 +000058* 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 Gaeke22b5cd82004-07-16 10:31:36 +000070
Brian Gaeke57618052004-12-14 09:10:10 +000071* 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 Gaekee785e532004-02-25 19:28:19 +000077$Date$
78