This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/22077] New: vec_all_eq does not produce good result
- From: "pinskia at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 15 Jun 2005 14:10:28 -0000
- Subject: [Bug target/22077] New: vec_all_eq does not produce good result
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
int foo(vector float x, vector float y) {
if (vec_all_eq(x,y)) return 3245;
else return 12;
}
Right now we produce:
vcmpeqfp. v3,v2,v3
li r3,3245
mfcr r0
rlwinm r0,r0,25,1
cmpwi cr7,r0,0
bnelr+ cr7
li r3,12
blr
But we should be able to produce something like the following:
vcmpeqfp. v3,v2,v3
cmpwi cr6,r0,0
li r3,3245
bnelr+ cr7
li r3,12
blr
This might be because of there is no such thing as BI modes on powerpc but I don't know for sure.
--
Summary: vec_all_eq does not produce good result
Product: gcc
Version: 4.1.0
Status: UNCONFIRMED
Keywords: missed-optimization
Severity: minor
Priority: P2
Component: target
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: pinskia at gcc dot gnu dot org
CC: gcc-bugs at gcc dot gnu dot org
GCC target triplet: powerpc*-*
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22077