From b23f4c5f44203a3ebe9153ed5dc15dc08623dcbd Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Fri, 24 Aug 2007 15:17:59 +0000 Subject: [PATCH] add a note git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41359 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Target/X86/README-SSE.txt | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/lib/Target/X86/README-SSE.txt b/lib/Target/X86/README-SSE.txt index 40404e53e8b..cb857fbf59f 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. + +//===---------------------------------------------------------------------===//