aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEvan Cheng <evan.cheng@apple.com>2006-04-24 17:38:16 +0000
committerEvan Cheng <evan.cheng@apple.com>2006-04-24 17:38:16 +0000
commit86661f4879c4f18a963f22929b37c3d43a94c799 (patch)
treeeea65b9825bab5c6aa863a83d02946cca46e065e
parent8e9f2ceea37c38c0394af64355966388834a9b86 (diff)
Remove a completed entry.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27958 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--lib/Target/X86/README.txt55
1 files changed, 0 insertions, 55 deletions
diff --git a/lib/Target/X86/README.txt b/lib/Target/X86/README.txt
index a4611b26c0..2ce31d2224 100644
--- a/lib/Target/X86/README.txt
+++ b/lib/Target/X86/README.txt
@@ -999,61 +999,6 @@ be able eliminate one of the movaps:
//===---------------------------------------------------------------------===//
-Use the 0's in the top part of movss from memory (and from other instructions
-that generate them) to build vectors more efficiently. Consider:
-
-vector float test(float a) {
- return (vector float){ 0.0, a, 0.0, 0.0};
-}
-
-We currently generate this as:
-
-_test:
- sub %ESP, 28
- movss %XMM0, DWORD PTR [%ESP + 32]
- movss DWORD PTR [%ESP + 4], %XMM0
- mov DWORD PTR [%ESP + 12], 0
- mov DWORD PTR [%ESP + 8], 0
- mov DWORD PTR [%ESP], 0
- movaps %XMM0, XMMWORD PTR [%ESP]
- add %ESP, 28
- ret
-
-Something like this should be sufficient:
-
-_test:
- movss %XMM0, DWORD PTR [%ESP + 4]
- shufps %XMM0, %XMM0, 81
- ret
-
-... which takes advantage of the zero elements provided by movss.
-Even xoring a register and shufps'ing IT would be better than the
-above code.
-
-Likewise, for this:
-
-vector float test(float a, float b) {
- return (vector float){ b, a, 0.0, 0.0};
-}
-
-_test:
- pxor %XMM0, %XMM0
- movss %XMM1, %XMM0
- movss %XMM2, DWORD PTR [%ESP + 4]
- unpcklps %XMM2, %XMM1
- movss %XMM0, DWORD PTR [%ESP + 8]
- unpcklps %XMM0, %XMM1
- unpcklps %XMM0, %XMM2
- ret
-
-... where we do use pxor, it would be better to use the zero'd
-elements that movss provides to turn this into 2 shufps's instead
-of 3 unpcklps's.
-
-Another example: {0.0, 0.0, a, b }
-
-//===---------------------------------------------------------------------===//
-
Consider:
__m128 test(float a) {