http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53986
Richard Guenther <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Last reconfirmed| |2012-07-17 CC| |rguenth at gcc dot gnu.org Component|middle-end |tree-optimization Summary|missing vrp on bit-mask |missing vrp on bit-mask |test |test, LSHIFT_EXPR not | |handled Ever Confirmed|0 |1 --- Comment #1 from Richard Guenther <rguenth at gcc dot gnu.org> 2012-07-17 09:19:34 UTC --- VRP does not handle LSHIFT like D.1734_10 = (long unsigned int) D.1731_7; csui.1_9 = 1 << D.1734_10; it only handles LSHIFTs with a constant shift amount: Visiting statement: D.1734_10 = (long unsigned int) D.1731_8; Found new range for D.1734_10: [0, 7] Visiting statement: csui.1_9 = 1 << D.1734_10; Found new range for csui.1_9: [0, +INF] Visiting statement: D.1735_11 = csui.1_9 & 145; Found new range for D.1735_11: [0, 145]