projects
/
oota-llvm.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Increase efficiency of sign_extend_inreg by using subregisters for truncation. As...
[oota-llvm.git]
/
lib
/
Target
/
X86
/
README.txt
diff --git
a/lib/Target/X86/README.txt
b/lib/Target/X86/README.txt
index 4648630c974dfc068e046d3103bcf30a83af2cc2..073e2dacef183b26bab7ac32332d4a19f2702471 100644
(file)
--- a/
lib/Target/X86/README.txt
+++ b/
lib/Target/X86/README.txt
@@
-402,9
+402,7
@@
L4:
There are 3 issues:
1. Lack of post regalloc LICM.
There are 3 issues:
1. Lack of post regalloc LICM.
-2. Poor sub-regclass support. That leads to inability to promote the 16-bit
- arithmetic op to 32-bit and making use of leal.
-3. LSR unable to reused IV for a different type (i16 vs. i32) even though
+2. LSR unable to reused IV for a different type (i16 vs. i32) even though
the cast would be free.
//===---------------------------------------------------------------------===//
the cast would be free.
//===---------------------------------------------------------------------===//
@@
-475,21
+473,6
@@
require a copy to be inserted (in X86InstrInfo::convertToThreeAddress).
//===---------------------------------------------------------------------===//
//===---------------------------------------------------------------------===//
-Bad codegen:
-
-char foo(int x) { return x; }
-
-_foo:
- movl 4(%esp), %eax
- shll $24, %eax
- sarl $24, %eax
- ret
-
-SIGN_EXTEND_INREG can be implemented as (sext (trunc)) to take advantage of
-sub-registers.
-
-//===---------------------------------------------------------------------===//
-
Consider this:
typedef struct pair { float A, B; } pair;
Consider this:
typedef struct pair { float A, B; } pair;