diff options
author | Andrew Pinski <pinskia@gcc.gnu.org> | 2007-06-29 19:20:25 -0700 |
---|---|---|
committer | Andrew Pinski <pinskia@gcc.gnu.org> | 2007-06-29 19:20:25 -0700 |
commit | e90721b1108b9615c0850ecc6527ece38209439e (patch) | |
tree | cc22b98b0ffb69dc9f8287199c53a57ce748d808 | |
parent | eb51830fcdfe33ce43697188e29cdc59ae4c7750 (diff) | |
download | gcc-e90721b1108b9615c0850ecc6527ece38209439e.zip gcc-e90721b1108b9615c0850ecc6527ece38209439e.tar.gz gcc-e90721b1108b9615c0850ecc6527ece38209439e.tar.bz2 |
emit-rtl.c (init_emit_once): Intilize const_tiny_rtx[0] for complex modes (both int and real).
2007-06-29 Andrew Pinski <andrew_pinski@playstation.sony.com>
* emit-rtl.c (init_emit_once): Intilize const_tiny_rtx[0]
for complex modes (both int and real).
From-SVN: r126136
-rw-r--r-- | gcc/ChangeLog | 11 | ||||
-rw-r--r-- | gcc/emit-rtl.c | 16 |
2 files changed, 24 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 105bc1e..e203773 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,14 +1,19 @@ -2007-06-29 Jan Hubicka <jh@suse.cz> +2007-06-29 Andrew Pinski <andrew_pinski@playstation.sony.com> + + * emit-rtl.c (init_emit_once): Intilize const_tiny_rtx[0] + for complex modes (both int and real). + +2007-06-29 Jan Hubicka <jh@suse.cz> * cse.c: Rever accidentally comitted TODO_verify_rtl_sharing change. -2007-06-29 Jan Hubicka <jh@suse.cz> +2007-06-29 Jan Hubicka <jh@suse.cz> PR middle-end/32372 * cse.c (cse_insn): Avoid invalid sharing in between register note and the insn pattern. -2007-06-29 Anatoly Sokolov <aesok@post.ru> +2007-06-29 Anatoly Sokolov <aesok@post.ru> PR target/32335 * config/avr/avr.c: Include dataflow header file. diff --git a/gcc/emit-rtl.c b/gcc/emit-rtl.c index 2f9ddbf..8f99b98 100644 --- a/gcc/emit-rtl.c +++ b/gcc/emit-rtl.c @@ -5219,6 +5219,22 @@ init_emit_once (int line_numbers) const_tiny_rtx[i][(int) mode] = GEN_INT (i); } + for (mode = GET_CLASS_NARROWEST_MODE (MODE_COMPLEX_INT); + mode != VOIDmode; + mode = GET_MODE_WIDER_MODE (mode)) + { + rtx inner = const_tiny_rtx[0][(int)GET_MODE_INNER (mode)]; + const_tiny_rtx[0][(int) mode] = gen_rtx_CONCAT (mode, inner, inner); + } + + for (mode = GET_CLASS_NARROWEST_MODE (MODE_COMPLEX_FLOAT); + mode != VOIDmode; + mode = GET_MODE_WIDER_MODE (mode)) + { + rtx inner = const_tiny_rtx[0][(int)GET_MODE_INNER (mode)]; + const_tiny_rtx[0][(int) mode] = gen_rtx_CONCAT (mode, inner, inner); + } + for (mode = GET_CLASS_NARROWEST_MODE (MODE_VECTOR_INT); mode != VOIDmode; mode = GET_MODE_WIDER_MODE (mode)) |