[Bug tree-optimization/71240] [7 Regression] ICE on valid code at -O2 and above on x86_64-linux-gnu: verify_gimple failed

2016-05-24 Thread rogero at howzatt dot demon.co.uk
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71240 --- Comment #11 from Roger Orr --- Thanks. I can confirm this also successfully compiles the original code from which I derived the simplified example.

[Bug tree-optimization/71240] [7 Regression] ICE on valid code at -O2 and above on x86_64-linux-gnu: verify_gimple failed

2016-05-24 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71240 Richard Biener changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution|---

[Bug tree-optimization/71240] [7 Regression] ICE on valid code at -O2 and above on x86_64-linux-gnu: verify_gimple failed

2016-05-24 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71240 --- Comment #10 from Richard Biener --- Author: rguenth Date: Tue May 24 14:40:35 2016 New Revision: 236644 URL: https://gcc.gnu.org/viewcvs?rev=236644&root=gcc&view=rev Log: 2016-05-24 Richard Biener PR tree-optimization/71240

[Bug tree-optimization/71240] [7 Regression] ICE on valid code at -O2 and above on x86_64-linux-gnu: verify_gimple failed

2016-05-24 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71240 --- Comment #8 from Richard Biener --- I think the main issue is that init_symbolic_number doesn't constrain 'src's type in any way (but blindly uses TYPE_PRECISION for example). That's not going to work for vector types for example. It should

[Bug tree-optimization/71240] [7 Regression] ICE on valid code at -O2 and above on x86_64-linux-gnu: verify_gimple failed

2016-05-24 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71240 Richard Biener changed: What|Removed |Added Status|NEW |ASSIGNED Assignee|unassigned

[Bug tree-optimization/71240] [7 Regression] ICE on valid code at -O2 and above on x86_64-linux-gnu: verify_gimple failed

2016-05-24 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71240 --- Comment #6 from Jakub Jelinek --- Perhaps better testcase that also shows a missed optimization: struct L { unsigned int l[2]; }; union U { double a; struct L l; } u; void foo (double a, struct L *p) { u.a = a; struct L l = u.l, m; m.l

[Bug tree-optimization/71240] [7 Regression] ICE on valid code at -O2 and above on x86_64-linux-gnu: verify_gimple failed

2016-05-23 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71240 --- Comment #5 from Jakub Jelinek --- To be precise, it should instead force it into a temporary SSA_NAME.

[Bug tree-optimization/71240] [7 Regression] ICE on valid code at -O2 and above on x86_64-linux-gnu: verify_gimple failed

2016-05-23 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71240 --- Comment #4 from Jakub Jelinek --- For non-INTEGRAL_TYPE_P guess we need to first VIEW_CONVERT_EXPR it to corresponding integral type. Though, even that looks wrong. src_stmt in this case is _4 = BIT_FIELD_REF ; and bswap_type and load_type a

[Bug tree-optimization/71240] [7 Regression] ICE on valid code at -O2 and above on x86_64-linux-gnu: verify_gimple failed

2016-05-23 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71240 --- Comment #3 from Jakub Jelinek --- Cleaned up testcase: struct L { unsigned int l[2]; }; union U { double a; struct L l; } u; void foo (double a, struct L *p) { u.a = a; struct L l = u.l, m; m.l[0] = 0; m.l[1] = (((l.l[0] & 0xff00

[Bug tree-optimization/71240] [7 Regression] ICE on valid code at -O2 and above on x86_64-linux-gnu: verify_gimple failed

2016-05-23 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71240 Jakub Jelinek changed: What|Removed |Added Status|UNCONFIRMED |NEW Last reconfirmed|