xref: /netbsd-src/external/gpl3/gcc/dist/gcc/config/arm/arm-mve-builtins.def (revision b1e838363e3c6fc78a55519254d99869742dd33c)
1/* Builtin lists for Arm MVE
2   Copyright (C) 2021-2022 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 DEF_MVE_TYPE
21#error "arm-mve-builtins.def included without defining DEF_MVE_TYPE"
22#endif
23
24#define REQUIRES_FLOAT false
25DEF_MVE_TYPE (mve_pred16_t, boolean_type_node)
26DEF_MVE_TYPE (uint8x16_t, unsigned_intQI_type_node)
27DEF_MVE_TYPE (uint16x8_t, unsigned_intHI_type_node)
28DEF_MVE_TYPE (uint32x4_t, unsigned_intSI_type_node)
29DEF_MVE_TYPE (uint64x2_t, unsigned_intDI_type_node)
30DEF_MVE_TYPE (int8x16_t, intQI_type_node)
31DEF_MVE_TYPE (int16x8_t, intHI_type_node)
32DEF_MVE_TYPE (int32x4_t, intSI_type_node)
33DEF_MVE_TYPE (int64x2_t, intDI_type_node)
34#undef REQUIRES_FLOAT
35
36#define REQUIRES_FLOAT true
37DEF_MVE_TYPE (float16x8_t, arm_fp16_type_node)
38DEF_MVE_TYPE (float32x4_t, float_type_node)
39#undef REQUIRES_FLOAT
40