X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=lib%2FTarget%2FX86%2FREADME.txt;h=073e2dacef183b26bab7ac32332d4a19f2702471;hb=c59e52108bbfca50b23c5d10706484d4b012c344;hp=4648630c974dfc068e046d3103bcf30a83af2cc2;hpb=107f54a0026cfc455252c5a79b4860ace4bbbfc1;p=oota-llvm.git diff --git a/lib/Target/X86/README.txt b/lib/Target/X86/README.txt index 4648630c974..073e2dacef1 100644 --- 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. -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. //===---------------------------------------------------------------------===// @@ -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;