@@ -66,6 +66,15 @@ features! {
66
66
/// * `"avx512ifma"`
67
67
/// * `"avx512vbmi"`
68
68
/// * `"avx512vpopcntdq"`
69
+ /// * `"avx512vbmi2"`
70
+ /// * `"avx512gfni"`
71
+ /// * `"avx512vaes"`
72
+ /// * `"avx512vpclmulqdq"`
73
+ /// * `"avx512vnni"`
74
+ /// * `"avx512bitalg"`
75
+ /// * `"avx512bf16"`
76
+ /// * `"avx512vp2intersect"`
77
+ /// * `"f16c"`
69
78
/// * `"fma"`
70
79
/// * `"bmi1"`
71
80
/// * `"bmi2"`
@@ -78,6 +87,9 @@ features! {
78
87
/// * `"xsaveopt"`
79
88
/// * `"xsaves"`
80
89
/// * `"xsavec"`
90
+ /// * `"cmpxchg16b"`
91
+ /// * `"adx"`
92
+ /// * `"rtm"`
81
93
///
82
94
/// [docs]: https://software.intel.com/sites/landingpage/IntrinsicsGuide
83
95
#[ stable( feature = "simd_x86" , since = "1.27.0" ) ]
@@ -86,7 +98,7 @@ features! {
86
98
/// AES (Advanced Encryption Standard New Instructions AES-NI)
87
99
@FEATURE : #[ stable( feature = "simd_x86" , since = "1.27.0" ) ] pclmulqdq: "pclmulqdq" ;
88
100
/// CLMUL (Carry-less Multiplication)
89
- @FEATURE : #[ stable( feature = "simd_x86" , since = "1.27.0" ) ] rdrand: "rdrand" ;
101
+ @FEATURE : #[ stable( feature = "simd_x86" , since = "1.27.0" ) ] rdrand: "rdrand" ;
90
102
/// RDRAND
91
103
@FEATURE : #[ stable( feature = "simd_x86" , since = "1.27.0" ) ] rdseed: "rdseed" ;
92
104
/// RDSEED
@@ -114,10 +126,6 @@ features! {
114
126
/// AVX (Advanced Vector Extensions)
115
127
@FEATURE : #[ stable( feature = "simd_x86" , since = "1.27.0" ) ] avx2: "avx2" ;
116
128
/// AVX2 (Advanced Vector Extensions 2)
117
- // Detection for the AVX-512 features below was accidentally stabilized in
118
- // Rust 1.27.0, even though the corresponding intrinsics are still unstable
119
- // or unimplemeted. There are stable callers who rely on detection support,
120
- // e.g. to call AVX-512 C code via FFI.
121
129
@FEATURE : #[ stable( feature = "simd_x86" , since = "1.27.0" ) ] avx512f: "avx512f" ;
122
130
/// AVX-512 F (Foundation)
123
131
@FEATURE : #[ stable( feature = "simd_x86" , since = "1.27.0" ) ] avx512cd: "avx512cd" ;
@@ -132,30 +140,32 @@ features! {
132
140
/// AVX-512 DQ (Doubleword and Quadword)
133
141
@FEATURE : #[ stable( feature = "simd_x86" , since = "1.27.0" ) ] avx512vl: "avx512vl" ;
134
142
/// AVX-512 VL (Vector Length Extensions)
135
- @FEATURE : #[ unstable ( feature = "stdsimd " , issue = "27731 " ) ] avx512ifma: "avx512ifma" ;
143
+ @FEATURE : #[ stable ( feature = "simd_x86 " , since = "1.27.0 " ) ] avx512ifma: "avx512ifma" ;
136
144
/// AVX-512 IFMA (Integer Fused Multiply Add)
137
- @FEATURE : #[ unstable ( feature = "stdsimd " , issue = "27731 " ) ] avx512vbmi: "avx512vbmi" ;
145
+ @FEATURE : #[ stable ( feature = "simd_x86 " , since = "1.27.0 " ) ] avx512vbmi: "avx512vbmi" ;
138
146
/// AVX-512 VBMI (Vector Byte Manipulation Instructions)
139
- @FEATURE : #[ unstable ( feature = "stdsimd " , issue = "27731 " ) ] avx512vpopcntdq: "avx512vpopcntdq" ;
147
+ @FEATURE : #[ stable ( feature = "simd_x86 " , since = "1.27.0 " ) ] avx512vpopcntdq: "avx512vpopcntdq" ;
140
148
/// AVX-512 VPOPCNTDQ (Vector Population Count Doubleword and
141
149
/// Quadword)
142
- @FEATURE : #[ unstable ( feature = "stdsimd " , issue = "27731 " ) ] avx512vbmi2: "avx512vbmi2" ;
150
+ @FEATURE : #[ stable ( feature = "simd_x86 " , since = "1.43.0 " ) ] avx512vbmi2: "avx512vbmi2" ;
143
151
/// AVX-512 VBMI2 (Additional byte, word, dword and qword capabilities)
144
- @FEATURE : #[ unstable ( feature = "stdsimd " , issue = "27731 " ) ] avx512gfni: "avx512gfni" ;
152
+ @FEATURE : #[ stable ( feature = "simd_x86 " , since = "1.43.0 " ) ] avx512gfni: "avx512gfni" ;
145
153
/// AVX-512 GFNI (Galois Field New Instruction)
146
- @FEATURE : #[ unstable ( feature = "stdsimd " , issue = "27731 " ) ] avx512vaes: "avx512vaes" ;
154
+ @FEATURE : #[ stable ( feature = "simd_x86 " , since = "1.43.0 " ) ] avx512vaes: "avx512vaes" ;
147
155
/// AVX-512 VAES (Vector AES instruction)
148
- @FEATURE : #[ unstable( feature = "stdsimd" , issue = "27731" ) ] avx512vpclmulqdq: "avx512vpclmulqdq" ;
156
+ @FEATURE : #[ stable( feature = "simd_x86" , since = "1.43.0" ) ]
157
+ avx512vpclmulqdq: "avx512vpclmulqdq" ;
149
158
/// AVX-512 VPCLMULQDQ (Vector PCLMULQDQ instructions)
150
- @FEATURE : #[ unstable ( feature = "stdsimd " , issue = "27731 " ) ] avx512vnni: "avx512vnni" ;
159
+ @FEATURE : #[ stable ( feature = "simd_x86 " , since = "1.43.0 " ) ] avx512vnni: "avx512vnni" ;
151
160
/// AVX-512 VNNI (Vector Neural Network Instructions)
152
- @FEATURE : #[ unstable ( feature = "stdsimd " , issue = "27731 " ) ] avx512bitalg: "avx512bitalg" ;
161
+ @FEATURE : #[ stable ( feature = "simd_x86 " , since = "1.43.0 " ) ] avx512bitalg: "avx512bitalg" ;
153
162
/// AVX-512 BITALG (Support for VPOPCNT[B,W] and VPSHUFBITQMB)
154
- @FEATURE : #[ unstable ( feature = "stdsimd " , issue = "27731 " ) ] avx512bf16: "avx512bf16" ;
163
+ @FEATURE : #[ stable ( feature = "simd_x86 " , since = "1.43.0 " ) ] avx512bf16: "avx512bf16" ;
155
164
/// AVX-512 BF16 (BFLOAT16 instructions)
156
- @FEATURE : #[ unstable( feature = "stdsimd" , issue = "27731" ) ] avx512vp2intersect: "avx512vp2intersect" ;
165
+ @FEATURE : #[ stable( feature = "simd_x86" , since = "1.43.0" ) ]
166
+ avx512vp2intersect: "avx512vp2intersect" ;
157
167
/// AVX-512 P2INTERSECT
158
- @FEATURE : #[ unstable ( feature = "stdsimd " , issue = "27731 " ) ] f16c: "f16c" ;
168
+ @FEATURE : #[ stable ( feature = "simd_x86 " , since = "1.43.0 " ) ] f16c: "f16c" ;
159
169
/// F16C (Conversions between IEEE-754 `binary16` and `binary32` formats)
160
170
@FEATURE : #[ stable( feature = "simd_x86" , since = "1.27.0" ) ] fma: "fma" ;
161
171
/// FMA (Fused Multiply Add)
@@ -179,10 +189,10 @@ features! {
179
189
/// XSAVES (Save Processor Extended States Supervisor)
180
190
@FEATURE : #[ stable( feature = "simd_x86" , since = "1.27.0" ) ] xsavec: "xsavec" ;
181
191
/// XSAVEC (Save Processor Extended States Compacted)
182
- @FEATURE : #[ unstable ( feature = "stdsimd " , issue = "27731 " ) ] cmpxchg16b: "cmpxchg16b" ;
192
+ @FEATURE : #[ stable ( feature = "simd_x86 " , since = "1.43.0 " ) ] cmpxchg16b: "cmpxchg16b" ;
183
193
/// CMPXCH16B (16-byte compare-and-swap instruction)
184
194
@FEATURE : #[ stable( feature = "simd_x86_adx" , since = "1.33.0" ) ] adx: "adx" ;
185
195
/// ADX, Intel ADX (Multi-Precision Add-Carry Instruction Extensions)
186
- @FEATURE : #[ unstable ( feature = "stdsimd " , issue = "27731 " ) ] rtm: "rtm" ;
196
+ @FEATURE : #[ stable ( feature = "simd_x86 " , since = "1.43.0 " ) ] rtm: "rtm" ;
187
197
/// RTM, Intel (Restricted Transactional Memory)
188
198
}
0 commit comments