Message ID | 52CEDDA0.5060408@arm.com |
---|---|
State | New |
Headers | show |
On 09/01/14 17:34, Kyrill Tkachov wrote: > Hi all, > > After my CRC32 intrinsics patch that added new entries into the bdesc_2arg > table, the arm_init_iwmmxt_builtins function tries to iterate over them and > blows up, causing an ICE when trying to compile with -mcpu=iwmmxt. > > This patch fixes that by ignoring the non-iwmmxt entries in that table when > initialising the iwmmxt builtins. > > > With this patch the gcc.target/arm/mmx-2.c comes back and PASSes. > > Tested arm-none-eabi on qemu. > > Ok for trunk? > > Thanks, > Kyrill > > > 2014-01-09 Kyrylo Tkachov <kyrylo.tkachov@arm.com> > > * config/arm/arm.c (arm_init_iwmmxt_builtins): Skip > non-iwmmxt builtins. > > OK. R.
diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c index c8bf7c1..842d67f 100644 --- a/gcc/config/arm/arm.c +++ b/gcc/config/arm/arm.c @@ -24244,7 +24244,7 @@ arm_init_iwmmxt_builtins (void) enum machine_mode mode; tree type; - if (d->name == 0) + if (d->name == 0 || !(d->mask == FL_IWMMXT || d->mask == FL_IWMMXT2)) continue; mode = insn_data[d->icode].operand[1].mode;