llvm-6502/test
Nate Begeman bdcb5afb77 ~40% faster vector shl <4 x i32> on SSE 4.1 Larger improvements for smaller types coming in future patches.
For:

define <2 x i64> @shl(<4 x i32> %r, <4 x i32> %a) nounwind readnone ssp {
entry:
  %shl = shl <4 x i32> %r, %a                     ; <<4 x i32>> [#uses=1]
  %tmp2 = bitcast <4 x i32> %shl to <2 x i64>     ; <<2 x i64>> [#uses=1]
  ret <2 x i64> %tmp2
}

We get:

_shl:                                   ## @shl
	pslld	$23, %xmm1
	paddd	LCPI0_0, %xmm1
	cvttps2dq	%xmm1, %xmm1
	pmulld	%xmm1, %xmm0
	ret

Instead of:

_shl:                                   ## @shl
	pshufd	$3, %xmm0, %xmm2
	movd	%xmm2, %eax
	pshufd	$3, %xmm1, %xmm2
	movd	%xmm2, %ecx
	shll	%cl, %eax
	movd	%eax, %xmm2
	pshufd	$1, %xmm0, %xmm3
	movd	%xmm3, %eax
	pshufd	$1, %xmm1, %xmm3
	movd	%xmm3, %ecx
	shll	%cl, %eax
	movd	%eax, %xmm3
	punpckldq	%xmm2, %xmm3
	movd	%xmm0, %eax
	movd	%xmm1, %ecx
	shll	%cl, %eax
	movd	%eax, %xmm2
	movhlps	%xmm0, %xmm0
	movd	%xmm0, %eax
	movhlps	%xmm1, %xmm1
	movd	%xmm1, %ecx
	shll	%cl, %eax
	movd	%eax, %xmm0
	punpckldq	%xmm0, %xmm2
	movdqa	%xmm2, %xmm0
	punpckldq	%xmm3, %xmm0
	ret


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109549 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-27 22:37:06 +00:00
..
Analysis Add new RegionInfo pass. 2010-07-22 07:46:31 +00:00
Archive
Assembler add newlines at the end of files. 2010-04-07 22:53:17 +00:00
Bindings/Ocaml
Bitcode reapply 'reject forward references to functions whose type don't match' 2010-04-20 04:49:11 +00:00
BugPoint Fix this test to work under lit. 2010-06-07 20:58:11 +00:00
CodeGen ~40% faster vector shl <4 x i32> on SSE 4.1 Larger improvements for smaller types coming in future patches. 2010-07-27 22:37:06 +00:00
DebugInfo Fix PR 7662. 2010-07-19 17:53:55 +00:00
ExecutionEngine Revert r101455, which fails on the llvm-arm-linux buildbot. 2010-04-16 18:37:31 +00:00
Feature Disallow null as a named metadata operand. 2010-07-21 18:54:18 +00:00
FrontendAda
FrontendC Turn this test on again after the llvm-gcc change in r108986. 2010-07-21 04:54:06 +00:00
FrontendC++ Update tests to not rely on input file's absolute path. 2010-07-27 18:13:53 +00:00
FrontendFortran
FrontendObjC Update tests to not rely on input file's absolute path. 2010-07-27 18:13:53 +00:00
FrontendObjC++
Integer
lib
Linker
LLVMC Test for the -filelist fix. 2010-07-01 01:00:37 +00:00
MC Make MC use Windows COFF on Windows and add tests. 2010-07-27 06:46:15 +00:00
Other Add a lint check for mismatched return types, inspired by PR6944. 2010-07-12 18:02:04 +00:00
Scripts Make coff-dump.py executable and add python as executable for this script. 2010-07-27 09:01:26 +00:00
TableGen Remove TargetInstrInfo::copyRegToReg entirely. 2010-07-11 17:01:17 +00:00
Transforms Fix a test with malformed IR. Not sure why this didn't fail before. 2010-07-26 18:44:56 +00:00
Unit
Verifier Reapply address space patch after fixing an issue in MemCopyOptimizer. 2010-04-04 03:10:48 +00:00
CMakeLists.txt tests: Propogate LLVM_SRC_ROOT and PYTHON_EXECUTABLE environment variables to tests. 2010-06-12 16:21:19 +00:00
lit.cfg tests: Tweak lit.cfg to fix breakage with out-of-dir lookup. 2010-06-23 18:06:16 +00:00
lit.site.cfg.in tests: Propogate LLVM_SRC_ROOT and PYTHON_EXECUTABLE environment variables to tests. 2010-06-12 16:21:19 +00:00
Makefile daniel doesn't hate me, he hates macpython 2.5, which 2010-07-18 18:42:18 +00:00
Makefile.tests
site.exp.in
TestRunner.sh