Bill Wendling
eebc8a1bc5
Add support for the v1i64 type. This makes better code for this:
#include <mmintrin.h>
extern __m64 C;
void baz(__v2si *A, __v2si *B)
{
*A = C;
_mm_empty();
}
We get this:
_baz:
call "L1$pb"
"L1$pb":
popl %eax
movl L_C$non_lazy_ptr-"L1$pb"(%eax), %eax
movq (%eax), %mm0
movl 4(%esp), %eax
movq %mm0, (%eax)
emms
ret
GCC gives us this:
_baz:
pushl %ebx
call L3
"L00000000001$pb":
L3:
popl %ebx
subl $8, %esp
movl L_C$non_lazy_ptr-"L00000000001$pb"(%ebx), %eax
movl (%eax), %edx
movl 4(%eax), %ecx
movl 16(%esp), %eax
movl %edx, (%eax)
movl %ecx, 4(%eax)
emms
addl $8, %esp
popl %ebx
ret
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35351 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-26 07:53:08 +00:00
..
2006-03-14 06:05:05 +00:00
2007-02-06 18:51:28 +00:00
2007-02-06 18:51:28 +00:00
2007-03-26 07:53:08 +00:00
2006-08-11 19:42:11 +00:00
2005-05-20 17:50:51 +00:00
2004-02-26 23:02:25 +00:00
2003-10-16 23:46:01 +00:00
2006-08-14 18:49:05 +00:00
2004-10-30 23:11:26 +00:00
2005-10-13 17:31:30 +00:00
2005-12-20 02:03:23 +00:00
2007-02-05 06:10:19 +00:00
2007-03-22 21:06:50 +00:00
2006-08-09 19:40:13 +00:00
2006-08-03 19:10:03 +00:00
2006-08-15 03:50:10 +00:00
2005-04-27 17:32:41 +00:00
2004-03-02 15:54:25 +00:00
2004-02-26 23:01:21 +00:00
2006-08-14 18:49:05 +00:00
2006-08-15 03:48:22 +00:00
2007-02-06 18:51:28 +00:00
2007-02-14 07:39:35 +00:00
2007-01-17 03:38:22 +00:00
2006-11-24 20:34:16 +00:00
2005-11-15 06:44:15 +00:00
2006-03-21 01:21:39 +00:00
2005-05-20 17:33:42 +00:00
2006-04-12 17:41:19 +00:00
2005-04-27 14:57:26 +00:00
2005-04-27 17:32:41 +00:00
2005-10-13 16:34:24 +00:00
2004-03-03 17:38:51 +00:00
2006-08-14 18:49:05 +00:00
2005-05-20 17:50:51 +00:00