xsavecintrin.h revision 355940
1279546Sbapt/*===---- xsavecintrin.h - XSAVEC intrinsic --------------------------------===
2279546Sbapt *
3279546Sbapt * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4279546Sbapt * See https://llvm.org/LICENSE.txt for license information.
5279546Sbapt * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6279546Sbapt *
7279546Sbapt *===-----------------------------------------------------------------------===
8279546Sbapt */
9279546Sbapt
10279546Sbapt#ifndef __IMMINTRIN_H
11279546Sbapt#error "Never use <xsavecintrin.h> directly; include <immintrin.h> instead."
12279546Sbapt#endif
13279546Sbapt
14279546Sbapt#ifndef __XSAVECINTRIN_H
15279546Sbapt#define __XSAVECINTRIN_H
16279546Sbapt
17279546Sbapt/* Define the default attributes for the functions in this file. */
18279546Sbapt#define __DEFAULT_FN_ATTRS __attribute__((__always_inline__, __nodebug__,  __target__("xsavec")))
19279546Sbapt
20279546Sbaptstatic __inline__ void __DEFAULT_FN_ATTRS
21279546Sbapt_xsavec(void *__p, unsigned long long __m) {
22279546Sbapt  __builtin_ia32_xsavec(__p, __m);
23279546Sbapt}
24279546Sbapt
25279546Sbapt#ifdef __x86_64__
26279546Sbaptstatic __inline__ void __DEFAULT_FN_ATTRS
27279546Sbapt_xsavec64(void *__p, unsigned long long __m) {
28279546Sbapt  __builtin_ia32_xsavec64(__p, __m);
29279546Sbapt}
30279546Sbapt#endif
31279546Sbapt
32279546Sbapt#undef __DEFAULT_FN_ATTRS
33279546Sbapt
34279546Sbapt#endif
35279546Sbapt