Chris Lattner 9637d5b22e Teach X86ISelLowering that the second result of X86ISD::UMUL is a flags
result.  This allows us to compile:

void *test12(long count) {
      return new int[count];
}

into:

test12:
	movl	$4, %ecx
	movq	%rdi, %rax
	mulq	%rcx
	movq	$-1, %rdi
	cmovnoq	%rax, %rdi
	jmp	__Znam                  ## TAILCALL

instead of:

test12:
	movl	$4, %ecx
	movq	%rdi, %rax
	mulq	%rcx
	seto	%cl
	testb	%cl, %cl
	movq	$-1, %rdi
	cmoveq	%rax, %rdi
	jmp	__Znam

Of course it would be even better if the regalloc inverted the cmov to 'cmovoq',
which would eliminate the need for the 'movq %rdi, %rax'.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120936 91177308-0d34-0410-b5e6-96231b3b80d8
2010-12-05 07:49:54 +00:00
..
2010-09-30 23:57:10 +00:00
2010-09-30 23:57:10 +00:00
2010-11-27 20:43:02 +00:00
2010-10-11 21:08:42 +00:00
2010-11-30 09:23:54 +00:00
2010-11-29 22:34:55 +00:00
2010-10-08 05:12:30 +00:00
2010-10-07 20:56:25 +00:00
2010-09-30 23:57:10 +00:00
2010-09-30 23:57:10 +00:00
2010-09-30 23:57:10 +00:00
2010-09-30 23:57:10 +00:00
2010-10-05 21:58:12 +00:00
2010-10-01 05:08:18 +00:00
2010-09-30 23:57:10 +00:00
2010-09-30 23:57:10 +00:00
2010-12-02 20:17:34 +00:00
2010-11-27 20:43:02 +00:00
2010-09-30 23:57:10 +00:00
2010-09-30 23:57:10 +00:00
2010-10-03 22:52:07 +00:00