]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/config/i386/adxintrin.h
Update copyright years.
[thirdparty/gcc.git] / gcc / config / i386 / adxintrin.h
CommitLineData
7adcbafe 1/* Copyright (C) 2012-2022 Free Software Foundation, Inc.
d05e383b
MZ
2
3 This file is part of GCC.
4
5 GCC is free software; you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation; either version 3, or (at your option)
8 any later version.
9
10 GCC 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
13 GNU General Public License for more details.
14
15 Under Section 7 of GPL version 3, you are granted additional
16 permissions described in the GCC Runtime Library Exception, version
17 3.1, as published by the Free Software Foundation.
18
19 You should have received a copy of the GNU General Public License and
20 a copy of the GCC Runtime Library Exception along with this program;
21 see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
22 <http://www.gnu.org/licenses/>. */
23
59a95143
L
24#ifndef _X86GPRINTRIN_H_INCLUDED
25# error "Never use <adxintrin.h> directly; include <x86gprintrin.h> instead."
d05e383b
MZ
26#endif
27
d05e383b
MZ
28#ifndef _ADXINTRIN_H_INCLUDED
29#define _ADXINTRIN_H_INCLUDED
30
9c6fb3ba
IT
31extern __inline unsigned char
32__attribute__((__gnu_inline__, __always_inline__, __artificial__))
33_subborrow_u32 (unsigned char __CF, unsigned int __X,
810cb191 34 unsigned int __Y, unsigned int *__P)
9c6fb3ba 35{
1fcfac88 36 return __builtin_ia32_sbb_u32 (__CF, __X, __Y, __P);
9c6fb3ba
IT
37}
38
39extern __inline unsigned char
40__attribute__((__gnu_inline__, __always_inline__, __artificial__))
41_addcarry_u32 (unsigned char __CF, unsigned int __X,
42 unsigned int __Y, unsigned int *__P)
43{
810cb191 44 return __builtin_ia32_addcarryx_u32 (__CF, __X, __Y, __P);
9c6fb3ba
IT
45}
46
d05e383b
MZ
47extern __inline unsigned char
48__attribute__((__gnu_inline__, __always_inline__, __artificial__))
49_addcarryx_u32 (unsigned char __CF, unsigned int __X,
50 unsigned int __Y, unsigned int *__P)
51{
810cb191 52 return __builtin_ia32_addcarryx_u32 (__CF, __X, __Y, __P);
d05e383b
MZ
53}
54
55#ifdef __x86_64__
9c6fb3ba
IT
56extern __inline unsigned char
57__attribute__((__gnu_inline__, __always_inline__, __artificial__))
96f6e029 58_subborrow_u64 (unsigned char __CF, unsigned long long __X,
810cb191 59 unsigned long long __Y, unsigned long long *__P)
9c6fb3ba 60{
1fcfac88 61 return __builtin_ia32_sbb_u64 (__CF, __X, __Y, __P);
9c6fb3ba
IT
62}
63
64extern __inline unsigned char
65__attribute__((__gnu_inline__, __always_inline__, __artificial__))
96f6e029
IT
66_addcarry_u64 (unsigned char __CF, unsigned long long __X,
67 unsigned long long __Y, unsigned long long *__P)
9c6fb3ba 68{
810cb191 69 return __builtin_ia32_addcarryx_u64 (__CF, __X, __Y, __P);
9c6fb3ba
IT
70}
71
d05e383b
MZ
72extern __inline unsigned char
73__attribute__((__gnu_inline__, __always_inline__, __artificial__))
96f6e029
IT
74_addcarryx_u64 (unsigned char __CF, unsigned long long __X,
75 unsigned long long __Y, unsigned long long *__P)
d05e383b 76{
810cb191 77 return __builtin_ia32_addcarryx_u64 (__CF, __X, __Y, __P);
d05e383b
MZ
78}
79#endif
80
81#endif /* _ADXINTRIN_H_INCLUDED */