1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-27 22:12:47 +01:00
llvm-mirror/test
Chris Lattner 14810c808b Add a couple dag combines to transform mulhi/mullo into a wider multiply
when the wider type is legal.  This allows us to compile:

define zeroext i16 @test1(i16 zeroext %x) nounwind {
entry:
	%div = udiv i16 %x, 33
	ret i16 %div
}

into:

test1:                                  # @test1
	movzwl	4(%esp), %eax
	imull	$63551, %eax, %eax      # imm = 0xF83F
	shrl	$21, %eax
	ret

instead of:

test1:                                  # @test1
        movw    $-1985, %ax             # imm = 0xFFFFFFFFFFFFF83F
        mulw    4(%esp)
        andl    $65504, %edx            # imm = 0xFFE0
        movl    %edx, %eax
        shrl    $5, %eax
        ret

Implementing rdar://8760399 and example #4 from:
http://blog.regehr.org/archives/320

We should implement the same thing for [su]mul_hilo, but I don't
have immediate plans to do this.

llvm-svn: 121696
2010-12-13 08:39:01 +00:00
..
Analysis Revert r121520, which may have introduced miscompilations. 2010-12-10 21:48:28 +00:00
Archive Revert test/Archive/check_binary_output.ll". It fails on a buildbot. 2010-12-07 05:57:02 +00:00
Assembler Fix PR 4170 by having ExtractValueInst::getIndexedType() reject out-of-bounds indexing. 2010-12-05 20:50:26 +00:00
Bindings/Ocaml
Bitcode
BugPoint test: Check the feature 'loadable_module' with load modules in %llvmshlibdir. 2010-11-29 07:58:32 +00:00
CodeGen Add a couple dag combines to transform mulhi/mullo into a wider multiply 2010-12-13 08:39:01 +00:00
DebugInfo Hide tests, that check .loc, .file in output assembly, from darwin9 buildbot. 2010-12-02 23:29:58 +00:00
ExecutionEngine XFAIL for now. If someone with access to an ARM/Linux host wants to have a look 2010-12-02 20:20:32 +00:00
Feature test: Check the feature 'loadable_module' with load modules in %llvmshlibdir. 2010-11-29 07:58:32 +00:00
FrontendAda Adjust this test for the fact that the stores are no longer 2010-12-02 20:56:51 +00:00
FrontendC Test case for r120740. Radar 8712503. 2010-12-02 21:25:55 +00:00
FrontendC++ This test dates from the time when llvm-gcc had problems if two types were 2010-12-02 18:19:23 +00:00
FrontendFortran Use -S rather than -c for the benefit of dragonegg. 2010-11-25 21:41:35 +00:00
FrontendObjC Remove explicit uses of -emit-llvm, the test infrastructure adds it 2010-11-25 21:46:07 +00:00
FrontendObjC++ Remove explicit uses of -emit-llvm, the test infrastructure adds it 2010-11-25 21:48:20 +00:00
Integer
lib Use LLVMCC_EMITIR_FLAG rather than hard-coding "-emit-llvm". 2010-11-25 21:19:52 +00:00
Linker
LLVMC
MC Fixed version of 121434 with no new memory leaks. 2010-12-10 07:39:47 +00:00
Other test/Other/close-stderr.ll: Require the feature 'shell'. It is not executable on Win32 but it is executable on MSYS-bash. 2010-12-07 02:43:58 +00:00
Scripts macho-dump: Switch to C++ macho-dump tool. 2010-12-10 06:19:45 +00:00
TableGen Add support for using the `!if' operator when initializing variables: 2010-12-13 01:46:19 +00:00
Transforms reinstate my patch: the miscompile was caused by an inverted branch in the 2010-12-13 08:12:19 +00:00
Unit Test: Fix Support.Path and _all_ of the unittest death tests. GetTempPath defaults to \Windows\. 2010-12-07 01:23:49 +00:00
Verifier
CMakeLists.txt macho-dump: Fix CMake build, following up to r121466. 2010-12-10 09:18:26 +00:00
lit.cfg test: Add the feature 'shell' on LLVM_ON_UNIX. 2010-12-07 02:43:51 +00:00
lit.site.cfg.in test: Add the new feature 'loadable_module'. 2010-11-29 00:20:09 +00:00
Makefile test: Use $SharedLibDir for loadable modules. On Cygming, loadable modules are not in lib/ but bin. 2010-11-29 00:20:21 +00:00
Makefile.tests
site.exp.in test: Use $SharedLibDir for loadable modules. On Cygming, loadable modules are not in lib/ but bin. 2010-11-29 00:20:21 +00:00
TestRunner.sh