[Bug target/69245] [6 Regression] ICE in extract_insn, at recog.c:2286 on arm-linux-gnueabihf
ktkachov at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Tue Jan 12 14:47:00 GMT 2016
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69245
--- Comment #3 from ktkachov at gcc dot gnu.org ---
Hmm...
The code in tree-ssa-math-opts.c that creates the FMA_EXPR avoids doing it if
the target doesn't support an fma optab.
So the optab handler should have rejected it.
The arm fma optab in vfp.md has the condition TARGET_32BIT && TARGET_HARD_FLOAT
&& TARGET_FMA.
TARGET_FMA is defined as (TARGET_VFP && TARGET_FPU_REV >= 4)
and TARGET_FPU_REV is (all_fpus[arm_fpu_index].rev)
at the point in convert_mult_to_fma in fn2 when the FMA_EXPR is created if I
print in gdb the expression:
all_fpus[global_options.x_arm_fpu_index].rev
I get '3'. So TARGET_FMA should be properly set to 0 at this point.
Something's weird going on.
More information about the Gcc-bugs
mailing list