mirror of
https://github.com/gcc-mirror/gcc.git
synced 2024-11-21 13:40:47 +00:00
Revert "RISC-V: Add avail interface into function_group_info"
This reverts commit ce7e66787b
.
Will refactor this part in the same way as aarch64 sve.
gcc/ChangeLog:
* config/riscv/riscv-vector-builtins-functions.def (DEF_RVV_FUNCTION):
Revert changes.
(read_vl): Ditto.
(vlenb): Ditto.
(vsetvl): Ditto.
(vsetvlmax): Ditto.
(vle): Ditto.
(vse): Ditto.
(vlm): Ditto.
(vsm): Ditto.
(vlse): Ditto.
(vsse): Ditto.
(vluxei8): Ditto.
(vluxei16): Ditto.
(vluxei32): Ditto.
(vluxei64): Ditto.
(vloxei8): Ditto.
(vloxei16): Ditto.
(vloxei32): Ditto.
(vloxei64): Ditto.
(vsuxei8): Ditto.
(vsuxei16): Ditto.
(vsuxei32): Ditto.
(vsuxei64): Ditto.
(vsoxei8): Ditto.
(vsoxei16): Ditto.
(vsoxei32): Ditto.
(vsoxei64): Ditto.
(vleff): Ditto.
(vadd): Ditto.
(vsub): Ditto.
(vrsub): Ditto.
(vneg): Ditto.
(vwaddu): Ditto.
(vwsubu): Ditto.
(vwadd): Ditto.
(vwsub): Ditto.
(vwcvt_x): Ditto.
(vwcvtu_x): Ditto.
(vzext): Ditto.
(vsext): Ditto.
(vadc): Ditto.
(vmadc): Ditto.
(vsbc): Ditto.
(vmsbc): Ditto.
(vand): Ditto.
(vor): Ditto.
(vxor): Ditto.
(vnot): Ditto.
(vsll): Ditto.
(vsra): Ditto.
(vsrl): Ditto.
(vnsrl): Ditto.
(vnsra): Ditto.
(vncvt_x): Ditto.
(vmseq): Ditto.
(vmsne): Ditto.
(vmsltu): Ditto.
(vmslt): Ditto.
(vmsleu): Ditto.
(vmsle): Ditto.
(vmsgtu): Ditto.
(vmsgt): Ditto.
(vmsgeu): Ditto.
(vmsge): Ditto.
(vminu): Ditto.
(vmin): Ditto.
(vmaxu): Ditto.
(vmax): Ditto.
(vmul): Ditto.
(vmulh): Ditto.
(vmulhu): Ditto.
(vmulhsu): Ditto.
(vdivu): Ditto.
(vdiv): Ditto.
(vremu): Ditto.
(vrem): Ditto.
(vwmul): Ditto.
(vwmulu): Ditto.
(vwmulsu): Ditto.
(vmacc): Ditto.
(vnmsac): Ditto.
(vmadd): Ditto.
(vnmsub): Ditto.
(vwmaccu): Ditto.
(vwmacc): Ditto.
(vwmaccsu): Ditto.
(vwmaccus): Ditto.
(vmerge): Ditto.
(vmv_v): Ditto.
(vsaddu): Ditto.
(vsadd): Ditto.
(vssubu): Ditto.
(vssub): Ditto.
(vaaddu): Ditto.
(vaadd): Ditto.
(vasubu): Ditto.
(vasub): Ditto.
(vsmul): Ditto.
(vssrl): Ditto.
(vssra): Ditto.
(vnclipu): Ditto.
(vnclip): Ditto.
(vfadd): Ditto.
(vfsub): Ditto.
(vfrsub): Ditto.
(vfadd_frm): Ditto.
(vfsub_frm): Ditto.
(vfrsub_frm): Ditto.
(vfwadd): Ditto.
(vfwsub): Ditto.
(vfwadd_frm): Ditto.
(vfwsub_frm): Ditto.
(vfmul): Ditto.
(vfdiv): Ditto.
(vfrdiv): Ditto.
(vfmul_frm): Ditto.
(vfdiv_frm): Ditto.
(vfrdiv_frm): Ditto.
(vfwmul): Ditto.
(vfwmul_frm): Ditto.
(vfmacc): Ditto.
(vfnmsac): Ditto.
(vfmadd): Ditto.
(vfnmsub): Ditto.
(vfnmacc): Ditto.
(vfmsac): Ditto.
(vfnmadd): Ditto.
(vfmsub): Ditto.
(vfmacc_frm): Ditto.
(vfnmacc_frm): Ditto.
(vfmsac_frm): Ditto.
(vfnmsac_frm): Ditto.
(vfmadd_frm): Ditto.
(vfnmadd_frm): Ditto.
(vfmsub_frm): Ditto.
(vfnmsub_frm): Ditto.
(vfwmacc): Ditto.
(vfwnmacc): Ditto.
(vfwmsac): Ditto.
(vfwnmsac): Ditto.
(vfwmacc_frm): Ditto.
(vfwnmacc_frm): Ditto.
(vfwmsac_frm): Ditto.
(vfwnmsac_frm): Ditto.
(vfsqrt): Ditto.
(vfsqrt_frm): Ditto.
(vfrsqrt7): Ditto.
(vfrec7): Ditto.
(vfrec7_frm): Ditto.
(vfmin): Ditto.
(vfmax): Ditto.
(vfsgnj): Ditto.
(vfsgnjn): Ditto.
(vfsgnjx): Ditto.
(vfneg): Ditto.
(vfabs): Ditto.
(vmfeq): Ditto.
(vmfne): Ditto.
(vmflt): Ditto.
(vmfle): Ditto.
(vmfgt): Ditto.
(vmfge): Ditto.
(vfclass): Ditto.
(vfmerge): Ditto.
(vfmv_v): Ditto.
(vfcvt_x): Ditto.
(vfcvt_xu): Ditto.
(vfcvt_rtz_x): Ditto.
(vfcvt_rtz_xu): Ditto.
(vfcvt_f): Ditto.
(vfcvt_x_frm): Ditto.
(vfcvt_xu_frm): Ditto.
(vfcvt_f_frm): Ditto.
(vfwcvt_x): Ditto.
(vfwcvt_xu): Ditto.
(vfwcvt_rtz_x): Ditto.
(vfwcvt_rtz_xu): Ditto.
(vfwcvt_f): Ditto.
(vfwcvt_x_frm): Ditto.
(vfwcvt_xu_frm): Ditto.
(vfncvt_x): Ditto.
(vfncvt_xu): Ditto.
(vfncvt_rtz_x): Ditto.
(vfncvt_rtz_xu): Ditto.
(vfncvt_f): Ditto.
(vfncvt_rod_f): Ditto.
(vfncvt_x_frm): Ditto.
(vfncvt_xu_frm): Ditto.
(vfncvt_f_frm): Ditto.
(vredsum): Ditto.
(vredmaxu): Ditto.
(vredmax): Ditto.
(vredminu): Ditto.
(vredmin): Ditto.
(vredand): Ditto.
(vredor): Ditto.
(vredxor): Ditto.
(vwredsum): Ditto.
(vwredsumu): Ditto.
(vfredusum): Ditto.
(vfredosum): Ditto.
(vfredmax): Ditto.
(vfredmin): Ditto.
(vfredusum_frm): Ditto.
(vfredosum_frm): Ditto.
(vfwredosum): Ditto.
(vfwredusum): Ditto.
(vfwredosum_frm): Ditto.
(vfwredusum_frm): Ditto.
(vmand): Ditto.
(vmnand): Ditto.
(vmandn): Ditto.
(vmxor): Ditto.
(vmor): Ditto.
(vmnor): Ditto.
(vmorn): Ditto.
(vmxnor): Ditto.
(vmmv): Ditto.
(vmclr): Ditto.
(vmset): Ditto.
(vmnot): Ditto.
(vcpop): Ditto.
(vfirst): Ditto.
(vmsbf): Ditto.
(vmsif): Ditto.
(vmsof): Ditto.
(viota): Ditto.
(vid): Ditto.
(vmv_x): Ditto.
(vmv_s): Ditto.
(vfmv_f): Ditto.
(vfmv_s): Ditto.
(vslideup): Ditto.
(vslidedown): Ditto.
(vslide1up): Ditto.
(vslide1down): Ditto.
(vfslide1up): Ditto.
(vfslide1down): Ditto.
(vrgather): Ditto.
(vrgatherei16): Ditto.
(vcompress): Ditto.
(vundefined): Ditto.
(vreinterpret): Ditto.
(vlmul_ext): Ditto.
(vlmul_trunc): Ditto.
(vset): Ditto.
(vget): Ditto.
(vcreate): Ditto.
(vlseg): Ditto.
(vsseg): Ditto.
(vlsseg): Ditto.
(vssseg): Ditto.
(vluxseg): Ditto.
(vloxseg): Ditto.
(vsuxseg): Ditto.
(vsoxseg): Ditto.
(vlsegff): Ditto.
* config/riscv/riscv-vector-builtins.cc (DEF_RVV_FUNCTION): Ditto.
* config/riscv/riscv-vector-builtins.h (struct function_group_info): Ditto.
* config/riscv/t-riscv: Ditto.
* config/riscv/riscv-vector-builtins-avail.h: Removed.
This commit is contained in:
parent
e4f0eb725d
commit
203efd5097
@ -1,12 +0,0 @@
|
||||
#ifndef GCC_RISCV_VECTOR_BUILTINS_AVAIL_H
|
||||
#define GCC_RISCV_VECTOR_BUILTINS_AVAIL_H
|
||||
|
||||
#include "insn-codes.h"
|
||||
namespace riscv_vector {
|
||||
|
||||
/* Declare an availability predicate for built-in functions. */
|
||||
#define AVAIL(NAME, COND) \
|
||||
static unsigned int riscv_vector_avail_##NAME(void) { return (COND); }
|
||||
|
||||
} // namespace riscv_vector
|
||||
#endif
|
File diff suppressed because it is too large
Load Diff
@ -51,7 +51,6 @@
|
||||
#include "riscv-vector-builtins.h"
|
||||
#include "riscv-vector-builtins-shapes.h"
|
||||
#include "riscv-vector-builtins-bases.h"
|
||||
#include "riscv-vector-builtins-avail.h"
|
||||
|
||||
using namespace riscv_vector;
|
||||
|
||||
@ -2685,9 +2684,8 @@ static CONSTEXPR const function_type_info function_types[] = {
|
||||
|
||||
/* A list of all RVV intrinsic functions. */
|
||||
static function_group_info function_groups[] = {
|
||||
#define DEF_RVV_FUNCTION(NAME, SHAPE, PREDS, OPS_INFO, ...) \
|
||||
{#NAME, &bases::NAME, &shapes::SHAPE, PREDS, OPS_INFO,\
|
||||
__VA_ARGS__},
|
||||
#define DEF_RVV_FUNCTION(NAME, SHAPE, PREDS, OPS_INFO) \
|
||||
{#NAME, &bases::NAME, &shapes::SHAPE, PREDS, OPS_INFO},
|
||||
#include "riscv-vector-builtins-functions.def"
|
||||
};
|
||||
|
||||
|
@ -212,14 +212,6 @@ class function_shape;
|
||||
/* Static information about a set of functions. */
|
||||
struct function_group_info
|
||||
{
|
||||
constexpr function_group_info (const char *base_name,\
|
||||
const function_base *const *base,\
|
||||
const function_shape *const *shape,\
|
||||
const predication_type_index *preds,\
|
||||
const rvv_op_info ops_infos,\
|
||||
unsigned int (*avail)() = nullptr)
|
||||
: base_name (base_name), base (base), shape (shape), preds (preds),\
|
||||
ops_infos (ops_infos), avail (avail){};
|
||||
/* The base name, as a string. */
|
||||
const char *base_name;
|
||||
|
||||
@ -240,8 +232,6 @@ struct function_group_info
|
||||
on the index value. */
|
||||
const predication_type_index *preds;
|
||||
const rvv_op_info ops_infos;
|
||||
/* Whether the function is available. */
|
||||
unsigned int (*avail) (void);
|
||||
};
|
||||
|
||||
class GTY ((user)) function_instance
|
||||
|
@ -1,5 +1,4 @@
|
||||
RISCV_BUILTINS_H = $(srcdir)/config/riscv/riscv-vector-builtins.h \
|
||||
$(srcdir)/config/riscv/riscv-vector-builtins-avail.h \
|
||||
$(srcdir)/config/riscv/riscv-vector-builtins.def \
|
||||
$(srcdir)/config/riscv/riscv-vector-builtins-functions.def \
|
||||
riscv-vector-type-indexer.gen.def
|
||||
|
Loading…
Reference in New Issue
Block a user