This may be related to PR c++/37553. I have a new testcase (will attach) that triggers a different ICE on today's trunk GCC:
longs2.cpp: In function 'Record* GetEntry(Context*)': longs2.cpp:182: error: statement makes a memory store, but has no VDEFS VIEW_CONVERT_EXPR<union u_u64>(c64_76).u.lo32.u.lo16.u.lo8 = D.1947_8; longs2.cpp:182: internal compiler error: verify_ssa failed Please submit a full bug report, with preprocessed source if appropriate. See <http://gcc.gnu.org/bugs.html> for instructions. (-O1 or higher is required to see this). -- Summary: ICE: statement makes a memory store, but has no VDEFS Product: gcc Version: 4.4.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: patrakov at gmail dot com GCC build triplet: i686-pc-linux-gnu GCC host triplet: i686-pc-linux-gnu GCC target triplet: i686-pc-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38745