expmed.c (extract_bit_field): allow non-integral modes if we want to extract a whole register from itself.
* expmed.c (extract_bit_field): allow non-integral modes if we want to extract a whole register from itself. From-SVN: r39381
This commit is contained in:
parent
ce662d4c92
commit
aac280fbf0
@ -1,3 +1,8 @@
|
|||||||
|
2001-12-31 DJ Delorie <dj@redhat.com>
|
||||||
|
|
||||||
|
* expmed.c (extract_bit_field): allow non-integral modes if we
|
||||||
|
want to extract a whole register from itself.
|
||||||
|
|
||||||
2001-01-31 Jakub Jelinek <jakub@redhat.com>
|
2001-01-31 Jakub Jelinek <jakub@redhat.com>
|
||||||
|
|
||||||
* c-typeck.c (set_init_index): If first is equal to last, assume as
|
* c-typeck.c (set_init_index): If first is equal to last, assume as
|
||||||
|
@ -1027,6 +1027,15 @@ extract_bit_field (str_rtx, bitsize, bitnum, unsignedp,
|
|||||||
op0 = SUBREG_REG (op0);
|
op0 = SUBREG_REG (op0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (GET_CODE (op0) == REG
|
||||||
|
&& mode == GET_MODE (op0)
|
||||||
|
&& bitnum == 0
|
||||||
|
&& bitsize == GET_MODE_BITSIZE (GET_MODE (op0)))
|
||||||
|
{
|
||||||
|
/* We're trying to extract a full register from itself. */
|
||||||
|
return op0;
|
||||||
|
}
|
||||||
|
|
||||||
/* Make sure we are playing with integral modes. Pun with subregs
|
/* Make sure we are playing with integral modes. Pun with subregs
|
||||||
if we aren't. */
|
if we aren't. */
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user