[Bug target/108938] Missing bswap detection
crazylht at gmail dot com
gcc-bugzilla@gcc.gnu.org
Tue Mar 7 08:53:45 GMT 2023
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108938
--- Comment #13 from Hongtao.liu <crazylht at gmail dot com> ---
(In reply to Jakub Jelinek from comment #12)
> (In reply to Hongtao.liu from comment #11)
> > (In reply to Jakub Jelinek from comment #9)
> > > Though, if more than one replacement operation is emitted, one needs to be
> > > careful not to emit more expensive replacement than the original sequence
> > > (especially if some subexpressions aren't single use).
> >
> > The patch(support swap + bit_and + rotate) doesn't show much impact on
> > SPEC2017, is there any other benchmark that I can try to find some
> > performance regressiones with bswap + bit_and + rotate?
> > So that I'll restrict the patch to only bswp + rotate/shift.
>
> I didn't mean to look at SPEC numbers, I meant count number of statements
> that could be DCEd. The code currently computes n_ops as it walks the
> statements that compute the value. So, the idea would be to have another
> counter next to it, initialized
> very similarly, except on a statement that !has_single_use it would be reset
> to zero (essentially not counting that statement or any of its defining
> statements (transitively)).
> So it would count solely the statements that could be DCEd.
Make sense.
More information about the Gcc-bugs
mailing list