diff options
author | Evan Cheng <evan.cheng@apple.com> | 2007-10-12 18:22:55 +0000 |
---|---|---|
committer | Evan Cheng <evan.cheng@apple.com> | 2007-10-12 18:22:55 +0000 |
commit | 1c5d83c14eb6563e5d31e1a707ba18e2ad24bcdb (patch) | |
tree | 168d41fbe153eab5c5371f5c6dbf67b8574ef5ae /lib | |
parent | 1ff2ddda083a3c71a04789fe9845d41f7aaaa0ec (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.txt | 20 |
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: |