Home | History | Annotate | Line # | Download | only in aarch64
aarch64-sve-builtins-sve2.h revision 1.1
      1  1.1  mrg /* ACLE support for AArch64 SVE (__ARM_FEATURE_SVE intrinsics)
      2  1.1  mrg    Copyright (C) 2020 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