diff options
author | Andrew Lenharth <andrewl@lenharth.org> | 2006-06-04 00:25:51 +0000 |
---|---|---|
committer | Andrew Lenharth <andrewl@lenharth.org> | 2006-06-04 00:25:51 +0000 |
commit | a5cc38bcbda5977d130837bff04f60c61ddee29f (patch) | |
tree | 997a85fb4df43c1226b670863e797a7454f1e431 /lib/Target/Alpha/README.txt | |
parent | 9e1c1ddd4b514731236c0c24184ae194fb4d3706 (diff) | |
download | llvm-a5cc38bcbda5977d130837bff04f60c61ddee29f.tar.gz llvm-a5cc38bcbda5977d130837bff04f60c61ddee29f.tar.bz2 llvm-a5cc38bcbda5977d130837bff04f60c61ddee29f.tar.xz |
ignore ordered/unordered for now
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28679 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/Alpha/README.txt')
-rw-r--r-- | lib/Target/Alpha/README.txt | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/lib/Target/Alpha/README.txt b/lib/Target/Alpha/README.txt new file mode 100644 index 0000000000..2d1909a42c --- /dev/null +++ b/lib/Target/Alpha/README.txt @@ -0,0 +1,33 @@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +Fix Ordered/Unordered FP stuff + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +improve bytezap opertunities +ulong %foo(ulong %y) { +entry: + %tmp = and ulong %y, 65535 + %tmp2 = shr ulong %tmp, ubyte 3 + ret ulong %tmp2 +} + + +compiles to a 3 instruction sequence without instcombine + zapnot $16,3,$0 + srl $0,3,$0 + ret $31,($26),1 + +After instcombine you get +ulong %foo(ulong %y) { +entry: + %tmp = shr ulong %y, ubyte 3 ; <ulong> [#uses=1] + %tmp2 = and ulong %tmp, 8191 ; <ulong> [#uses=1] + ret ulong %tmp2 +} + +which compiles to + lda $0,8191($31) + srl $16,3,$1 + and $1,$0,$0 + ret $31,($26),1 + |