mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-02-09 13:33:17 +00:00
Update.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42922 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
1ff2ddda08
commit
1c5d83c14e
@ -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:
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user