Mercurial > hg > CbC > CbC_gcc
diff gcc/config/aarch64/aarch64-sve-builtins-base.h @ 145:1830386684a0
gcc-9.2.0
author | anatofuz |
---|---|
date | Thu, 13 Feb 2020 11:34:05 +0900 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gcc/config/aarch64/aarch64-sve-builtins-base.h Thu Feb 13 11:34:05 2020 +0900 @@ -0,0 +1,304 @@ +/* ACLE support for AArch64 SVE (__ARM_FEATURE_SVE intrinsics) + Copyright (C) 2018-2020 Free Software Foundation, Inc. + + This file is part of GCC. + + GCC is free software; you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3, or (at your option) + any later version. + + GCC is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with GCC; see the file COPYING3. If not see + <http://www.gnu.org/licenses/>. */ + +#ifndef GCC_AARCH64_SVE_BUILTINS_BASE_H +#define GCC_AARCH64_SVE_BUILTINS_BASE_H + +namespace aarch64_sve +{ + namespace functions + { + extern const function_base *const svabd; + extern const function_base *const svabs; + extern const function_base *const svacge; + extern const function_base *const svacgt; + extern const function_base *const svacle; + extern const function_base *const svaclt; + extern const function_base *const svadd; + extern const function_base *const svadda; + extern const function_base *const svaddv; + extern const function_base *const svadrb; + extern const function_base *const svadrd; + extern const function_base *const svadrh; + extern const function_base *const svadrw; + extern const function_base *const svand; + extern const function_base *const svandv; + extern const function_base *const svasr; + extern const function_base *const svasr_wide; + extern const function_base *const svasrd; + extern const function_base *const svbfdot; + extern const function_base *const svbfdot_lane; + extern const function_base *const svbfmlalb; + extern const function_base *const svbfmlalb_lane; + extern const function_base *const svbfmlalt; + extern const function_base *const svbfmlalt_lane; + extern const function_base *const svbfmmla; + extern const function_base *const svbic; + extern const function_base *const svbrka; + extern const function_base *const svbrkb; + extern const function_base *const svbrkn; + extern const function_base *const svbrkpa; + extern const function_base *const svbrkpb; + extern const function_base *const svcadd; + extern const function_base *const svclasta; + extern const function_base *const svclastb; + extern const function_base *const svcls; + extern const function_base *const svclz; + extern const function_base *const svcmla; + extern const function_base *const svcmla_lane; + extern const function_base *const svcmpeq; + extern const function_base *const svcmpeq_wide; + extern const function_base *const svcmpge; + extern const function_base *const svcmpge_wide; + extern const function_base *const svcmpgt; + extern const function_base *const svcmpgt_wide; + extern const function_base *const svcmple; + extern const function_base *const svcmple_wide; + extern const function_base *const svcmplt; + extern const function_base *const svcmplt_wide; + extern const function_base *const svcmpne; + extern const function_base *const svcmpne_wide; + extern const function_base *const svcmpuo; + extern const function_base *const svcnot; + extern const function_base *const svcnt; + extern const function_base *const svcntb; + extern const function_base *const svcntb_pat; + extern const function_base *const svcntd; + extern const function_base *const svcntd_pat; + extern const function_base *const svcnth; + extern const function_base *const svcnth_pat; + extern const function_base *const svcntp; + extern const function_base *const svcntw; + extern const function_base *const svcntw_pat; + extern const function_base *const svcompact; + extern const function_base *const svcreate2; + extern const function_base *const svcreate3; + extern const function_base *const svcreate4; + extern const function_base *const svcvt; + extern const function_base *const svcvtnt; + extern const function_base *const svdiv; + extern const function_base *const svdivr; + extern const function_base *const svdot; + extern const function_base *const svdot_lane; + extern const function_base *const svdup; + extern const function_base *const svdup_lane; + extern const function_base *const svdupq; + extern const function_base *const svdupq_lane; + extern const function_base *const sveor; + extern const function_base *const sveorv; + extern const function_base *const svexpa; + extern const function_base *const svext; + extern const function_base *const svextb; + extern const function_base *const svexth; + extern const function_base *const svextw; + extern const function_base *const svget2; + extern const function_base *const svget3; + extern const function_base *const svget4; + extern const function_base *const svindex; + extern const function_base *const svinsr; + extern const function_base *const svlasta; + extern const function_base *const svlastb; + extern const function_base *const svld1; + extern const function_base *const svld1_gather; + extern const function_base *const svld1ro; + extern const function_base *const svld1rq; + extern const function_base *const svld1sb; + extern const function_base *const svld1sb_gather; + extern const function_base *const svld1sh; + extern const function_base *const svld1sh_gather; + extern const function_base *const svld1sw; + extern const function_base *const svld1sw_gather; + extern const function_base *const svld1ub; + extern const function_base *const svld1ub_gather; + extern const function_base *const svld1uh; + extern const function_base *const svld1uh_gather; + extern const function_base *const svld1uw; + extern const function_base *const svld1uw_gather; + extern const function_base *const svld2; + extern const function_base *const svld3; + extern const function_base *const svld4; + extern const function_base *const svldff1; + extern const function_base *const svldff1_gather; + extern const function_base *const svldff1sb; + extern const function_base *const svldff1sb_gather; + extern const function_base *const svldff1sh; + extern const function_base *const svldff1sh_gather; + extern const function_base *const svldff1sw; + extern const function_base *const svldff1sw_gather; + extern const function_base *const svldff1ub; + extern const function_base *const svldff1ub_gather; + extern const function_base *const svldff1uh; + extern const function_base *const svldff1uh_gather; + extern const function_base *const svldff1uw; + extern const function_base *const svldff1uw_gather; + extern const function_base *const svldnf1; + extern const function_base *const svldnf1sb; + extern const function_base *const svldnf1sh; + extern const function_base *const svldnf1sw; + extern const function_base *const svldnf1ub; + extern const function_base *const svldnf1uh; + extern const function_base *const svldnf1uw; + extern const function_base *const svldnt1; + extern const function_base *const svlen; + extern const function_base *const svlsl; + extern const function_base *const svlsl_wide; + extern const function_base *const svlsr; + extern const function_base *const svlsr_wide; + extern const function_base *const svmad; + extern const function_base *const svmax; + extern const function_base *const svmaxnm; + extern const function_base *const svmaxnmv; + extern const function_base *const svmaxv; + extern const function_base *const svmin; + extern const function_base *const svminnm; + extern const function_base *const svminnmv; + extern const function_base *const svminv; + extern const function_base *const svmla; + extern const function_base *const svmla_lane; + extern const function_base *const svmls; + extern const function_base *const svmls_lane; + extern const function_base *const svmmla; + extern const function_base *const svmov; + extern const function_base *const svmsb; + extern const function_base *const svmul; + extern const function_base *const svmul_lane; + extern const function_base *const svmulh; + extern const function_base *const svmulx; + extern const function_base *const svnand; + extern const function_base *const svneg; + extern const function_base *const svnmad; + extern const function_base *const svnmla; + extern const function_base *const svnmls; + extern const function_base *const svnmsb; + extern const function_base *const svnor; + extern const function_base *const svnot; + extern const function_base *const svorn; + extern const function_base *const svorr; + extern const function_base *const svorv; + extern const function_base *const svpfalse; + extern const function_base *const svpfirst; + extern const function_base *const svpnext; + extern const function_base *const svprfb; + extern const function_base *const svprfb_gather; + extern const function_base *const svprfd; + extern const function_base *const svprfd_gather; + extern const function_base *const svprfh; + extern const function_base *const svprfh_gather; + extern const function_base *const svprfw; + extern const function_base *const svprfw_gather; + extern const function_base *const svptest_any; + extern const function_base *const svptest_first; + extern const function_base *const svptest_last; + extern const function_base *const svptrue; + extern const function_base *const svptrue_pat; + extern const function_base *const svqadd; + extern const function_base *const svqdecb; + extern const function_base *const svqdecb_pat; + extern const function_base *const svqdecd; + extern const function_base *const svqdecd_pat; + extern const function_base *const svqdech; + extern const function_base *const svqdech_pat; + extern const function_base *const svqdecp; + extern const function_base *const svqdecw; + extern const function_base *const svqdecw_pat; + extern const function_base *const svqincb; + extern const function_base *const svqincb_pat; + extern const function_base *const svqincd; + extern const function_base *const svqincd_pat; + extern const function_base *const svqinch; + extern const function_base *const svqinch_pat; + extern const function_base *const svqincp; + extern const function_base *const svqincw; + extern const function_base *const svqincw_pat; + extern const function_base *const svqsub; + extern const function_base *const svrbit; + extern const function_base *const svrdffr; + extern const function_base *const svrecpe; + extern const function_base *const svrecps; + extern const function_base *const svrecpx; + extern const function_base *const svreinterpret; + extern const function_base *const svrev; + extern const function_base *const svrevb; + extern const function_base *const svrevh; + extern const function_base *const svrevw; + extern const function_base *const svrinta; + extern const function_base *const svrinti; + extern const function_base *const svrintm; + extern const function_base *const svrintn; + extern const function_base *const svrintp; + extern const function_base *const svrintx; + extern const function_base *const svrintz; + extern const function_base *const svrsqrte; + extern const function_base *const svrsqrts; + extern const function_base *const svscale; + extern const function_base *const svsel; + extern const function_base *const svset2; + extern const function_base *const svset3; + extern const function_base *const svset4; + extern const function_base *const svsetffr; + extern const function_base *const svsplice; + extern const function_base *const svsqrt; + extern const function_base *const svst1; + extern const function_base *const svst1_scatter; + extern const function_base *const svst1b; + extern const function_base *const svst1b_scatter; + extern const function_base *const svst1h; + extern const function_base *const svst1h_scatter; + extern const function_base *const svst1w; + extern const function_base *const svst1w_scatter; + extern const function_base *const svst2; + extern const function_base *const svst3; + extern const function_base *const svst4; + extern const function_base *const svstnt1; + extern const function_base *const svsub; + extern const function_base *const svsubr; + extern const function_base *const svsudot; + extern const function_base *const svsudot_lane; + extern const function_base *const svtbl; + extern const function_base *const svtmad; + extern const function_base *const svtrn1; + extern const function_base *const svtrn1q; + extern const function_base *const svtrn2; + extern const function_base *const svtrn2q; + extern const function_base *const svtsmul; + extern const function_base *const svtssel; + extern const function_base *const svundef; + extern const function_base *const svundef2; + extern const function_base *const svundef3; + extern const function_base *const svundef4; + extern const function_base *const svunpkhi; + extern const function_base *const svunpklo; + extern const function_base *const svusdot; + extern const function_base *const svusdot_lane; + extern const function_base *const svusmmla; + extern const function_base *const svuzp1; + extern const function_base *const svuzp1q; + extern const function_base *const svuzp2; + extern const function_base *const svuzp2q; + extern const function_base *const svwhilele; + extern const function_base *const svwhilelt; + extern const function_base *const svwrffr; + extern const function_base *const svzip1; + extern const function_base *const svzip1q; + extern const function_base *const svzip2; + extern const function_base *const svzip2q; + } +} + +#endif