From e90721b1108b9615c0850ecc6527ece38209439e Mon Sep 17 00:00:00 2001 From: Andrew Pinski Date: Fri, 29 Jun 2007 19:20:25 -0700 Subject: [PATCH] emit-rtl.c (init_emit_once): Intilize const_tiny_rtx[0] for complex modes (both int and real). 2007-06-29 Andrew Pinski * emit-rtl.c (init_emit_once): Intilize const_tiny_rtx[0] for complex modes (both int and real). From-SVN: r126136 --- gcc/ChangeLog | 11 ++++++++--- gcc/emit-rtl.c | 16 ++++++++++++++++ 2 files changed, 24 insertions(+), 3 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 105bc1ec295..e203773254b 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,14 +1,19 @@ -2007-06-29 Jan Hubicka +2007-06-29 Andrew Pinski + + * emit-rtl.c (init_emit_once): Intilize const_tiny_rtx[0] + for complex modes (both int and real). + +2007-06-29 Jan Hubicka * cse.c: Rever accidentally comitted TODO_verify_rtl_sharing change. -2007-06-29 Jan Hubicka +2007-06-29 Jan Hubicka PR middle-end/32372 * cse.c (cse_insn): Avoid invalid sharing in between register note and the insn pattern. -2007-06-29 Anatoly Sokolov +2007-06-29 Anatoly Sokolov PR target/32335 * config/avr/avr.c: Include dataflow header file. diff --git a/gcc/emit-rtl.c b/gcc/emit-rtl.c index 2f9ddbf7581..8f99b986ce0 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)) -- 2.30.2