Andrew Pinski has some comments on the issue, see http://gcc.gnu.org/ml/gcc/2004-11/msg00730.html
+===========================GNAT BUG DETECTED==============================+ | 4.0.0 20041122 (experimental) (i686-pc-linux-gnu) GCC error: | | in simplify_gen_subreg, at simplify-rtx.c:3780 | | Error detected at c330001_0.adb:20:1 | Present on both x86 and x86_64. -- Summary: ACATS ICE c330001 simplify-rtx.c:3780 (propagating a constant across a VIEW_CONVERT_EXPR) Product: gcc Version: 4.0.0 Status: UNCONFIRMED Keywords: ice-on-valid-code Severity: normal Priority: P2 Component: ada AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: laurent at guerby dot net CC: gcc-bugs at gcc dot gnu dot org,laurent at guerby dot net http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18658