[Bug target/68543] [AArch64] Implement overflow arithmetic standard names {u,}{add,sub,mul}v4<mode> and/or negv3<mode>
ktkachov at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Thu Dec 10 11:02:00 GMT 2015
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68543
--- Comment #1 from ktkachov at gcc dot gnu.org ---
Maybe we can avoid defining custom expanders if we define
WORD_REGISTER_OPERATIONS for aarch64.
It's defined for arm and the documentation hints that it should be true for
most RISC targets.
Then the default fallback codegen for the given example is much improved:
foo:
uxth x0, w0
uxth x1, w1
mul x0, x0, x1
cmp x0, x0, sxtw
bne .L10
ret
.L10:
stp x29, x30, [sp, -16]!
add x29, sp, 0
bl abort
However, we need to investigate the other codegen effects that come with
WORD_REGISTER_OPERATIONS, in particular to make sure that the aarch64 patterns
cope with the slightly different strategies of using subregs and sign/zero
extends in combine
More information about the Gcc-bugs
mailing list