aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorEvan Cheng <evan.cheng@apple.com>2007-10-12 18:22:55 +0000
committerEvan Cheng <evan.cheng@apple.com>2007-10-12 18:22:55 +0000
commit1c5d83c14eb6563e5d31e1a707ba18e2ad24bcdb (patch)
tree168d41fbe153eab5c5371f5c6dbf67b8574ef5ae /lib
parent1ff2ddda083a3c71a04789fe9845d41f7aaaa0ec (diff)
Update.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42922 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib')
-rw-r--r--lib/Target/X86/README.txt20
1 files changed, 2 insertions, 18 deletions
diff --git a/lib/Target/X86/README.txt b/lib/Target/X86/README.txt
index 0d4dce32d8..9cb01a78af 100644
--- a/lib/Target/X86/README.txt
+++ b/lib/Target/X86/README.txt
@@ -89,6 +89,8 @@ Should we promote i16 to i32 to avoid partial register update stalls?
Leave any_extend as pseudo instruction and hint to register
allocator. Delay codegen until post register allocation.
+Note. any_extend is now turned into an INSERT_SUBREG. We still need to teach
+the coalescer how to deal with it though.
//===---------------------------------------------------------------------===//
@@ -991,24 +993,6 @@ int %test2(int %X) {
//===---------------------------------------------------------------------===//
-This:
-#include <xmmintrin.h>
-unsigned test(float f) {
- return _mm_cvtsi128_si32( (__m128i) _mm_set_ss( f ));
-}
-
-Compiles to:
-_test:
- movss 4(%esp), %xmm0
- movd %xmm0, %eax
- ret
-
-it should compile to a move from the stack slot directly into eax. DAGCombine
-has this xform, but it is currently disabled until the alignment fields of
-the load/store nodes are trustworthy.
-
-//===---------------------------------------------------------------------===//
-
Sometimes it is better to codegen subtractions from a constant (e.g. 7-x) with
a neg instead of a sub instruction. Consider: