From e2800a7ac600717e9044dacb7806e193042bdd55 Mon Sep 17 00:00:00 2001 From: Aldy Hernandez Date: Mon, 4 Nov 2002 18:39:45 +0000 Subject: [PATCH] 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 --- gcc/ChangeLog | 9 +++++++++ gcc/expmed.c | 3 ++- 2 files changed, 11 insertions(+), 1 deletion(-) 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. */ -- 2.47.2