diff options
author | Chris Lattner <sabre@nondot.org> | 2006-10-27 22:00:55 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2006-10-27 22:00:55 +0000 |
commit | 4ccf63d8cf2a38fe74556b46dc8e013cc9d6a488 (patch) | |
tree | 16626b57d4d8d92eaa58d20ca86f419d83279540 /lib/Target/PowerPC | |
parent | 9286cd3e9b2854f1a95ce51b81da8db76d462f09 (diff) |
the code in question is now:
cmpw cr0, r7, r3
ble cr0, LBB1_5 ;bb25
LBB1_8: ;bb17
cmpw cr0, r8, r5
bgt cr0, LBB1_2 ;bb
which is just as good as crnand.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31235 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/PowerPC')
-rw-r--r-- | lib/Target/PowerPC/README.txt | 30 |
1 files changed, 0 insertions, 30 deletions
diff --git a/lib/Target/PowerPC/README.txt b/lib/Target/PowerPC/README.txt index 11ad35a56c..d6b6e63e3b 100644 --- a/lib/Target/PowerPC/README.txt +++ b/lib/Target/PowerPC/README.txt @@ -150,36 +150,6 @@ Probably not a win on x86. ===-------------------------------------------------------------------------=== -PowerPC i1/setcc stuff (depends on subreg stuff): - -Check out the PPC code we get for 'compare' in this testcase: -http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19672 - -oof. on top of not doing the logical crnand instead of (mfcr, mfcr, -invert, invert, or), we then have to compare it against zero instead of -using the value already in a CR! - -that should be something like - cmpw cr7, r8, r5 - cmpw cr0, r7, r3 - crnand cr0, cr0, cr7 - bne cr0, LBB_compare_4 - -instead of - cmpw cr7, r8, r5 - cmpw cr0, r7, r3 - mfcr r7, 1 - mcrf cr7, cr0 - mfcr r8, 1 - rlwinm r7, r7, 30, 31, 31 - rlwinm r8, r8, 30, 31, 31 - xori r7, r7, 1 - xori r8, r8, 1 - addi r2, r2, 1 - or r7, r8, r7 - cmpwi cr0, r7, 0 - bne cr0, LBB_compare_4 ; loopexit - FreeBench/mason has a basic block that looks like this: %tmp.130 = seteq int %p.0__, 5 ; <bool> [#uses=1] |