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