From 4ccf63d8cf2a38fe74556b46dc8e013cc9d6a488 Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Fri, 27 Oct 2006 22:00:55 +0000 Subject: [PATCH] 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 --- lib/Target/PowerPC/README.txt | 30 ------------------------------ 1 file changed, 30 deletions(-) diff --git a/lib/Target/PowerPC/README.txt b/lib/Target/PowerPC/README.txt index 11ad35a56cb..d6b6e63e3b4 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 ; [#uses=1]