Home | History | Annotate | Line # | Download | only in aarch64
      1 /* ACLE support for AArch64 SME.
      2    Copyright (C) 2023-2024 Free Software Foundation, Inc.
      3 
      4    This file is part of GCC.
      5 
      6    GCC is free software; you can redistribute it and/or modify it
      7    under the terms of the GNU General Public License as published by
      8    the Free Software Foundation; either version 3, or (at your option)
      9    any later version.
     10 
     11    GCC is distributed in the hope that it will be useful, but
     12    WITHOUT ANY WARRANTY; without even the implied warranty of
     13    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
     14    General Public License for more details.
     15 
     16    You should have received a copy of the GNU General Public License
     17    along with GCC; see the file COPYING3.  If not see
     18    <http://www.gnu.org/licenses/>.  */
     19 
     20 #ifndef GCC_AARCH64_SVE_BUILTINS_SME_H
     21 #define GCC_AARCH64_SVE_BUILTINS_SME_H
     22 
     23 namespace aarch64_sve
     24 {
     25   namespace functions
     26   {
     27     extern const function_base *const arm_has_sme;
     28     extern const function_base *const arm_in_streaming_mode;
     29     extern const function_base *const svadd_za;
     30     extern const function_base *const svadd_write_za;
     31     extern const function_base *const svaddha_za;
     32     extern const function_base *const svaddva_za;
     33     extern const function_base *const svbmopa_za;
     34     extern const function_base *const svbmops_za;
     35     extern const function_base *const svcntsb;
     36     extern const function_base *const svcntsd;
     37     extern const function_base *const svcntsh;
     38     extern const function_base *const svcntsw;
     39     extern const function_base *const svdot_za;
     40     extern const function_base *const svdot_lane_za;
     41     extern const function_base *const svld1_hor_za;
     42     extern const function_base *const svld1_ver_za;
     43     extern const function_base *const svldr_za;
     44     extern const function_base *const svldr_zt;
     45     extern const function_base *const svluti2_lane_zt;
     46     extern const function_base *const svluti4_lane_zt;
     47     extern const function_base *const svmla_za;
     48     extern const function_base *const svmla_lane_za;
     49     extern const function_base *const svmls_za;
     50     extern const function_base *const svmls_lane_za;
     51     extern const function_base *const svmopa_za;
     52     extern const function_base *const svmops_za;
     53     extern const function_base *const svread_za;
     54     extern const function_base *const svread_hor_za;
     55     extern const function_base *const svread_ver_za;
     56     extern const function_base *const svst1_hor_za;
     57     extern const function_base *const svst1_ver_za;
     58     extern const function_base *const svstr_za;
     59     extern const function_base *const svstr_zt;
     60     extern const function_base *const svsub_za;
     61     extern const function_base *const svsub_write_za;
     62     extern const function_base *const svsudot_za;
     63     extern const function_base *const svsudot_lane_za;
     64     extern const function_base *const svsuvdot_lane_za;
     65     extern const function_base *const svsumopa_za;
     66     extern const function_base *const svsumops_za;
     67     extern const function_base *const svusdot_za;
     68     extern const function_base *const svusdot_lane_za;
     69     extern const function_base *const svusvdot_lane_za;
     70     extern const function_base *const svusmopa_za;
     71     extern const function_base *const svusmops_za;
     72     extern const function_base *const svwrite_za;
     73     extern const function_base *const svwrite_hor_za;
     74     extern const function_base *const svwrite_ver_za;
     75     extern const function_base *const svundef_za;
     76     extern const function_base *const svvdot_lane_za;
     77     extern const function_base *const svzero_mask_za;
     78     extern const function_base *const svzero_za;
     79     extern const function_base *const svzero_zt;
     80   }
     81 }
     82 
     83 #endif
     84