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 {