1341825Sdim/*===---- xsaveoptintrin.h - XSAVEOPT intrinsic ----------------------------=== 2292920Sdim * 3353358Sdim * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4353358Sdim * See https://llvm.org/LICENSE.txt for license information. 5353358Sdim * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6292920Sdim * 7292920Sdim *===-----------------------------------------------------------------------=== 8292920Sdim */ 9292920Sdim 10292920Sdim#ifndef __IMMINTRIN_H 11292920Sdim#error "Never use <xsaveoptintrin.h> directly; include <immintrin.h> instead." 12292920Sdim#endif 13292920Sdim 14292920Sdim#ifndef __XSAVEOPTINTRIN_H 15292920Sdim#define __XSAVEOPTINTRIN_H 16292920Sdim 17292920Sdim/* Define the default attributes for the functions in this file. */ 18292920Sdim#define __DEFAULT_FN_ATTRS __attribute__((__always_inline__, __nodebug__, __target__("xsaveopt"))) 19292920Sdim 20292920Sdimstatic __inline__ void __DEFAULT_FN_ATTRS 21292920Sdim_xsaveopt(void *__p, unsigned long long __m) { 22341825Sdim __builtin_ia32_xsaveopt(__p, __m); 23292920Sdim} 24292920Sdim 25292920Sdim#ifdef __x86_64__ 26292920Sdimstatic __inline__ void __DEFAULT_FN_ATTRS 27292920Sdim_xsaveopt64(void *__p, unsigned long long __m) { 28341825Sdim __builtin_ia32_xsaveopt64(__p, __m); 29292920Sdim} 30292920Sdim#endif 31292920Sdim 32292920Sdim#undef __DEFAULT_FN_ATTRS 33292920Sdim 34292920Sdim#endif 35