------- Comment #1 from jakub at gcc dot gnu dot org 2008-04-30 20:25 ------- This wierdo addressing was created by fwprop2, which replaced: In insn 40, replacing (mem/u/c/i:DI (plus:DI (reg/f:DI 129) (const_int 8 [0x8])) [2 S8 A64]) with (mem/u/c/i:DI (plus:DI (reg:DI 2 2) (const:DI (minus:DI (symbol_ref/u:DI ("*.LC1") [flags 0x2]) (const:DI (plus:DI (symbol_ref:DI ("*.LCTOC1")) (const_int -8 [0xfffffffffffffff8])))))) [2 S8 A64]) where (insn 21 20 39 4 t.c:5 (set (reg/f:DI 129) (plus:DI (reg:DI 2 2) (const:DI (minus:DI (symbol_ref/u:DI ("*.LC1") [flags 0x2]) (symbol_ref:DI ("*.LCTOC1")))))) 334 {*movdi_internal64} (expr_list:REG_DEAD (reg:DI 2 2) (expr_list:REG_EQUAL (symbol_ref/u:DI ("*.LC1") [flags 0x2]) (nil))))
-- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36090