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 /gcc/emit-rtl.c | |
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
Diffstat (limited to 'gcc/emit-rtl.c')
-rw-r--r-- | gcc/emit-rtl.c | 16 |
1 files changed, 16 insertions, 0 deletions
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)) |