llvm-6502/test
Chandler Carruth 7782102c70 Use standard promotion for i8 CTTZ nodes and i8 CTLZ nodes when the
LZCNT instructions are available. Force promotion to i32 to get
a smaller encoding since the fix-ups necessary are just as complex for
either promoted type

We can't do standard promotion for CTLZ when lowering through BSR
because it results in poor code surrounding the 'xor' at the end of this
instruction. Essentially, if we promote the entire CTLZ node to i32, we
end up doing the xor on a 32-bit CTLZ implementation, and then
subtracting appropriately to get back to an i8 value. Instead, our
custom logic just uses the knowledge of the incoming size to compute
a perfect xor. I'd love to know of a way to fix this, but so far I'm
drawing a blank. I suspect the legalizer could be more clever and/or it
could collude with the DAG combiner, but how... ;]

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@147251 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-24 12:12:34 +00:00
..
Analysis Make the unreachable probability much much heavier. The previous 2011-12-22 09:26:37 +00:00
Archive
Assembler Add an explicit test of the auto-upgrade functionality for the new 2011-12-12 11:23:11 +00:00
Bindings/Ocaml
Bitcode
BugPoint
CodeGen Use standard promotion for i8 CTTZ nodes and i8 CTLZ nodes when the 2011-12-24 12:12:34 +00:00
DebugInfo When recursing for the original size of a type, stop if we are at a 2011-12-16 23:42:45 +00:00
ExecutionEngine
Feature The powers that be have decided that LLVM IR should now support 16-bit 2011-12-17 00:04:22 +00:00
Instrumentation/AddressSanitizer [asan] add a test for instrumenting globals 2011-12-16 01:28:19 +00:00
Integer
lib
Linker Now that PR11464 is fixed, reapply the patch to fix PR11464, 2011-12-20 00:12:26 +00:00
MC ARM VFP assembly parsing and encoding for VCVT(float <--> fixed point). 2011-12-22 22:19:05 +00:00
Object
Other Deleting the json-bench-test until I understand why it is flaky. 2011-12-17 06:29:32 +00:00
Scripts
TableGen
Transforms Move this test from date-name to feature-name, and port it to FileCheck. 2011-12-23 18:41:31 +00:00
Unit
Verifier Teach the verifier to reject all non-constant arguments to the second 2011-12-12 04:36:02 +00:00
CMakeLists.txt Adds a JSON parser and a benchmark (json-bench) to catch performance regressions. 2011-12-16 13:09:10 +00:00
lit.cfg
lit.site.cfg.in
Makefile
Makefile.tests
site.exp.in
TestRunner.sh