diff gcc/config/aarch64/aarch64-sve-builtins-sve2.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-sve2.h	Thu Feb 13 11:34:05 2020 +0900
@@ -0,0 +1,190 @@
+/* ACLE support for AArch64 SVE (__ARM_FEATURE_SVE intrinsics)
+   Copyright (C) 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_SVE2_H
+#define GCC_AARCH64_SVE_BUILTINS_SVE2_H
+
+namespace aarch64_sve
+{
+  namespace functions
+  {
+    extern const function_base *const svaba;
+    extern const function_base *const svabalb;
+    extern const function_base *const svabalt;
+    extern const function_base *const svabdlb;
+    extern const function_base *const svabdlt;
+    extern const function_base *const svadalp;
+    extern const function_base *const svadclb;
+    extern const function_base *const svadclt;
+    extern const function_base *const svaddhnb;
+    extern const function_base *const svaddhnt;
+    extern const function_base *const svaddlb;
+    extern const function_base *const svaddlbt;
+    extern const function_base *const svaddlt;
+    extern const function_base *const svaddp;
+    extern const function_base *const svaddwb;
+    extern const function_base *const svaddwt;
+    extern const function_base *const svaesd;
+    extern const function_base *const svaese;
+    extern const function_base *const svaesimc;
+    extern const function_base *const svaesmc;
+    extern const function_base *const svbcax;
+    extern const function_base *const svbdep;
+    extern const function_base *const svbext;
+    extern const function_base *const svbgrp;
+    extern const function_base *const svbsl;
+    extern const function_base *const svbsl1n;
+    extern const function_base *const svbsl2n;
+    extern const function_base *const svcdot;
+    extern const function_base *const svcdot_lane;
+    extern const function_base *const svcvtlt;
+    extern const function_base *const svcvtx;
+    extern const function_base *const svcvtxnt;
+    extern const function_base *const sveor3;
+    extern const function_base *const sveorbt;
+    extern const function_base *const sveortb;
+    extern const function_base *const svhadd;
+    extern const function_base *const svhistcnt;
+    extern const function_base *const svhistseg;
+    extern const function_base *const svhsub;
+    extern const function_base *const svhsubr;
+    extern const function_base *const svldnt1_gather;
+    extern const function_base *const svldnt1sb_gather;
+    extern const function_base *const svldnt1sh_gather;
+    extern const function_base *const svldnt1sw_gather;
+    extern const function_base *const svldnt1ub_gather;
+    extern const function_base *const svldnt1uh_gather;
+    extern const function_base *const svldnt1uw_gather;
+    extern const function_base *const svlogb;
+    extern const function_base *const svmatch;
+    extern const function_base *const svmaxp;
+    extern const function_base *const svmaxnmp;
+    extern const function_base *const svmlalb;
+    extern const function_base *const svmlalb_lane;
+    extern const function_base *const svmlalt;
+    extern const function_base *const svmlalt_lane;
+    extern const function_base *const svmlslb;
+    extern const function_base *const svmlslb_lane;
+    extern const function_base *const svmlslt;
+    extern const function_base *const svmlslt_lane;
+    extern const function_base *const svminp;
+    extern const function_base *const svminnmp;
+    extern const function_base *const svmovlb;
+    extern const function_base *const svmovlt;
+    extern const function_base *const svmullb;
+    extern const function_base *const svmullb_lane;
+    extern const function_base *const svmullt;
+    extern const function_base *const svmullt_lane;
+    extern const function_base *const svnbsl;
+    extern const function_base *const svnmatch;
+    extern const function_base *const svpmul;
+    extern const function_base *const svpmullb;
+    extern const function_base *const svpmullb_pair;
+    extern const function_base *const svpmullt;
+    extern const function_base *const svpmullt_pair;
+    extern const function_base *const svqabs;
+    extern const function_base *const svqcadd;
+    extern const function_base *const svqdmlalb;
+    extern const function_base *const svqdmlalb_lane;
+    extern const function_base *const svqdmlalbt;
+    extern const function_base *const svqdmlalt;
+    extern const function_base *const svqdmlalt_lane;
+    extern const function_base *const svqdmlslb;
+    extern const function_base *const svqdmlslb_lane;
+    extern const function_base *const svqdmlslbt;
+    extern const function_base *const svqdmlslt;
+    extern const function_base *const svqdmlslt_lane;
+    extern const function_base *const svqdmulh;
+    extern const function_base *const svqdmulh_lane;
+    extern const function_base *const svqdmullb;
+    extern const function_base *const svqdmullb_lane;
+    extern const function_base *const svqdmullt;
+    extern const function_base *const svqdmullt_lane;
+    extern const function_base *const svqneg;
+    extern const function_base *const svqrdcmlah;
+    extern const function_base *const svqrdcmlah_lane;
+    extern const function_base *const svqrdmulh;
+    extern const function_base *const svqrdmulh_lane;
+    extern const function_base *const svqrdmlah;
+    extern const function_base *const svqrdmlah_lane;
+    extern const function_base *const svqrdmlsh;
+    extern const function_base *const svqrdmlsh_lane;
+    extern const function_base *const svqrshl;
+    extern const function_base *const svqrshrnb;
+    extern const function_base *const svqrshrnt;
+    extern const function_base *const svqrshrunb;
+    extern const function_base *const svqrshrunt;
+    extern const function_base *const svqshl;
+    extern const function_base *const svqshlu;
+    extern const function_base *const svqshrnb;
+    extern const function_base *const svqshrnt;
+    extern const function_base *const svqshrunb;
+    extern const function_base *const svqshrunt;
+    extern const function_base *const svqsubr;
+    extern const function_base *const svqxtnb;
+    extern const function_base *const svqxtnt;
+    extern const function_base *const svqxtunb;
+    extern const function_base *const svqxtunt;
+    extern const function_base *const svraddhnb;
+    extern const function_base *const svraddhnt;
+    extern const function_base *const svrax1;
+    extern const function_base *const svrhadd;
+    extern const function_base *const svrshl;
+    extern const function_base *const svrshr;
+    extern const function_base *const svrshrnb;
+    extern const function_base *const svrshrnt;
+    extern const function_base *const svrsra;
+    extern const function_base *const svrsubhnb;
+    extern const function_base *const svrsubhnt;
+    extern const function_base *const svsbclb;
+    extern const function_base *const svsbclt;
+    extern const function_base *const svshllb;
+    extern const function_base *const svshllt;
+    extern const function_base *const svshrnb;
+    extern const function_base *const svshrnt;
+    extern const function_base *const svsli;
+    extern const function_base *const svsm4e;
+    extern const function_base *const svsm4ekey;
+    extern const function_base *const svsqadd;
+    extern const function_base *const svsra;
+    extern const function_base *const svsri;
+    extern const function_base *const svstnt1_scatter;
+    extern const function_base *const svstnt1b_scatter;
+    extern const function_base *const svstnt1h_scatter;
+    extern const function_base *const svstnt1w_scatter;
+    extern const function_base *const svsubhnb;
+    extern const function_base *const svsubhnt;
+    extern const function_base *const svsublb;
+    extern const function_base *const svsublbt;
+    extern const function_base *const svsublt;
+    extern const function_base *const svsubltb;
+    extern const function_base *const svsubwb;
+    extern const function_base *const svsubwt;
+    extern const function_base *const svtbl2;
+    extern const function_base *const svtbx;
+    extern const function_base *const svuqadd;
+    extern const function_base *const svwhilege;
+    extern const function_base *const svwhilegt;
+    extern const function_base *const svwhilerw;
+    extern const function_base *const svwhilewr;
+    extern const function_base *const svxar;
+  }
+}
+
+#endif