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-10-08 03:57:25 +00:00
2010-10-01 00:16:17 +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 20:51:52 +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-19 18:58:51 +00:00
2010-10-20 22:03:58 +00:00
2010-11-27 20:43:02 +00:00
2010-10-01 04:17:55 +00:00
2010-09-30 23:57:10 +00:00
2010-11-27 20:43:02 +00:00
2010-09-30 23:57:10 +00:00
2010-09-22 05:49:14 +00:00
2010-12-02 23:29:58 +00:00
2010-09-30 19:44:31 +00:00
2010-10-11 21:08:42 +00:00
2010-11-02 17:01:30 +00:00
2010-11-09 16:22:27 +00:00
2010-11-18 20:05:18 +00:00
2010-12-02 21:32:30 +00:00
2010-09-22 05:49:14 +00:00
2010-10-10 23:11:06 +00:00
2010-10-13 17:14:25 +00:00
2010-11-30 09:23:54 +00:00
2010-11-29 22:34:55 +00:00
2010-10-28 00:35:54 +00:00
2010-10-28 00:35:54 +00:00
2010-11-19 19:08:12 +00:00
2010-09-22 22:58:22 +00:00
2010-11-13 19:54:30 +00:00
2010-10-12 23:47:58 +00:00
2010-10-08 05:12:30 +00:00
2010-11-09 01:15:07 +00:00
2010-09-22 05:49:14 +00:00
2010-09-22 05:49:14 +00:00
2010-10-01 04:17:55 +00:00
2010-10-23 09:06:59 +00:00
2010-11-06 21:37:06 +00:00
2010-09-22 05:49:14 +00:00
2010-11-18 00:50:20 +00:00
2010-10-10 22:04:34 +00:00
2010-09-30 20:51:52 +00:00
2010-10-07 20:56:25 +00:00
2010-11-18 01:35:23 +00:00
2010-09-22 05:49:14 +00:00
2010-09-22 05:49:14 +00:00
2010-11-18 01:35:23 +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 04:17:55 +00:00
2010-10-01 05:08:18 +00:00
2010-10-01 21:39:35 +00:00
2010-09-30 23:57:10 +00:00
2010-09-30 23:57:10 +00:00
2010-10-01 04:17:55 +00:00
2010-10-01 04:17:55 +00:00
2010-09-22 05:49:14 +00:00
2010-11-02 23:01:44 +00:00
2010-11-02 23:01:44 +00:00
2010-11-03 18:08:41 +00:00
2010-11-09 01:54:35 +00:00
2010-09-30 20:51:52 +00:00
2010-09-30 20:51:52 +00:00
2010-09-22 05:49:14 +00:00
2010-12-04 20:32:23 +00:00
2010-09-30 20:51:52 +00:00
2010-09-30 20:51:52 +00:00
2010-11-19 21:49:38 +00:00
2010-12-05 07:49:54 +00:00
2010-10-01 05:36:09 +00:00
2010-09-22 05:49:14 +00:00
2010-12-02 20:17:34 +00:00
2010-09-30 22:02:06 +00:00
2010-10-07 20:50:20 +00:00
2010-10-25 22:17:05 +00:00
2010-10-01 05:36:09 +00:00
2010-11-22 09:45:38 +00:00
2010-09-30 20:51:52 +00:00
2010-09-22 05:49:14 +00:00
2010-09-23 06:55:34 +00:00
2010-09-22 04:39:11 +00:00
2010-11-27 20:43:02 +00:00
2010-10-05 17:24:05 +00:00
2010-12-05 07:30:36 +00:00
2010-09-22 05:49:14 +00:00
2010-12-02 23:29:58 +00:00
2010-09-30 23:57:10 +00:00
2010-10-01 21:39:35 +00:00
2010-09-30 23:57:10 +00:00
2010-10-08 19:24:18 +00:00
2010-10-03 22:52:07 +00:00
2010-10-03 22:02:38 +00:00