llvm-6502/test
Benjamin Kramer 9b108a338d Teach DAGCombine to fold fold (sra (trunc (sr x, c1)), c2) -> (trunc (sra x, c1+c2) when c1 equals the amount of bits that are truncated off.
This happens all the time when a smul is promoted to a larger type.

On x86-64 we now compile "int test(int x) { return x/10; }" into
  movslq  %edi, %rax
  imulq $1717986919, %rax, %rax
  movq  %rax, %rcx
  shrq  $63, %rcx
  sarq  $34, %rax <- used to be "shrq $32, %rax; sarl $2, %eax"
  addl  %ecx, %eax

This fires 96 times in gcc.c on x86-64.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124559 91177308-0d34-0410-b5e6-96231b3b80d8
2011-01-30 16:38:43 +00:00
..
Analysis Add another rdar number. 2011-01-24 17:54:01 +00:00
Archive
Assembler Move unnamed_addr after the function arguments on Sabre's request. 2011-01-25 19:09:56 +00:00
Bindings/Ocaml
Bitcode
BugPoint
CodeGen Teach DAGCombine to fold fold (sra (trunc (sr x, c1)), c2) -> (trunc (sra x, c1+c2) when c1 equals the amount of bits that are truncated off. 2011-01-30 16:38:43 +00:00
DebugInfo
ExecutionEngine
Feature
FrontendAda Testcase for dragonegg commit 124128. 2011-01-24 18:04:33 +00:00
FrontendC
FrontendC++
FrontendFortran
FrontendObjC
FrontendObjC++
Integer
lib
Linker fix PR9015, a crash linking recursive metadata. 2011-01-24 03:18:24 +00:00
LLVMC
MC PR9030: Fix disassembly of ARM "mov pc, lr" instruction. 2011-01-28 17:50:30 +00:00
Object Revert "Object: Renable the tests now that none of the build bots complain about aliasing." 2011-01-21 06:27:04 +00:00
Other
Scripts
TableGen
Transforms Add the select optimization recently added to instcombine to constant folding. 2011-01-29 20:35:06 +00:00
Unit
Verifier
CMakeLists.txt
lit.cfg
lit.site.cfg.in
Makefile
Makefile.tests
site.exp.in
TestRunner.sh