git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27220 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Evan Cheng 2006-03-28 06:55:45 +00:00
parent be296ac5ca
commit 6a6d354d4c

View File

@ -665,26 +665,5 @@ directly %esp[0] if there are no other uses.
//===---------------------------------------------------------------------===//
Is it really a good idea to use movlhps to move 1 double-precision FP value from
low quadword of source to high quadword of destination?
e.g.
void test2 (v2sd *b, double X, double Y) {
v2sd a = (v2sd) {X, X*Y};
*b = a;
}
movsd 8(%esp), %xmm0
movapd %xmm0, %xmm1
mulsd 16(%esp), %xmm1
movlhps %xmm1, %xmm0
movl 4(%esp), %eax
movapd %xmm0, (%eax)
ret
icc uses unpcklpd instead.
//===---------------------------------------------------------------------===//
Use movhps and movlhps to update upper 64-bits of a v4sf value.
Use movhps to update upper 64-bits of a v4sf value. Also movlps on lower half
of a v4sf value.