http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55730
--- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> 2012-12-18 14:51:11 UTC --- Reduced with a cross from x86_64 configured with --target=powerpc64-suse-linux --with-cpu-64=power4 --enable-secureplt --with-long-double-128 --enable-languages=c,c++ typedef int GLint; typedef unsigned char GLubyte; typedef unsigned short GLushort; typedef float GLfloat; typedef union { GLfloat f; GLint i; } fi_type; void pack_float_GR88 (void *dst) { GLushort *d = ((GLushort *) dst); GLubyte r, g; fi_type __tmp; if (__tmp.i < 0) g = (GLubyte) 0; else { __tmp.f = __tmp.f * (255.0F/256.0F) + 32768.0F; g = (GLubyte) __tmp.i; } *d = (((g) << 8) | (r)); } > ./cc1 -fpreprocessed format_pack.3.i -msecure-plt -quiet -mcpu=power4 -g -O2 (clobber:QI (const_int 0 [0]))format_pack.3.i: In function 'pack_float_GR88': format_pack.3.i:22:1: internal compiler error: in mem_loc_descriptor, at dwarf2out.c:12729 } ^ 0x76b280 mem_loc_descriptor(rtx_def*, machine_mode, machine_mode, var_init_status) /space/rguenther/src/svn/trunk/gcc/dwarf2out.c:12729 0x76c090 loc_descriptor /space/rguenther/src/svn/trunk/gcc/dwarf2out.c:13068 0x76b85a loc_descriptor /space/rguenther/src/svn/trunk/gcc/dwarf2out.c:12894 0x76c4c4 dw_loc_list_1 /space/rguenther/src/svn/trunk/gcc/dwarf2out.c:13167 0x76cc5c dw_loc_list /space/rguenther/src/svn/trunk/gcc/dwarf2out.c:13423 0x76dab1 loc_list_from_tree /space/rguenther/src/svn/trunk/gcc/dwarf2out.c:13808 0x771ea7 add_location_or_const_value_attribute /space/rguenther/src/svn/trunk/gcc/dwarf2out.c:15302 0x77a85b gen_variable_die /space/rguenther/src/svn/trunk/gcc/dwarf2out.c:18415 0x77fbce gen_decl_die /space/rguenther/src/svn/trunk/gcc/dwarf2out.c:20051 0x77e3aa process_scope_var /space/rguenther/src/svn/trunk/gcc/dwarf2out.c:19595 0x77e416 decls_for_scope /space/rguenther/src/svn/trunk/gcc/dwarf2out.c:19617 0x779393 gen_subprogram_die /space/rguenther/src/svn/trunk/gcc/dwarf2out.c:18004 0x77f84d gen_decl_die /space/rguenther/src/svn/trunk/gcc/dwarf2out.c:19984 0x780836 dwarf2out_decl(tree_node*) /space/rguenther/src/svn/trunk/gcc/dwarf2out.c:20366 0x780870 dwarf2out_function_decl /space/rguenther/src/svn/trunk/gcc/dwarf2out.c:20374 0x7e6ccc rest_of_handle_final /space/rguenther/src/svn/trunk/gcc/final.c:4302 Please submit a full bug report, with preprocessed source if appropriate. Please include the complete backtrace with any bug report. See <http://gcc.gnu.org/bugs.html> for instructions.