https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90693
Andrew Pinski changed:
What|Removed |Added
Target Milestone|--- |15.0
Resolution|---
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90693
--- Comment #15 from GCC Commits ---
The trunk branch has been updated by Andrew Pinski :
https://gcc.gnu.org/g:75a4143d69a842d691c14a477b0ba277d8708fc7
commit r15-3550-g75a4143d69a842d691c14a477b0ba277d8708fc7
Author: Andrew Pinski
Date: Th
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90693
Andrew Pinski changed:
What|Removed |Added
Assignee|wilco at gcc dot gnu.org |pinskia at gcc dot
gnu.org
--- C
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90693
--- Comment #13 from Andrew Pinski ---
(In reply to Andrew Pinski from comment #12)
> (In reply to Piotr Siupa from comment #11)
> > However, I've noticed that:
> > bool foo(unsigned x)
> > {
> > if (x == 0)
> > return true;
> > e
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90693
--- Comment #12 from Andrew Pinski ---
(In reply to Piotr Siupa from comment #11)
> However, I've noticed that:
> bool foo(unsigned x)
> {
> if (x == 0)
> return true;
> else
> return std::has_single_bit(x);
> }
Oh that
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90693
--- Comment #11 from Piotr Siupa ---
Thanks! Now the generated assembly is one instruction shorter.
It works for:
bool foo(unsigned x)
{
[[assume(x != 0)]];
return std::has_single_bit(x);
}
and for:
bool foo(unsigned x)
{
if (x == 0)
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90693
--- Comment #10 from GCC Commits ---
The master branch has been updated by Jakub Jelinek :
https://gcc.gnu.org/g:0152637c74c9eab7658483b1cca4e3d584dd4262
commit r14-6940-g0152637c74c9eab7658483b1cca4e3d584dd4262
Author: Jakub Jelinek
Date: F
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90693
--- Comment #9 from Jakub Jelinek ---
Created attachment 56984
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=56984&action=edit
gcc14-pr90693.patch
Untested patch to do that.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90693
Piotr Siupa changed:
What|Removed |Added
CC||piotrsiupa at gmail dot com
--- Comment #8
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90693
Jakub Jelinek changed:
What|Removed |Added
CC||jakub at gcc dot gnu.org
--- Comment #7
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90693
--- Comment #6 from Wilco ---
Thanks Jakub - with the 2nd patch we get the expected sequence on AArch64:
sub x1, x0, #1
eor x0, x0, x1
cmp x0, x1
csetx0, hi
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90693
--- Comment #5 from CVS Commits ---
The master branch has been updated by Jakub Jelinek :
https://gcc.gnu.org/g:103a3966bc7b68f91b6cd3c5beb330c4b8570c90
commit r14-5613-g103a3966bc7b68f91b6cd3c5beb330c4b8570c90
Author: Jakub Jelinek
Date: Mo
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90693
--- Comment #4 from CVS Commits ---
The master branch has been updated by Jakub Jelinek :
https://gcc.gnu.org/g:d0b6b7f8a6b8115b033441590a6304fb088d193c
commit r14-5612-gd0b6b7f8a6b8115b033441590a6304fb088d193c
Author: Jakub Jelinek
Date: Mo
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90693
Andrew Pinski changed:
What|Removed |Added
Severity|normal |enhancement
Keywords|
14 matches
Mail list logo