llvm-6502/test/CodeGen
Chris Lattner d6139425f5 teach the x86 address matching stuff to handle
(shl (or x,c), 3) the same as (shl (add x, c), 3)
when x doesn't have any bits from c set.

This finishes off PR1135.  Before we compiled the block to:
to:

LBB0_3:                                 ## %bb
	cmpb	$4, %dl
	sete	%dl
	addb	%dl, %cl
	movb	%cl, %dl
	shlb	$2, %dl
	addb	%r8b, %dl
	shlb	$2, %dl
	movzbl	%dl, %edx
	movl	%esi, (%rdi,%rdx,4)
	leaq	2(%rdx), %r9
	movl	%esi, (%rdi,%r9,4)
	leaq	1(%rdx), %r9
	movl	%esi, (%rdi,%r9,4)
	addq	$3, %rdx
	movl	%esi, (%rdi,%rdx,4)
	incb	%r8b
	decb	%al
	movb	%r8b, %dl
	jne	LBB0_1

Now we produce:

LBB0_3:                                 ## %bb
	cmpb	$4, %dl
	sete	%dl
	addb	%dl, %cl
	movb	%cl, %dl
	shlb	$2, %dl
	addb	%r8b, %dl
	shlb	$2, %dl
	movzbl	%dl, %edx
	movl	%esi, (%rdi,%rdx,4)
	movl	%esi, 8(%rdi,%rdx,4)
	movl	%esi, 4(%rdi,%rdx,4)
	movl	%esi, 12(%rdi,%rdx,4)
	incb	%r8b
	decb	%al
	movb	%r8b, %dl
	jne	LBB0_1



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101958 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-20 23:18:40 +00:00
..
Alpha Split big test into multiple directories to cater to 2010-04-07 20:43:35 +00:00
ARM Fix tests for Neon load/store intrinsics to match the i8* types expected by 2010-04-20 00:17:16 +00:00
Blackfin Start function numbering at 0. 2010-04-17 16:29:15 +00:00
CBackend Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
CellSPU teach cellspu how to return i8 and i16 from calls, 2010-04-20 05:36:09 +00:00
CPP fix PR5295 where the .ll parser didn't reject a function after a global 2009-10-25 23:22:50 +00:00
Generic fix PR6332, allowing an index of zero into a zero sized array 2010-04-17 19:02:33 +00:00
MBlaze Split big test into multiple directories to cater to 2010-04-07 20:43:35 +00:00
Mips Start function numbering at 0. 2010-04-17 16:29:15 +00:00
MSP430 add newlines at the end of files. 2010-04-07 22:53:17 +00:00
PIC16 Remove XFAIL for vg_leak as the leaks are fixed by 100601. 2010-04-07 07:06:48 +00:00
PowerPC Bill's change in r95336 broke empty aggregates embedded 2010-04-20 06:20:21 +00:00
SPARC Split big test into multiple directories to cater to 2010-04-07 20:43:35 +00:00
SystemZ add newlines at the end of files. 2010-04-07 22:53:17 +00:00
Thumb Start function numbering at 0. 2010-04-17 16:29:15 +00:00
Thumb2 Start function numbering at 0. 2010-04-17 16:29:15 +00:00
X86 teach the x86 address matching stuff to handle 2010-04-20 23:18:40 +00:00
XCore Start function numbering at 0. 2010-04-17 16:29:15 +00:00