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.
Created attachment 11396 [details] Reduced cpp testcase The testcase, reduced with Delta.
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>;
Looks a lot like 26197.
This still fails with current mainline gcc.
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
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?
Yes, seems so - fails with 4.2.0 20060721, works with 4.2.0 20060819 on x86_64.
*** This bug has been marked as a duplicate of 26197 ***