This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
gcc/expmed.c 1.63->1.64
- To: Richard Henderson <rth at cygnus dot com>
- Subject: gcc/expmed.c 1.63->1.64
- From: Craig Newell <craign at ieee dot org>
- Date: Sun, 24 Sep 2000 21:08:39 -0400 (EDT)
- cc: gcc-bugs at gcc dot gnu dot org
Hi There,
I have finally got around to tracking down what has been generating
incorrect code on the ARM with the latest CVS gcc builds. After a about
14 clean gcc builds, it appears that your change to gcc/expmed.c has
broken at least the ARM port (and probably all other ports that have
limitations on word alignment). So here is the commit that broke things:
2000-09-15 Richard Henderson <rth@cygnus.com>
* expmed.c (store_bit_field): Consider naturally aligned
memory for direct reference.
revision 1.64
date: 2000/09/15 11:13:04; author: rth; state: Exp; lines: +15 -12
branches: 1.64.2;
* expmed.c (store_bit_field): Consider naturally aligned
memory for direct reference.
The test case that I am using on the ARM is:
---- test.c ----
typedef struct s {
unsigned short a __attribute__ ((packed));
unsigned int b __attribute__ ((packed));
} s __attribute__ ((packed));
s t;
void
f(unsigned int b)
{
t.b = b;
}
----------------
This will generate a word store at a non-aligned address no matter what
options you give gcc.
Thanks,
CraigN
--
Craig Newell email: CraigN@ieee.org
Free Spirit icbm: N 42°38'47" W 71°18'19"