public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug tree-optimization/66423] New: a % (1 << b) no longer gets folded to a & (1 << b) for unsigned a and b
@ 2015-06-04 22:24 ppalka at gcc dot gnu.org
2015-06-05 4:02 ` [Bug tree-optimization/66423] [6 Regression] a % (1 << b) no longer gets folded to a & (1 << b) for unsigned a glisse at gcc dot gnu.org
` (2 more replies)
0 siblings, 3 replies; 4+ messages in thread
From: ppalka at gcc dot gnu.org @ 2015-06-04 22:24 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66423
Bug ID: 66423
Summary: a % (1 << b) no longer gets folded to a & (1 << b) for
unsigned a and b
Product: gcc
Version: 6.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: tree-optimization
Assignee: unassigned at gcc dot gnu.org
Reporter: ppalka at gcc dot gnu.org
Target Milestone: ---
Test case:
unsigned int
my_mod (unsigned int a, unsigned int b)
{
return a % (1 << b);
}
no longer gets folded to a & (1 << b).
I have not done a bisection but it may be that r223690 is the cause.
^ permalink raw reply [flat|nested] 4+ messages in thread
* [Bug tree-optimization/66423] [6 Regression] a % (1 << b) no longer gets folded to a & (1 << b) for unsigned a
2015-06-04 22:24 [Bug tree-optimization/66423] New: a % (1 << b) no longer gets folded to a & (1 << b) for unsigned a and b ppalka at gcc dot gnu.org
@ 2015-06-05 4:02 ` glisse at gcc dot gnu.org
2015-06-08 10:48 ` rguenth at gcc dot gnu.org
2015-06-09 12:32 ` rguenth at gcc dot gnu.org
2 siblings, 0 replies; 4+ messages in thread
From: glisse at gcc dot gnu.org @ 2015-06-05 4:02 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66423
Marc Glisse <glisse at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Last reconfirmed| |2015-06-05
Target Milestone|--- |6.0
Summary|a % (1 << b) no longer gets |[6 Regression] a % (1 << b)
|folded to a & (1 << b) for |no longer gets folded to a
|unsigned a and b |& (1 << b) for unsigned a
Ever confirmed|0 |1
--- Comment #1 from Marc Glisse <glisse at gcc dot gnu.org> ---
a % (unsigned int) (1 << b)
The pattern in match.pd seems to be missing a 'convert' case.
^ permalink raw reply [flat|nested] 4+ messages in thread
* [Bug tree-optimization/66423] [6 Regression] a % (1 << b) no longer gets folded to a & (1 << b) for unsigned a
2015-06-04 22:24 [Bug tree-optimization/66423] New: a % (1 << b) no longer gets folded to a & (1 << b) for unsigned a and b ppalka at gcc dot gnu.org
2015-06-05 4:02 ` [Bug tree-optimization/66423] [6 Regression] a % (1 << b) no longer gets folded to a & (1 << b) for unsigned a glisse at gcc dot gnu.org
@ 2015-06-08 10:48 ` rguenth at gcc dot gnu.org
2015-06-09 12:32 ` rguenth at gcc dot gnu.org
2 siblings, 0 replies; 4+ messages in thread
From: rguenth at gcc dot gnu.org @ 2015-06-08 10:48 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66423
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |ASSIGNED
Assignee|unassigned at gcc dot gnu.org |rguenth at gcc dot gnu.org
--- Comment #3 from Richard Biener <rguenth at gcc dot gnu.org> ---
Mine.
^ permalink raw reply [flat|nested] 4+ messages in thread
* [Bug tree-optimization/66423] [6 Regression] a % (1 << b) no longer gets folded to a & (1 << b) for unsigned a
2015-06-04 22:24 [Bug tree-optimization/66423] New: a % (1 << b) no longer gets folded to a & (1 << b) for unsigned a and b ppalka at gcc dot gnu.org
2015-06-05 4:02 ` [Bug tree-optimization/66423] [6 Regression] a % (1 << b) no longer gets folded to a & (1 << b) for unsigned a glisse at gcc dot gnu.org
2015-06-08 10:48 ` rguenth at gcc dot gnu.org
@ 2015-06-09 12:32 ` rguenth at gcc dot gnu.org
2 siblings, 0 replies; 4+ messages in thread
From: rguenth at gcc dot gnu.org @ 2015-06-09 12:32 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66423
--- Comment #5 from Richard Biener <rguenth at gcc dot gnu.org> ---
Author: rguenth
Date: Tue Jun 9 12:31:43 2015
New Revision: 224279
URL: https://gcc.gnu.org/viewcvs?rev=224279&root=gcc&view=rev
Log:
2015-06-09 Richard Biener <rguenther@suse.de>
PR middle-end/66423
* match.pd: Handle A % (unsigned)(1 << B).
* gcc.dg/fold-modpow2.c: New testcase.
Added:
trunk/gcc/testsuite/gcc.dg/fold-modpow2.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/match.pd
trunk/gcc/testsuite/ChangeLog
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2015-06-09 12:32 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-06-04 22:24 [Bug tree-optimization/66423] New: a % (1 << b) no longer gets folded to a & (1 << b) for unsigned a and b ppalka at gcc dot gnu.org
2015-06-05 4:02 ` [Bug tree-optimization/66423] [6 Regression] a % (1 << b) no longer gets folded to a & (1 << b) for unsigned a glisse at gcc dot gnu.org
2015-06-08 10:48 ` rguenth at gcc dot gnu.org
2015-06-09 12:32 ` rguenth at gcc dot gnu.org
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).