On 11/14/22 09:51, Jeff Law wrote:

On 11/13/22 16:05, Christoph Muellner wrote:
From: Philipp Tomsich <philipp.toms...@vrull.eu>

As a basis for optimized string functions (e.g., the by-pieces
implementations), we need orc.b available.  This adds orc.b as an
unspec, so we can expand to it.

gcc/ChangeLog:

         * config/riscv/bitmanip.md (orcb<mode>2): Add orc.b as an
      unspec.
         * config/riscv/riscv.md: Add UNSPEC_ORC_B.
In general, we should prefer to express things as "real" RTL rather than UNSPECS.  In this particular case expressing the orc could be done with a handful of IOR expressions, though they'd probably need to reference byte SUBREGs of the input and I dislike explicit SUBREGs in the md file even more than UNSPECs.

Mis-read the specs on orc.  So ignore the comment about expressing this as a handful of IORs and about it being reduc_ior_scal.

jeff


Reply via email to