From: Aldy Hernandez Date: Mon, 4 Nov 2002 18:39:45 +0000 (+0000) Subject: backport: re PR other/8451 (altivec ice in gcc 3.2) X-Git-Tag: releases/gcc-3.2.1~64 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e2800a7ac600717e9044dacb7806e193042bdd55;p=thirdparty%2Fgcc.git backport: re PR other/8451 (altivec ice in gcc 3.2) 2002-11-04 Aldy Hernandez Backport patch to fix PR c/8451. 2002-04-25 Richard Henderson * expmed.c (extract_bit_field): Fall through to generic code rather than aborting on subreg special case. From-SVN: r58796 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 324a0dbc37ee..b1b7fa4a385f 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,12 @@ +2002-11-04 Aldy Hernandez + + Backport patch to fix PR c/8451. + + 2002-04-25 Richard Henderson + + * expmed.c (extract_bit_field): Fall through to generic code rather + than aborting on subreg special case. + 2002-11-01 Mark Mitchell PR c++/8391 diff --git a/gcc/expmed.c b/gcc/expmed.c index ab127ec6043c..ce893353aa04 100644 --- a/gcc/expmed.c +++ b/gcc/expmed.c @@ -1144,7 +1144,7 @@ extract_bit_field (str_rtx, bitsize, bitnum, unsignedp, /* Else we've got some float mode source being extracted into a different float mode destination -- this combination of subregs results in Severe Tire Damage. */ - abort (); + goto no_subreg_mode_swap; } if (GET_CODE (op0) == REG) op0 = gen_rtx_SUBREG (mode1, op0, byte_offset); @@ -1155,6 +1155,7 @@ extract_bit_field (str_rtx, bitsize, bitnum, unsignedp, return convert_to_mode (tmode, op0, unsignedp); return op0; } + no_subreg_mode_swap: /* Handle fields bigger than a word. */