[Bug target/63442] [AArch64] ICE with ubsan/overflow-int128.c test
jiwang at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Wed Oct 15 13:16:00 GMT 2014
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63442
--- Comment #4 from Jiong Wang <jiwang at gcc dot gnu.org> ---
the root 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 (),
pmode is assign to word_mode.
there comes the problem, aarch64 implemented libgcc_cmp_return_mode to always
return SImode, so there is a unmatch.
we should assign pmode with targetm.libgcc_cmp_return_mode () also.
this problem is hidding because nearly all other targets use the default hook
which return word_mode.
More information about the Gcc-bugs
mailing list