[llvm-commits] CVS: llvm/lib/Target/X86/README.txt
Evan Cheng
evan.cheng at apple.com
Mon Mar 27 18:49:24 PST 2006
Changes in directory llvm/lib/Target/X86:
README.txt updated: 1.75 -> 1.76
---
Log message:
Added a couple of entries about movhps and movlhps.
---
Diffs of the changes: (+26 -0)
README.txt | 26 ++++++++++++++++++++++++++
1 files changed, 26 insertions(+)
Index: llvm/lib/Target/X86/README.txt
diff -u llvm/lib/Target/X86/README.txt:1.75 llvm/lib/Target/X86/README.txt:1.76
--- llvm/lib/Target/X86/README.txt:1.75 Mon Mar 27 20:44:05 2006
+++ llvm/lib/Target/X86/README.txt Mon Mar 27 20:49:12 2006
@@ -662,3 +662,29 @@
Obviously it would have been better for the first mov (or any op) to store
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.
More information about the llvm-commits
mailing list