ping~

thanks.

Regards,
Jiong

On 17/10/14 13:04, Jiong Wang wrote:
the cause should be one minor bug in prepare_cmp_insn.

the last mode parameter "pmode" of "prepare_cmp_insn" should match the
mode of the first parameter "x", while during the recursive call of 
"prepare_cmp_insn",
x is with mode of targetm.libgcc_cmp_return_mode () and pmode is assign to 
word_mode.

generally this is OK, because default libgcc_cmp_return_mode hook always return 
word_mode,
but AArch64 has a target private implementation which always return SImode, so 
there is a
mismatch which cause a ICE later.

this minor issue is hidding because nearly all other targets use default hook, 
and the
compare is rarely invoked.

Thanks

gcc/
    PR target/63442
    * optabs.c (prepare_cmp_insn): Use target hook "libgcc_cmp_return_mode" 
instead of word_mode.


Reply via email to