diff options
author | Alan Modra <amodra@gmail.com> | 2011-11-05 07:35:46 +1030 |
---|---|---|
committer | Alan Modra <amodra@gcc.gnu.org> | 2011-11-05 07:35:46 +1030 |
commit | c62c54419cf1bcdebbe2313b509e1892b85832d0 (patch) | |
tree | 53b6e7dea7473fd468fa2d51f8e7aa9570360c7b /gcc/reload1.c | |
parent | 7a83e5bc5546183af6934f623a568b11cca63f78 (diff) | |
download | gcc-c62c54419cf1bcdebbe2313b509e1892b85832d0.zip gcc-c62c54419cf1bcdebbe2313b509e1892b85832d0.tar.gz gcc-c62c54419cf1bcdebbe2313b509e1892b85832d0.tar.bz2 |
reload1.c (gen_reload): Don't use REGNO on SUBREGs.
* reload1.c (gen_reload): Don't use REGNO on SUBREGs.
* print-rtl.c (print_rtx): Don't segfault on negative regno.
From-SVN: r180983
Diffstat (limited to 'gcc/reload1.c')
-rw-r--r-- | gcc/reload1.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/gcc/reload1.c b/gcc/reload1.c index 04a839e..c9fb57b 100644 --- a/gcc/reload1.c +++ b/gcc/reload1.c @@ -8601,10 +8601,10 @@ gen_reload (rtx out, rtx in, int opnum, enum reload_type type) rtx loc = get_secondary_mem (in, GET_MODE (out), opnum, type); if (GET_MODE (loc) != GET_MODE (out)) - out = gen_rtx_REG (GET_MODE (loc), REGNO (out)); + out = gen_rtx_REG (GET_MODE (loc), reg_or_subregno (out)); if (GET_MODE (loc) != GET_MODE (in)) - in = gen_rtx_REG (GET_MODE (loc), REGNO (in)); + in = gen_rtx_REG (GET_MODE (loc), reg_or_subregno (in)); gen_reload (loc, in, opnum, type); gen_reload (out, loc, opnum, type); |