Mercurial > hg > CbC > CbC_gcc
comparison gcc/config/i386/cetintrin.h @ 131:84e7813d76e9
gcc-8.2
author | mir3636 |
---|---|
date | Thu, 25 Oct 2018 07:37:49 +0900 |
parents | 04ced10e8804 |
children | 1830386684a0 |
comparison
equal
deleted
inserted
replaced
111:04ced10e8804 | 131:84e7813d76e9 |
---|---|
1 /* Copyright (C) 2015-2017 Free Software Foundation, Inc. | 1 /* Copyright (C) 2015-2018 Free Software Foundation, Inc. |
2 | 2 |
3 This file is part of GCC. | 3 This file is part of GCC. |
4 | 4 |
5 GCC is free software; you can redistribute it and/or modify | 5 GCC is free software; you can redistribute it and/or modify |
6 it under the terms of the GNU General Public License as published by | 6 it under the terms of the GNU General Public License as published by |
32 #pragma GCC push_options | 32 #pragma GCC push_options |
33 #pragma GCC target ("shstk") | 33 #pragma GCC target ("shstk") |
34 #define __DISABLE_SHSTK__ | 34 #define __DISABLE_SHSTK__ |
35 #endif /* __SHSTK__ */ | 35 #endif /* __SHSTK__ */ |
36 | 36 |
37 extern __inline unsigned int | |
38 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) | |
39 _rdsspd (unsigned int __B) | |
40 { | |
41 return __builtin_ia32_rdsspd (__B); | |
42 } | |
43 | |
44 #ifdef __x86_64__ | 37 #ifdef __x86_64__ |
45 extern __inline unsigned long long | 38 extern __inline unsigned long long |
46 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) | 39 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) |
47 _rdsspq (unsigned long long __B) | 40 _get_ssp (void) |
48 { | 41 { |
49 return __builtin_ia32_rdsspq (__B); | 42 return __builtin_ia32_rdsspq (); |
43 } | |
44 #else | |
45 extern __inline unsigned int | |
46 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) | |
47 _get_ssp (void) | |
48 { | |
49 return __builtin_ia32_rdsspd (); | |
50 } | 50 } |
51 #endif | 51 #endif |
52 | 52 |
53 extern __inline void | 53 extern __inline void |
54 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) | 54 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) |
55 _incsspd (unsigned int __B) | 55 _inc_ssp (unsigned int __B) |
56 { | 56 { |
57 #ifdef __x86_64__ | |
58 __builtin_ia32_incsspq ((unsigned long long) __B); | |
59 #else | |
57 __builtin_ia32_incsspd (__B); | 60 __builtin_ia32_incsspd (__B); |
61 #endif | |
58 } | 62 } |
59 | |
60 #ifdef __x86_64__ | |
61 extern __inline void | |
62 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) | |
63 _incsspq (unsigned long long __B) | |
64 { | |
65 __builtin_ia32_incsspq (__B); | |
66 } | |
67 #endif | |
68 | 63 |
69 extern __inline void | 64 extern __inline void |
70 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) | 65 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) |
71 _saveprevssp (void) | 66 _saveprevssp (void) |
72 { | 67 { |