Convert feature of the simple isel over for the pattern isel to use.
[oota-llvm.git] / lib / Target / Sparc / README.txt
index 5495e2c7905068a506cde10ed73859310f88368d..c35b60266a658faa348256e195a47319df0d7d07 100644 (file)
@@ -9,27 +9,70 @@ this space for more news coming soon!
 Current expected test failures
 ------------------------------
 
-All SingleSource/Benchmarks tests are expected to pass.  Currently, all
-C++ tests are expected to fail.  Here are the known SingleSource failures:
-
-       UnitTests/SetjmpLongjmp/C++/C++Catch
-       UnitTests/SetjmpLongjmp/C++/SimpleC++Test
-       Regression/C++/EH/ConditionalExpr
-       Regression/C++/EH/ctor_dtor_count-2
-       Regression/C++/EH/ctor_dtor_count
-       Regression/C++/EH/exception_spec_test
-       Regression/C++/EH/function_try_block
-       Regression/C++/EH/simple_rethrow
-       Regression/C++/EH/simple_throw
-       Regression/C++/EH/throw_rethrow_test
-       CustomChecked/oopack_v1p8
+Here are the currently-expected SingleSource failures for V8
+(Some C++ programs are crashing in libstdc++ at the moment;
+I'm not sure why.)
+
+  (llc) SingleSource/Regression/C++/EH/exception_spec_test
+  (llc) SingleSource/Regression/C++/EH/throw_rethrow_test
+
+Here are the currently-expected MultiSource failures for V8:
+
+  (llc,cbe) MultiSource/Applications/d/make_dparser
+  (llc,cbe) MultiSource/Applications/hexxagon
+  (llc) MultiSource/Benchmarks/Fhourstones
+  (llc,cbe) MultiSource/Benchmarks/McCat/03-testtrie
+  (llc) MultiSource/Benchmarks/McCat/18-imp
+  (llc,cbe) MultiSource/Benchmarks/Prolangs-C/bison/mybison
+  (llc,cbe) MultiSource/Benchmarks/Prolangs-C/fixoutput
+  (llc,cbe) MultiSource/Benchmarks/Prolangs-C/gnugo
+  (llc,cbe) MultiSource/Benchmarks/Prolangs-C/plot2fig
+  (llc,cbe) MultiSource/Benchmarks/Ptrdist/anagram
+  (llc,cbe) MultiSource/Benchmarks/FreeBench/analyzer
+    * DANGER * analyzer will run the machine out of VM
+  (I don't know whether the following fail in cbe:)
+  (llc) MultiSource/Benchmarks/FreeBench/distray
+  (llc) MultiSource/Benchmarks/FreeBench/fourinarow
+  (llc) MultiSource/Benchmarks/FreeBench/pifft
+  (llc) MultiSource/Benchmarks/MallocBench/gs
+  (llc) MultiSource/Benchmarks/Prolangs-C++/deriv1
+  (llc) MultiSource/Benchmarks/Prolangs-C++/deriv2
+
+Known SPEC failures for V8 (probably not an exhaustive list):
+
+  (llc) 134.perl
+  (llc) 177.mesa
+  (llc) 188.ammp -- FPMover bug?
+  (llc) 256.bzip2
+  (llc,cbe) 130.li
+  (native,llc,cbe) 126.gcc
+  (native,llc,cbe) 255.vortex
 
 To-do
 -----
 
-* support shifts on longs
-* support casting 64-bit integers to FP types
-* support FP rem
+* support shl on longs (fourinarow needs this)
+* support casting 64-bit integers to FP types (fhourstones needs this)
+* support FP rem (call fmod)
+
+* Keep the address of the constant pool in a register instead of forming its
+  address all of the time.
+
+* Change code like this:
+        or      %o0, %lo(.CPI_main_0), %o0
+        ld      [%o0+0], %o0
+  into:
+        ld     [%o0+%lo(.CPI_main_0)], %o0
+  for constant pool access.
+
+* We can fold small constant offsets into the %hi/%lo references to constant
+  pool addresses as well.
+
+* Directly support select instructions, and fold setcc instructions into them
+  where possible.  I think this is what afflicts the inner loop of Olden/tsp
+  (hot block = tsp():no_exit.1.i, overall GCC/LLC = 0.03).
+
+* Generate fsqrtd for calls to sqrt()  (~ 4% speedup on Olden/tsp).
 
 $Date$