| /* 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 |