Home | History | Annotate | Line # | Download | only in aarch64
aarch64-sve-builtins-sve2.h revision 1.1.1.2
      1      1.1  mrg /* ACLE support for AArch64 SVE (__ARM_FEATURE_SVE intrinsics)
      2  1.1.1.2  mrg    Copyright (C) 2020-2022 Free Software Foundation, Inc.
      3      1.1  mrg 
      4      1.1  mrg    This file is part of GCC.
      5      1.1  mrg 
      6      1.1  mrg    GCC is free software; you can redistribute it and/or modify it
      7      1.1  mrg    under the terms of the GNU General Public License as published by
      8      1.1  mrg    the Free Software Foundation; either version 3, or (at your option)
      9      1.1  mrg    any later version.
     10      1.1  mrg 
     11      1.1  mrg    GCC is distributed in the hope that it will be useful, but
     12      1.1  mrg    WITHOUT ANY WARRANTY; without even the implied warranty of
     13      1.1  mrg    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
     14      1.1  mrg    General Public License for more details.
     15      1.1  mrg 
     16      1.1  mrg    You should have received a copy of the GNU General Public License
     17      1.1  mrg    along with GCC; see the file COPYING3.  If not see
     18      1.1  mrg    <http://www.gnu.org/licenses/>.  */
     19      1.1  mrg 
     20      1.1  mrg #ifndef GCC_AARCH64_SVE_BUILTINS_SVE2_H
     21      1.1  mrg #define GCC_AARCH64_SVE_BUILTINS_SVE2_H
     22      1.1  mrg 
     23      1.1  mrg namespace aarch64_sve
     24      1.1  mrg {
     25      1.1  mrg   namespace functions
     26      1.1  mrg   {
     27      1.1  mrg     extern const function_base *const svaba;
     28      1.1  mrg     extern const function_base *const svabalb;
     29      1.1  mrg     extern const function_base *const svabalt;
     30      1.1  mrg     extern const function_base *const svabdlb;
     31      1.1  mrg     extern const function_base *const svabdlt;
     32      1.1  mrg     extern const function_base *const svadalp;
     33      1.1  mrg     extern const function_base *const svadclb;
     34      1.1  mrg     extern const function_base *const svadclt;
     35      1.1  mrg     extern const function_base *const svaddhnb;
     36      1.1  mrg     extern const function_base *const svaddhnt;
     37      1.1  mrg     extern const function_base *const svaddlb;
     38      1.1  mrg     extern const function_base *const svaddlbt;
     39      1.1  mrg     extern const function_base *const svaddlt;
     40      1.1  mrg     extern const function_base *const svaddp;
     41      1.1  mrg     extern const function_base *const svaddwb;
     42      1.1  mrg     extern const function_base *const svaddwt;
     43      1.1  mrg     extern const function_base *const svaesd;
     44      1.1  mrg     extern const function_base *const svaese;
     45      1.1  mrg     extern const function_base *const svaesimc;
     46      1.1  mrg     extern const function_base *const svaesmc;
     47      1.1  mrg     extern const function_base *const svbcax;
     48      1.1  mrg     extern const function_base *const svbdep;
     49      1.1  mrg     extern const function_base *const svbext;
     50      1.1  mrg     extern const function_base *const svbgrp;
     51      1.1  mrg     extern const function_base *const svbsl;
     52      1.1  mrg     extern const function_base *const svbsl1n;
     53      1.1  mrg     extern const function_base *const svbsl2n;
     54      1.1  mrg     extern const function_base *const svcdot;
     55      1.1  mrg     extern const function_base *const svcdot_lane;
     56      1.1  mrg     extern const function_base *const svcvtlt;
     57      1.1  mrg     extern const function_base *const svcvtx;
     58      1.1  mrg     extern const function_base *const svcvtxnt;
     59      1.1  mrg     extern const function_base *const sveor3;
     60      1.1  mrg     extern const function_base *const sveorbt;
     61      1.1  mrg     extern const function_base *const sveortb;
     62      1.1  mrg     extern const function_base *const svhadd;
     63      1.1  mrg     extern const function_base *const svhistcnt;
     64      1.1  mrg     extern const function_base *const svhistseg;
     65      1.1  mrg     extern const function_base *const svhsub;
     66      1.1  mrg     extern const function_base *const svhsubr;
     67      1.1  mrg     extern const function_base *const svldnt1_gather;
     68      1.1  mrg     extern const function_base *const svldnt1sb_gather;
     69      1.1  mrg     extern const function_base *const svldnt1sh_gather;
     70      1.1  mrg     extern const function_base *const svldnt1sw_gather;
     71      1.1  mrg     extern const function_base *const svldnt1ub_gather;
     72      1.1  mrg     extern const function_base *const svldnt1uh_gather;
     73      1.1  mrg     extern const function_base *const svldnt1uw_gather;
     74      1.1  mrg     extern const function_base *const svlogb;
     75      1.1  mrg     extern const function_base *const svmatch;
     76      1.1  mrg     extern const function_base *const svmaxp;
     77      1.1  mrg     extern const function_base *const svmaxnmp;
     78      1.1  mrg     extern const function_base *const svmlalb;
     79      1.1  mrg     extern const function_base *const svmlalb_lane;
     80      1.1  mrg     extern const function_base *const svmlalt;
     81      1.1  mrg     extern const function_base *const svmlalt_lane;
     82      1.1  mrg     extern const function_base *const svmlslb;
     83      1.1  mrg     extern const function_base *const svmlslb_lane;
     84      1.1  mrg     extern const function_base *const svmlslt;
     85      1.1  mrg     extern const function_base *const svmlslt_lane;
     86      1.1  mrg     extern const function_base *const svminp;
     87      1.1  mrg     extern const function_base *const svminnmp;
     88      1.1  mrg     extern const function_base *const svmovlb;
     89      1.1  mrg     extern const function_base *const svmovlt;
     90      1.1  mrg     extern const function_base *const svmullb;
     91      1.1  mrg     extern const function_base *const svmullb_lane;
     92      1.1  mrg     extern const function_base *const svmullt;
     93      1.1  mrg     extern const function_base *const svmullt_lane;
     94      1.1  mrg     extern const function_base *const svnbsl;
     95      1.1  mrg     extern const function_base *const svnmatch;
     96      1.1  mrg     extern const function_base *const svpmul;
     97      1.1  mrg     extern const function_base *const svpmullb;
     98      1.1  mrg     extern const function_base *const svpmullb_pair;
     99      1.1  mrg     extern const function_base *const svpmullt;
    100      1.1  mrg     extern const function_base *const svpmullt_pair;
    101      1.1  mrg     extern const function_base *const svqabs;
    102      1.1  mrg     extern const function_base *const svqcadd;
    103      1.1  mrg     extern const function_base *const svqdmlalb;
    104      1.1  mrg     extern const function_base *const svqdmlalb_lane;
    105      1.1  mrg     extern const function_base *const svqdmlalbt;
    106      1.1  mrg     extern const function_base *const svqdmlalt;
    107      1.1  mrg     extern const function_base *const svqdmlalt_lane;
    108      1.1  mrg     extern const function_base *const svqdmlslb;
    109      1.1  mrg     extern const function_base *const svqdmlslb_lane;
    110      1.1  mrg     extern const function_base *const svqdmlslbt;
    111      1.1  mrg     extern const function_base *const svqdmlslt;
    112      1.1  mrg     extern const function_base *const svqdmlslt_lane;
    113      1.1  mrg     extern const function_base *const svqdmulh;
    114      1.1  mrg     extern const function_base *const svqdmulh_lane;
    115      1.1  mrg     extern const function_base *const svqdmullb;
    116      1.1  mrg     extern const function_base *const svqdmullb_lane;
    117      1.1  mrg     extern const function_base *const svqdmullt;
    118      1.1  mrg     extern const function_base *const svqdmullt_lane;
    119      1.1  mrg     extern const function_base *const svqneg;
    120      1.1  mrg     extern const function_base *const svqrdcmlah;
    121      1.1  mrg     extern const function_base *const svqrdcmlah_lane;
    122      1.1  mrg     extern const function_base *const svqrdmulh;
    123      1.1  mrg     extern const function_base *const svqrdmulh_lane;
    124      1.1  mrg     extern const function_base *const svqrdmlah;
    125      1.1  mrg     extern const function_base *const svqrdmlah_lane;
    126      1.1  mrg     extern const function_base *const svqrdmlsh;
    127      1.1  mrg     extern const function_base *const svqrdmlsh_lane;
    128      1.1  mrg     extern const function_base *const svqrshl;
    129      1.1  mrg     extern const function_base *const svqrshrnb;
    130      1.1  mrg     extern const function_base *const svqrshrnt;
    131      1.1  mrg     extern const function_base *const svqrshrunb;
    132      1.1  mrg     extern const function_base *const svqrshrunt;
    133      1.1  mrg     extern const function_base *const svqshl;
    134      1.1  mrg     extern const function_base *const svqshlu;
    135      1.1  mrg     extern const function_base *const svqshrnb;
    136      1.1  mrg     extern const function_base *const svqshrnt;
    137      1.1  mrg     extern const function_base *const svqshrunb;
    138      1.1  mrg     extern const function_base *const svqshrunt;
    139      1.1  mrg     extern const function_base *const svqsubr;
    140      1.1  mrg     extern const function_base *const svqxtnb;
    141      1.1  mrg     extern const function_base *const svqxtnt;
    142      1.1  mrg     extern const function_base *const svqxtunb;
    143      1.1  mrg     extern const function_base *const svqxtunt;
    144      1.1  mrg     extern const function_base *const svraddhnb;
    145      1.1  mrg     extern const function_base *const svraddhnt;
    146      1.1  mrg     extern const function_base *const svrax1;
    147      1.1  mrg     extern const function_base *const svrhadd;
    148      1.1  mrg     extern const function_base *const svrshl;
    149      1.1  mrg     extern const function_base *const svrshr;
    150      1.1  mrg     extern const function_base *const svrshrnb;
    151      1.1  mrg     extern const function_base *const svrshrnt;
    152      1.1  mrg     extern const function_base *const svrsra;
    153      1.1  mrg     extern const function_base *const svrsubhnb;
    154      1.1  mrg     extern const function_base *const svrsubhnt;
    155      1.1  mrg     extern const function_base *const svsbclb;
    156      1.1  mrg     extern const function_base *const svsbclt;
    157      1.1  mrg     extern const function_base *const svshllb;
    158      1.1  mrg     extern const function_base *const svshllt;
    159      1.1  mrg     extern const function_base *const svshrnb;
    160      1.1  mrg     extern const function_base *const svshrnt;
    161      1.1  mrg     extern const function_base *const svsli;
    162      1.1  mrg     extern const function_base *const svsm4e;
    163      1.1  mrg     extern const function_base *const svsm4ekey;
    164      1.1  mrg     extern const function_base *const svsqadd;
    165      1.1  mrg     extern const function_base *const svsra;
    166      1.1  mrg     extern const function_base *const svsri;
    167      1.1  mrg     extern const function_base *const svstnt1_scatter;
    168      1.1  mrg     extern const function_base *const svstnt1b_scatter;
    169      1.1  mrg     extern const function_base *const svstnt1h_scatter;
    170      1.1  mrg     extern const function_base *const svstnt1w_scatter;
    171      1.1  mrg     extern const function_base *const svsubhnb;
    172      1.1  mrg     extern const function_base *const svsubhnt;
    173      1.1  mrg     extern const function_base *const svsublb;
    174      1.1  mrg     extern const function_base *const svsublbt;
    175      1.1  mrg     extern const function_base *const svsublt;
    176      1.1  mrg     extern const function_base *const svsubltb;
    177      1.1  mrg     extern const function_base *const svsubwb;
    178      1.1  mrg     extern const function_base *const svsubwt;
    179      1.1  mrg     extern const function_base *const svtbl2;
    180      1.1  mrg     extern const function_base *const svtbx;
    181      1.1  mrg     extern const function_base *const svuqadd;
    182      1.1  mrg     extern const function_base *const svwhilege;
    183      1.1  mrg     extern const function_base *const svwhilegt;
    184      1.1  mrg     extern const function_base *const svwhilerw;
    185      1.1  mrg     extern const function_base *const svwhilewr;
    186      1.1  mrg     extern const function_base *const svxar;
    187      1.1  mrg   }
    188      1.1  mrg }
    189      1.1  mrg 
    190      1.1  mrg #endif
    191