http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55198
--- Comment #3 from John David Anglin <danglin at gcc dot gnu.org> 2012-11-22 03:13:32 UTC --- In expand_expr_real: (gdb) p debug_rtx (orig_op0) (mem/c:BLK (plus:SI (reg/f:SI 91 virtual-stack-vars) (const_int 48 [0x30])) [6 v+0 S16 A64]) $25 = 10 (gdb) p debug_rtx (op0) (mem/c:BLK (plus:SI (reg/f:SI 91 virtual-stack-vars) (const_int 48 [0x30])) [6 v+0 S16 A64]) $26 = 10 (gdb) p mode1 $27 = TFmode (gdb) p must_force_mem $28 = 1 (gdb) p offset $29 = (tree) 0x0 (gdb) p mode2 $30 = BLKmode (gdb) p bitpos $31 = 0 (gdb) p bitsize $32 = 128 (gdb) p modifier $41 = EXPAND_MEMORY (gdb) p target $42 = (rtx) 0x0 (gdb) p ext_mode $43 = TFmode (gdb) bt #0 _Z18expand_expr_real_1P9tree_nodeP7rtx_def12machine_mode15expand_modifierPS2_ (exp=0x7af2d2a0, target=0x0, tmode=VOIDmode, modifier=EXPAND_MEMORY, alt_rtl=0x0) at ../../gcc/gcc/expr.c:10006 #1 0x0045c3b8 in _Z16expand_expr_realP9tree_nodeP7rtx_def12machine_mode15expand_modifierPS2_ (exp=0x7af2d2a0, target=0x0, tmode=VOIDmode, modifier=EXPAND_MEMORY, alt_rtl=0x0) at ../../gcc/gcc/expr.c:7816 #2 0x0092f538 in _ZL11expand_exprP9tree_nodeP7rtx_def12machine_mode15expand_modifier (exp=0x7af2d2a0, target=0x0, mode=VOIDmode, modifier=EXPAND_MEMORY) at ../../gcc/gcc/expr.h:444 #3 0x00933588 in _ZL19expand_asm_operandsP9tree_nodeS0_S0_S0_S0_ij ( string=0x7af6cf78, outputs=0x0, inputs=0x7af2e288, clobbers=0x0, labels=0x0, vol=1, locus=2147483912) at ../../gcc/gcc/stmt.c:890 #4 0x00934698 in _Z15expand_asm_stmtP18gimple_statement_d (stmt=0x7af3c7e0) at ../../gcc/gcc/stmt.c:1153 #5 0x0028ad94 in _ZL20expand_gimple_stmt_1P18gimple_statement_d ( stmt=0x7af3c7e0) at ../../gcc/gcc/cfgexpand.c:2150 #6 0x0028b554 in _ZL18expand_gimple_stmtP18gimple_statement_d ( stmt=0x7af3c7e0) at ../../gcc/gcc/cfgexpand.c:2305 #7 0x00292b8c in _ZL25expand_gimple_basic_blockP15basic_block_defb ( bb=0x7af42b00, disable_tail_calls=false) at ../../gcc/gcc/cfgexpand.c:4084 #8 0x00294ecc in gimple_expand_cfg() () at ../../gcc/gcc/cfgexpand.c:4603 #9 0x007ddd44 in _Z16execute_one_passP8opt_pass ( pass=0x40033b20 <pass_expand>) at ../../gcc/gcc/passes.c:2327 ---Type <return> to continue, or q <return> to quit--- #10 0x007de108 in _Z17execute_pass_listP8opt_pass ( pass=0x40033b20 <pass_expand>) at ../../gcc/gcc/passes.c:2387 #11 0x002d6130 in _ZL15expand_functionP11cgraph_node (node=0x7aed22a0) at ../../gcc/gcc/cgraphunit.c:1641 #12 0x002d6718 in _ZL20expand_all_functionsv () at ../../gcc/gcc/cgraphunit.c:1745 #13 0x002d7734 in _Z7compilev () at ../../gcc/gcc/cgraphunit.c:2043 #14 0x002d79ac in finalize_compilation_unit() () at ../../gcc/gcc/cgraphunit.c:2120 #15 0x00079300 in _Z27c_write_global_declarationsv () at ../../gcc/gcc/c/c-decl.c:10120 #16 0x00957404 in _ZL12compile_filev () at ../../gcc/gcc/toplev.c:559 #17 0x0095abbc in _ZL10do_compilev () at ../../gcc/gcc/toplev.c:1881 #18 0x0095aed0 in _Z11toplev_mainiPPc (argc=14, argv=0x7eff052c) at ../../gcc/gcc/toplev.c:1957 #19 0x00dc62c4 in main (argc=14, argv=0x7eff052c) at ../../gcc/gcc/main.c:36 (gdb) c Continuing. Breakpoint 9, _Z18expand_expr_real_1P9tree_nodeP7rtx_def12machine_mode15expand_modifierPS2_ (exp=0x7af2d2a0, target=0x0, tmode=VOIDmode, modifier=EXPAND_MEMORY, alt_rtl=0x0) at ../../gcc/gcc/expr.c:10011 10011 if (TREE_CODE (type) == RECORD_TYPE && BYTES_BIG_ENDIAN (gdb) p debug_rtx (op0) (reg:TF 767) $44 = 10 Think the problem is this asm operand is being treated as bitfield.