diff options
author | rth <rth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2002-04-26 02:09:21 +0000 |
---|---|---|
committer | rth <rth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2002-04-26 02:09:21 +0000 |
commit | c601dd7db3a109db68bbe1e259dda0ea5ad18975 (patch) | |
tree | 4a931fb3b190e74b7b06146ab1b95ce028e29ffc /gcc/expmed.c | |
parent | a9f2a3a07b7cc0a848ed9314869a16e2f95cb920 (diff) | |
download | gcc-c601dd7db3a109db68bbe1e259dda0ea5ad18975.tar.gz |
PR c/2035
* expmed.c (extract_bit_field): Fall through to generic code rather
than aborting on subreg special case.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@52777 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/expmed.c')
-rw-r--r-- | gcc/expmed.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/expmed.c b/gcc/expmed.c index e60ccbf7924..5a4c24ea68a 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. */ |