Bug 27474 - [4.2 regression] ICE: tree check: expected ssa_name, have struct_field_tag in verify_ssa, at tree-ssa.c:776
Summary: [4.2 regression] ICE: tree check: expected ssa_name, have struct_field_tag in...
Status: RESOLVED DUPLICATE of bug 26197
Alias: None
Product: gcc
Classification: Unclassified
Component: tree-optimization (show other bugs)
Version: 4.2.0
: P3 normal
Target Milestone: ---
Assignee: Zdenek Dvorak
URL:
Keywords: ice-on-valid-code
Depends on: 26197
Blocks:
  Show dependency treegraph
 
Reported: 2006-05-07 19:29 UTC by Uroš Bizjak
Modified: 2006-08-29 17:04 UTC (History)
13 users (show)

See Also:
Host:
Target:
Build:
Known to work: 4.0.3 4.1.1
Known to fail:
Last reconfirmed: 2006-08-29 14:16:29


Attachments
Reduced cpp testcase (1.27 KB, text/x-c++src)
2006-05-07 19:30 UTC, Uroš Bizjak
Details
test case (1.47 KB, text/plain)
2006-08-19 23:05 UTC, Martin Michlmayr
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Uroš Bizjak 2006-05-07 19:29:35 UTC
This ICE happens during compilation of PovRay-3.6.1 with -msse2 -ftree-vectorize (also on x86_64). The ICE is in express.cpp.

The reduced testcase is attached, this is the failure with -O -ftree-vectorize:
g++ -O -ftree-vectorize -m32 -msse2 reduced.cpp
reduced.cpp: In function ‘void pov::Parse_Num_Factor(double*, int*)’:
reduced.cpp:94: internal compiler error: tree check: expected ssa_name, have struct_field_tag in verify_ssa, at tree-ssa.c:776
Please submit a full bug report,
[etc]

The same failure happens with g++ -O -ftree-vectorize on x86_64.
Comment 1 Uroš Bizjak 2006-05-07 19:30:52 UTC
Created attachment 11396 [details]
Reduced cpp testcase

The testcase, reduced with Delta.
Comment 2 Richard Biener 2006-05-08 07:45:56 UTC
Confirmed.

;; basic block 3, loop depth 0, count 0
;; prev block 2, next block 4
;; pred:       2 [30.0%]  (exec)
;; succ:       5 [50.0%]  (true,exec) 4 [50.0%]  (false,exec)
<L0>:;
#   SFT.19 = V_MAY_DEF <SFT.19>;
#   SFT.20 = V_MAY_DEF <SFT.20>;
#   SFT.21 = V_MAY_DEF <SFT.21>;
#   SMT.29_86 = V_MAY_DEF <SMT.29_91>;
Parse_Float_Param2 (&Val, &Val2);
#   VUSE <SMT.29_86>;
Val.1_15 = Val;
D.2463_16 = ABS_EXPR <Val.1_15>;
if (D.2463_16 > 1.0000000000000000364321973154977415791655470656e-10) goto <L2>; else goto <L1>;
Comment 3 Richard Biener 2006-05-08 07:50:56 UTC
Looks a lot like 26197.
Comment 4 Uroš Bizjak 2006-07-05 10:10:38 UTC
This still fails with current mainline gcc.
Comment 5 Martin Michlmayr 2006-08-19 23:05:43 UTC
Created attachment 12100 [details]
test case

Testcase from application "ser".

Fails on x86_64 with: gcc -ftree-vectorize -O -c
Fails on x86 with:  gcc -ftree-vectorize -O -msse2  -c
Comment 6 Zdenek Dvorak 2006-08-29 14:43:26 UTC
I cannot reproduce the problem with neither of the testcases, neither on i686 nor from x86_64 crosscompiler.  Could you please check whether it did not get fixed in the meantime?
Comment 7 Martin Michlmayr 2006-08-29 14:53:07 UTC
Yes, seems so - fails with 4.2.0 20060721, works with 4.2.0 20060819 on x86_64.
Comment 8 Andrew Pinski 2006-08-29 17:04:00 UTC

*** This bug has been marked as a duplicate of 26197 ***