aboutsummaryrefslogtreecommitdiff
path: root/libcpp
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2021-02-03 09:04:26 +0100
committerJakub Jelinek <jakub@redhat.com>2021-02-03 09:10:28 +0100
commit1b5572edb8caaed2f31a7235b8c58628da6bdb8f (patch)
tree5988a7c0591e2730baa3069cf6d0b8f305547336 /libcpp
parent5e606ed90a1bed878071b6b5a3ef9b97b3d99838 (diff)
downloadgcc-1b5572edb8caaed2f31a7235b8c58628da6bdb8f.zip
gcc-1b5572edb8caaed2f31a7235b8c58628da6bdb8f.tar.gz
gcc-1b5572edb8caaed2f31a7235b8c58628da6bdb8f.tar.bz2
i386: Remove V1DImode shift expanders [PR98287]
On Tue, Feb 02, 2021 at 02:23:55PM +0100, Richard Biener wrote: > All I say is that the x86 target > should either not advertise V1DF shifts or advertise the basic > ops that reasonable simplification would expect to exist. The backend has several V1?Imode shifts, but optab only for those V1DImode ones: grep '[la]sh[lr]v1[qhsdtox]' tmp-mddump.md (define_insn ("mmx_ashlv1di3") (define_insn ("mmx_lshrv1di3") (define_insn ("avx512bw_ashlv1ti3") (define_insn ("avx512bw_lshrv1ti3") (define_insn ("sse2_ashlv1ti3") (define_insn ("sse2_lshrv1ti3") (define_expand ("ashlv1di3") (define_expand ("lshrv1di3") emit_insn (gen_sse2_lshrv1ti3 (tmp, gen_lowpart (V1TImode, operands[1]), I think it has been introduced with https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89021#c13 Before we didn't have any V1DImode expanders (except mov/movmisalign, but those are needed and are supplied for other V1??mode modes too). This patch just removes the two V1DImode shift expanders with standard names. 2021-02-03 Jakub Jelinek <jakub@redhat.com> PR tree-optimization/98287 * config/i386/mmx.md (<insn><mode>3): For shifts don't enable expander for V1DImode. * gcc.dg/pr98287.c: New test.
Diffstat (limited to 'libcpp')
0 files changed, 0 insertions, 0 deletions