https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105314
--- Comment #11 from GCC Commits ---
The master branch has been updated by Maciej W. Rozycki :
https://gcc.gnu.org/g:3e3b9b708d390074f7825401b808e0ed41552c1d
commit r14-8459-g3e3b9b708d390074f7825401b808e0ed41552c1d
Author: Maciej W. Rozycki
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105314
Jakub Jelinek changed:
What|Removed |Added
Status|NEW |RESOLVED
Resolution|---
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105314
--- Comment #9 from CVS Commits ---
The master branch has been updated by Jakub Jelinek :
https://gcc.gnu.org/g:7d31c678d68d7b6820a958584619ca763b0eb9c5
commit r12-8264-g7d31c678d68d7b6820a958584619ca763b0eb9c5
Author: Jakub Jelinek
Date: T
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105314
--- Comment #8 from Christoph Müllner ---
Yes, I was wrong in my previous comment.
Jakub's patch is of course right.
The transformation in noce_try_store_flag_mask() does:
x = cond ? 0 else b // b may be x
==>
target = cond ? 0 : -1; /
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105314
--- Comment #7 from ptomsich at gcc dot gnu.org ---
The transformation for
"""
long func2 (long a, long b, long c)
{
if (c)
a = 0;
else
a = 5;
return a;
}
"""
into
"""
0006 :
6: 00163513
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105314
--- Comment #6 from Christoph Müllner ---
The proposed fix is triggering an invalid transformation.
The pattern we need to transform is:
Convert "if (test) x = 0;" to "x &= -(test == 0);"
If there is an else branch, we can't apply the transf
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105314
--- Comment #5 from ptomsich at gcc dot gnu.org ---
The fix addresses the issue and generates no new failures on small test cases.
Testing against SPEC is still ongoing and I'll report back once that has
completed.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105314
Jakub Jelinek changed:
What|Removed |Added
CC||jakub at gcc dot gnu.org
--- Comment #4