diff options
author | Evan Cheng <evan.cheng@apple.com> | 2006-02-25 10:04:07 +0000 |
---|---|---|
committer | Evan Cheng <evan.cheng@apple.com> | 2006-02-25 10:04:07 +0000 |
commit | 53f280a30e4729398de9c90f3c8694bcf0a703a3 (patch) | |
tree | 19431c4f12daba54bd65879eacc171dcc28ed873 | |
parent | 71fb834b505140cbd0fe8a87fb2ce172fd98cce7 (diff) |
Updates.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26375 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | lib/Target/X86/README.txt | 23 |
1 files changed, 3 insertions, 20 deletions
diff --git a/lib/Target/X86/README.txt b/lib/Target/X86/README.txt index 941d52294b..6c9a235ebb 100644 --- a/lib/Target/X86/README.txt +++ b/lib/Target/X86/README.txt @@ -157,6 +157,7 @@ aren't. Use push/pop instructions in prolog/epilog sequences instead of stores off ESP (certain code size win, perf win on some [which?] processors). +Also, it appears icc use push for parameter passing. Need to investigate. //===---------------------------------------------------------------------===// @@ -411,22 +412,6 @@ void clearbit(int *target, int bit) { //===---------------------------------------------------------------------===// -Easy: Global addresses are not always allowed as immediates. For this: - -int dst = 0; int *ptr = 0; -void foo() { ptr = &dst; } - -we get this: - -_foo: - movl $_dst, %eax - movl %eax, _ptr - ret - -When: "movl $_dst, _ptr" is sufficient. - -//===---------------------------------------------------------------------===// - Instead of the following for memset char*, 1, 10: movl $16843009, 4(%edx) @@ -505,10 +490,6 @@ and ISD::FMAX node types? //===---------------------------------------------------------------------===// -Select (add, x, GlobalAddress) to ADD32ri, etc. when it's appropriate. - -//===---------------------------------------------------------------------===// - The first BB of this code: declare bool %foo() @@ -533,4 +514,6 @@ _bar: It would be better to emit "cmp %al, 1" than a xor and test. +//===---------------------------------------------------------------------===// +Enable X86InstrInfo::convertToThreeAddress(). |