1 /* Definition of RISC-V feature bits corresponding to
2 libgcc/config/riscv/feature_bits.c
3 Copyright (C) 2024-2025 Free Software Foundation, Inc.
5 This file is part of GCC.
7 GCC is free software; you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation; either version 3, or (at your option)
12 GCC is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
17 You should have received a copy of the GNU General Public License
18 along with GCC; see the file COPYING3. If not see
19 <http://www.gnu.org/licenses/>. */
21 #ifndef GCC_RISCV_FEATURE_BITS_H
22 #define GCC_RISCV_FEATURE_BITS_H
24 #define RISCV_FEATURE_BITS_LENGTH 2
26 struct riscv_feature_bits
{
28 unsigned long long features
[RISCV_FEATURE_BITS_LENGTH
];
31 #define RISCV_VENDOR_FEATURE_BITS_LENGTH 1
33 struct riscv_vendor_feature_bits
{
35 unsigned long long features
[RISCV_VENDOR_FEATURE_BITS_LENGTH
];
38 struct riscv_cpu_model
{
40 unsigned long long marchid
;
41 unsigned long long mimpid
;
44 #endif /* GCC_RISCV_FEATURE_BITS_H */