This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: patch: emit_group_* handle floats
Aldy Hernandez <aldyh@redhat.com> writes:
> I don't have an Ada compiler to test this. Could you put a debug_rtx
> in emit_group_{store,load} and print src and dst respectively?
Breakpoint 7, emit_group_store (orig_dst=0x2000000000447820,
src=0x200000000062a590, type=0x20000000003f8700, ssize=32) at
expr.c:1755
1755 emit_group_store (dst, src, type, ssize);
$8 = 0x200000000062a590
(parallel:XC [
(expr_list:REG_DEP_TRUE (reg:XF 136 f8 [ x ])
(const_int 0 [0x0]))
(expr_list:REG_DEP_TRUE (reg:XF 137 f9 [ x+16 ])
(const_int 16 [0x10]))
])
$9 = 0x2000000000447840
(reg:OI 349)
(gdb) c
Continuing.
Breakpoint 9, emit_group_load (dst=0x200000000062a5f0,
orig_src=0x200000000042c420, type=0x20000000003f8700, ssize=32)
at expr.c:1593
1593 if (XEXP (XVECEXP (dst, 0, 0), 0))
$10 = 0x200000000042c420
(reg:OI 353)
$11 = 0x200000000062a5f0
(parallel:XC [
(expr_list:REG_DEP_TRUE (reg:XF 136 f8)
(const_int 0 [0x0]))
(expr_list:REG_DEP_TRUE (reg:XF 137 f9)
(const_int 16 [0x10]))
])
(gdb)
Continuing.
Breakpoint 9, emit_group_load (dst=0x200000000062a750,
orig_src=0x200000000042cfa0, type=0x20000000003f8700, ssize=32)
at expr.c:1593
1593 if (XEXP (XVECEXP (dst, 0, 0), 0))
$12 = 0x200000000042cfa0
(reg:OI 358)
$13 = 0x200000000062a750
(parallel:XC [
(expr_list:REG_DEP_TRUE (reg:XF 136 f8)
(const_int 0 [0x0]))
(expr_list:REG_DEP_TRUE (reg:XF 137 f9)
(const_int 16 [0x10]))
])
(gdb)
Continuing.
Breakpoint 7, emit_group_store (orig_dst=0x200000000042e440,
src=0x200000000062a970, type=0x20000000003f8460, ssize=32) at expr.c:1755
1755 emit_group_store (dst, src, type, ssize);
$14 = 0x200000000062a970
(parallel:XC [
(expr_list:REG_DEP_TRUE (reg:XF 136 f8)
(const_int 0 [0x0]))
(expr_list:REG_DEP_TRUE (reg:XF 137 f9)
(const_int 16 [0x10]))
])
$15 = 0x200000000042e4a0
(reg:OI 364)
(gdb)
Continuing.
Breakpoint 9, emit_group_load (dst=0x200000000062a550,
orig_src=0x200000000042ef80, type=0x20000000003f8460, ssize=32)
at expr.c:1593
1593 if (XEXP (XVECEXP (dst, 0, 0), 0))
$16 = 0x200000000042ef80
(reg:OI 374)
$17 = 0x200000000062a550
(parallel:XC [
(expr_list:REG_DEP_TRUE (reg:XF 345 [ <result> ])
(const_int 0 [0x0]))
(expr_list:REG_DEP_TRUE (reg:XF 346 [ <result>+16 ])
(const_int 16 [0x10]))
])
(gdb)
Continuing.
Breakpoint 1, fancy_abort (file=0x4000000000e042f8 "insn-emit.c", line=2393,
function=0x6000000000023ed8 "gen_movxf") at diagnostic.c:556
556 internal_error ("in %s, at %s:%d", function, trim_filename (file), line);
(gdb) up
#1 0x40000000009d3f40 in gen_movxf (operand0=0x2000000000447a00,
operand1=0x20000000003e27a0) at insn-emit.c:2393
2393 abort ();
(gdb) p operand0
$18 = 0x2000000000447a00
(gdb) pr
(subreg:XF (reg:OI 14 r14 [orig:352 x ] [352]) 0)
(gdb) p operand1
$19 = 0x20000000003e27a0
(gdb) pr
(reg:XF 134 f6)
Andreas.
--
Andreas Schwab, SuSE Labs, schwab@suse.de
SuSE Linux AG, Maxfeldstraße 5, 90409 Nürnberg, Germany
Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5
"And now for something completely different."