https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97770
--- Comment #13 from Hongtao.liu ---
(In reply to Richard Biener from comment #10)
> Hmm, but
>
> DEF_INTERNAL_INT_FN (POPCOUNT, ECF_CONST | ECF_NOTHROW, popcount, unary)
>
> so there's clearly a mismatch between either the vectorizers interpre
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97770
--- Comment #12 from CVS Commits ---
The master branch has been updated by hongtao Liu :
https://gcc.gnu.org/g:81d590760c31e11e3a09135f4e182aea232035f2
commit r11-5693-g81d590760c31e11e3a09135f4e182aea232035f2
Author: Hongyu Wang
Date: Wed N
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97770
--- Comment #11 from Hongtao.liu ---
A patch is posted at
https://gcc.gnu.org/pipermail/gcc-patches/2020-November/558777.html
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97770
Richard Biener changed:
What|Removed |Added
CC||rsandifo at gcc dot gnu.org
--- Comment
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97770
--- Comment #9 from Hongtao.liu ---
> I guess that the vectorized popcount IFN is defined to be VnDI -> VnDI
> but we want to have VnSImode results. This means the instruction is
> wrongly modeled in vectorized form?
>
Yes, because we have __
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97770
--- Comment #8 from Uroš Bizjak ---
(In reply to Richard Biener from comment #4)
> What's missing is middle-end folding support to narrow popcount to the
> appropriate internal function call with byte/half-word width when target
> support
> is av
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97770
Thomas Koenig changed:
What|Removed |Added
CC||tkoenig at gcc dot gnu.org
--- Comment #
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97770
Richard Biener changed:
What|Removed |Added
CC||rguenth at gcc dot gnu.org
--- Comment
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97770
--- Comment #5 from Hongtao.liu ---
(In reply to Richard Biener from comment #4)
> What's missing is middle-end folding support to narrow popcount to the
> appropriate internal function call with byte/half-word width when target
> support
> is av
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97770
Richard Biener changed:
What|Removed |Added
Last reconfirmed||2020-11-10
Ever confirmed|0
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97770
--- Comment #3 from Hongtao.liu ---
> But for vector byte/word/quadword, vectorizer still use vpopcntd, but not
> vpopcnt{b,w,q}, missing corresponding ifn?
We don't have __builtin_popcount{w,b}, but we have __builtin_popcountl.
for testcase
--
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97770
--- Comment #2 from Hongtao.liu ---
After adding expander, successfully vectorize the loop.
---
diff --git a/gcc/config/i386/sse.md b/gcc/config/i386/sse.md
index b153a87fb98..e8159997c40 100644
--- a/gcc/config/i386/sse.md
+++ b/gcc/config/i386/
12 matches
Mail list logo