From: sje Date: Wed, 20 Nov 2002 21:52:59 +0000 (+0000) Subject: * emit-rtl.c (gen_reg_rtx): Simplify mapping of Complex type X-Git-Tag: upstream/4.9.2~83319 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=e9e128452a3d56432994b3c226957531096db6fb;p=platform%2Fupstream%2Flinaro-gcc.git * emit-rtl.c (gen_reg_rtx): Simplify mapping of Complex type to component type using GET_MODE_INNER. * expr.c (emit_move_insn_1): Ditto. * optabs.c (expand_binop): Ditto. (expand_unop): Ditto. (expand_complex_abs): Ditto. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@59317 138bc75d-0d04-0410-961f-82ee72b054a4 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 3490380..9dad961 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,12 @@ +2002-11-20 Steve Ellcey + + * emit-rtl.c (gen_reg_rtx): Simplify mapping of Complex type + to component type using GET_MODE_INNER. + * expr.c (emit_move_insn_1): Ditto. + * optabs.c (expand_binop): Ditto. + (expand_unop): Ditto. + (expand_complex_abs): Ditto. + 2002-11-20 Douglas B Rupp * hwint.h (HAVE___INT64): Fix typo (was HAVE__INT64). diff --git a/gcc/emit-rtl.c b/gcc/emit-rtl.c index 2cf4107..0d9be17 100644 --- a/gcc/emit-rtl.c +++ b/gcc/emit-rtl.c @@ -802,12 +802,7 @@ gen_reg_rtx (mode) which makes much better code. Besides, allocating DCmode pseudos overstrains reload on some machines like the 386. */ rtx realpart, imagpart; - int size = GET_MODE_UNIT_SIZE (mode); - enum machine_mode partmode - = mode_for_size (size * BITS_PER_UNIT, - (GET_MODE_CLASS (mode) == MODE_COMPLEX_FLOAT - ? MODE_FLOAT : MODE_INT), - 0); + enum machine_mode partmode = GET_MODE_INNER (mode); realpart = gen_reg_rtx (partmode); imagpart = gen_reg_rtx (partmode); diff --git a/gcc/expr.c b/gcc/expr.c index a185311..8dd9a86 100644 --- a/gcc/expr.c +++ b/gcc/expr.c @@ -3152,11 +3152,7 @@ emit_move_insn_1 (x, y) /* Expand complex moves by moving real part and imag part, if possible. */ else if ((class == MODE_COMPLEX_FLOAT || class == MODE_COMPLEX_INT) - && BLKmode != (submode = mode_for_size ((GET_MODE_UNIT_SIZE (mode) - * BITS_PER_UNIT), - (class == MODE_COMPLEX_INT - ? MODE_INT : MODE_FLOAT), - 0)) + && BLKmode != (submode = GET_MODE_INNER (mode)) && (mov_optab->handlers[(int) submode].insn_code != CODE_FOR_nothing)) { diff --git a/gcc/optabs.c b/gcc/optabs.c index 1551ff8..9da95e1 100644 --- a/gcc/optabs.c +++ b/gcc/optabs.c @@ -1531,10 +1531,7 @@ expand_binop (mode, binoptab, op0, op1, target, unsignedp, methods) int ok = 0; /* Find the correct mode for the real and imaginary parts */ - enum machine_mode submode - = mode_for_size (GET_MODE_UNIT_SIZE (mode) * BITS_PER_UNIT, - class == MODE_COMPLEX_INT ? MODE_INT : MODE_FLOAT, - 0); + enum machine_mode submode = GET_MODE_INNER(mode); if (submode == BLKmode) abort (); @@ -2484,10 +2481,7 @@ expand_unop (mode, unoptab, op0, target, unsignedp) rtx seq; /* Find the correct mode for the real and imaginary parts */ - enum machine_mode submode - = mode_for_size (GET_MODE_UNIT_SIZE (mode) * BITS_PER_UNIT, - class == MODE_COMPLEX_INT ? MODE_INT : MODE_FLOAT, - 0); + enum machine_mode submode = GET_MODE_INNER (mode); if (submode == BLKmode) abort (); @@ -2731,10 +2725,7 @@ expand_complex_abs (mode, op0, target, unsignedp) optab this_abs_optab; /* Find the correct mode for the real and imaginary parts. */ - enum machine_mode submode - = mode_for_size (GET_MODE_UNIT_SIZE (mode) * BITS_PER_UNIT, - class == MODE_COMPLEX_INT ? MODE_INT : MODE_FLOAT, - 0); + enum machine_mode submode = GET_MODE_INNER (mode); if (submode == BLKmode) abort ();