aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Target/X86/README-SSE.txt
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2007-08-24 15:17:59 +0000
committerChris Lattner <sabre@nondot.org>2007-08-24 15:17:59 +0000
commit952b5d19f0b1cbd752e3d6b854947f5205b6b313 (patch)
tree450186dc0aa2d830f768b4e2d8b65fcb3b05fec8 /lib/Target/X86/README-SSE.txt
parent7f526a841219bf99e0aee500e337144f2f3c2d63 (diff)
downloadexternal_llvm-952b5d19f0b1cbd752e3d6b854947f5205b6b313.zip
external_llvm-952b5d19f0b1cbd752e3d6b854947f5205b6b313.tar.gz
external_llvm-952b5d19f0b1cbd752e3d6b854947f5205b6b313.tar.bz2
add a note
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41359 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/X86/README-SSE.txt')
-rw-r--r--lib/Target/X86/README-SSE.txt14
1 files changed, 14 insertions, 0 deletions
diff --git a/lib/Target/X86/README-SSE.txt b/lib/Target/X86/README-SSE.txt
index 40404e5..cb857fb 100644
--- a/lib/Target/X86/README-SSE.txt
+++ b/lib/Target/X86/README-SSE.txt
@@ -630,3 +630,17 @@ _bar:
ret
//===---------------------------------------------------------------------===//
+
+We should materialize vecetor constants like "all ones" and "signbit" with
+code like:
+
+ cmpeqps xmm1, xmm1 ; xmm1 = all-ones
+
+and:
+ cmpeqps xmm1, xmm1 ; xmm1 = all-ones
+ psrlq xmm1, 31 ; xmm1 = all 100000000000...
+
+instead of using a load from the constant pool. The later is important for
+ABS/NEG/copysign etc.
+
+//===---------------------------------------------------------------------===//