expmed.c (store_bit_field): Make the SUBREG code adjust bitnum.
authorRichard Sandiford <rsandifo@redhat.com>
Sun, 6 Feb 2005 15:39:07 +0000 (15:39 +0000)
committerRichard Sandiford <rsandifo@gcc.gnu.org>
Sun, 6 Feb 2005 15:39:07 +0000 (15:39 +0000)
commit2c58f7dde2bdb003105479ffe316cb7935b711c3
tree35c1f52210b03c333c66629497b389e5fbd9aefc
parent55c4ae3f3a80eda3855ccc64fa3064347a1dda01
expmed.c (store_bit_field): Make the SUBREG code adjust bitnum.

* expmed.c (store_bit_field): Make the SUBREG code adjust bitnum.
Set bitpos and offset later in the function.  Do nothing if the
target is a register and if the bitfield lies completely outside
that register.
(extract_bit_field): Make the same SUBREG, bitpos and offset changes
here.  Return an uninitialised register if the source value is stored
in a register and the bitfield lies completely outside that register.

From-SVN: r94677
gcc/ChangeLog
gcc/expmed.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.c-torture/compile/20050206-1.c [new file with mode: 0644]