------- Comment #9 from jakub at gcc dot gnu dot org 2008-05-01 17:15 ------- Yeah, this would fix this testcase. But I'd say constant_pool_expr_1 or callers need to be adjusted, so that they only accept what print_operand_address can handle. BTW, for: long double foo (void) { return 2.152121340829751328947138941734L; } gcc generates: (insn 24 23 16 x.c:4 (set (reg:DF 34 2 [orig:33 <result>+8 ] [33]) (mem/u/c/i:DF (plus:DI (reg:DI 2 2) (const:DI (plus:DI (minus:DI (symbol_ref/u:DI ("*.LC0") [flags 0x2]) (symbol_ref:DI ("*.LCTOC1"))) (const_int 8 [0x8])))) [2 S8 A64])) 322 {*movdf_hardfloat64} (expr_list:REG_DEAD (reg:DI 2 2) (nil))) and emits lfd 2,[EMAIL PROTECTED](2)
-- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36090