On 6/10/2022 3:13 AM, Richard Sandiford via Gcc-patches wrote:
internal-fn.c has quite a few functions that simply map the result
of the call to an instruction's output operand (if any) and map
each argument to an instruction's input operand, in order.
This patch adds a single function for doing that.  It's really
just a generalisation of expand_direct_optab_fn, but with the
output operand being optional.

Unfortunately, it isn't possible to do this for vcond_mask
because the internal function has a different argument order
from the optab.

Tested on aarch64-linux-gnu and x86_64-linux-gnu.  OK to install?

Richard


gcc/
        * internal-fn.cc (expand_fn_using_insn): New function,
        split out and adapted from...
        (expand_direct_optab_fn): ...here.
        (expand_GOMP_SIMT_ENTER_ALLOC): Use it.
        (expand_GOMP_SIMT_EXIT): Likewise.
        (expand_GOMP_SIMT_LANE): Likewise.
        (expand_GOMP_SIMT_LAST_LANE): Likewise.
        (expand_GOMP_SIMT_ORDERED_PRED): Likewise.
        (expand_GOMP_SIMT_VOTE_ANY): Likewise.
        (expand_GOMP_SIMT_XCHG_BFLY): Likewise.
        (expand_GOMP_SIMT_XCHG_IDX): Likewise.
OK
Jeff

Reply via email to