Update copyright dates with scripts/update-copyrights
[glibc.git] / sysdeps / x86_64 / isa-default-impl.h
blob311c568d8ad885807e234814b16b13d38e7da5bd
1 /* Utility for including proper default function based on ISA level
2 Copyright (C) 2022-2023 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see
17 <https://www.gnu.org/licenses/>. */
19 #include <isa-level.h>
21 #ifndef DEFAULT_IMPL_V1
22 # error "Must have at least ISA V1 Version"
23 #endif
25 #ifndef DEFAULT_IMPL_V2
26 # define DEFAULT_IMPL_V2 DEFAULT_IMPL_V1
27 #endif
29 #ifndef DEFAULT_IMPL_V3
30 # define DEFAULT_IMPL_V3 DEFAULT_IMPL_V2
31 #endif
33 #ifndef DEFAULT_IMPL_V4
34 # define DEFAULT_IMPL_V4 DEFAULT_IMPL_V3
35 #endif
37 #if MINIMUM_X86_ISA_LEVEL == 1
38 # define ISA_DEFAULT_IMPL DEFAULT_IMPL_V1
39 #elif MINIMUM_X86_ISA_LEVEL == 2
40 # define ISA_DEFAULT_IMPL DEFAULT_IMPL_V2
41 #elif MINIMUM_X86_ISA_LEVEL == 3
42 # define ISA_DEFAULT_IMPL DEFAULT_IMPL_V3
43 #elif MINIMUM_X86_ISA_LEVEL == 4
44 # define ISA_DEFAULT_IMPL DEFAULT_IMPL_V4
45 #else
46 # error "Unsupported ISA Level!"
47 #endif
49 #include ISA_DEFAULT_IMPL