[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