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