xsaveoptintrin.h revision 353358
1105756Srwatson/*===---- xsaveoptintrin.h - XSAVEOPT intrinsic ----------------------------===
2105756Srwatson *
3105756Srwatson * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4105756Srwatson * See https://llvm.org/LICENSE.txt for license information.
5105756Srwatson * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6105756Srwatson *
7105756Srwatson *===-----------------------------------------------------------------------===
8105756Srwatson */
9105756Srwatson
10105756Srwatson#ifndef __IMMINTRIN_H
11105756Srwatson#error "Never use <xsaveoptintrin.h> directly; include <immintrin.h> instead."
12105756Srwatson#endif
13105756Srwatson
14105756Srwatson#ifndef __XSAVEOPTINTRIN_H
15105756Srwatson#define __XSAVEOPTINTRIN_H
16105756Srwatson
17105756Srwatson/* Define the default attributes for the functions in this file. */
18105756Srwatson#define __DEFAULT_FN_ATTRS __attribute__((__always_inline__, __nodebug__,  __target__("xsaveopt")))
19105756Srwatson
20105756Srwatsonstatic __inline__ void __DEFAULT_FN_ATTRS
21105756Srwatson_xsaveopt(void *__p, unsigned long long __m) {
22105756Srwatson  __builtin_ia32_xsaveopt(__p, __m);
23105756Srwatson}
24105756Srwatson
25105756Srwatson#ifdef __x86_64__
26105756Srwatsonstatic __inline__ void __DEFAULT_FN_ATTRS
27105756Srwatson_xsaveopt64(void *__p, unsigned long long __m) {
28105756Srwatson  __builtin_ia32_xsaveopt64(__p, __m);
29105756Srwatson}
30105756Srwatson#endif
31105756Srwatson
32105756Srwatson#undef __DEFAULT_FN_ATTRS
33105756Srwatson
34105756Srwatson#endif
35105756Srwatson