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.tkac...@arm.com> * config/arm/arm.c (arm_init_iwmmxt_builtins): Skip non-iwmmxt builtins.
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;