cldemoteintrin.h revision 353358
1210300Sdelphij/*===---- cldemoteintrin.h - CLDEMOTE intrinsic ----------------------------===
2128898Ssmkelly *
3247405Salfred * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4247405Salfred * See https://llvm.org/LICENSE.txt for license information.
5247405Salfred * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6116874Ssmkelly *
7116874Ssmkelly *===-----------------------------------------------------------------------===
8116874Ssmkelly */
9116874Ssmkelly
10116874Ssmkelly#if !defined __X86INTRIN_H && !defined __IMMINTRIN_H
11116874Ssmkelly#error "Never use <cldemoteintrin.h> directly; include <x86intrin.h> instead."
12116874Ssmkelly#endif
13116874Ssmkelly
14116874Ssmkelly#ifndef __CLDEMOTEINTRIN_H
15116874Ssmkelly#define __CLDEMOTEINTRIN_H
16116874Ssmkelly
17116874Ssmkelly/* Define the default attributes for the functions in this file. */
18116874Ssmkelly#define __DEFAULT_FN_ATTRS \
19116874Ssmkelly  __attribute__((__always_inline__, __nodebug__,  __target__("cldemote")))
20116874Ssmkelly
21116874Ssmkellystatic __inline__ void __DEFAULT_FN_ATTRS
22116874Ssmkelly_cldemote(const void * __P) {
23116874Ssmkelly  __builtin_ia32_cldemote(__P);
24116874Ssmkelly}
25116874Ssmkelly
26116874Ssmkelly#undef __DEFAULT_FN_ATTRS
27116874Ssmkelly
28116874Ssmkelly#endif
29116874Ssmkelly