@@ -28,6 +28,9 @@ types! {
28
28
/// internal bits differently, check the documentation of the intrinsic
29
29
/// to see how it's being used.
30
30
///
31
+ /// The memory layout of this type (*not* the ABI!) is the same as the
32
+ /// layout of the corresponding array type(s).
33
+ ///
31
34
/// Note that this means that an instance of `__m128i` typically just means
32
35
/// a "bag of bits" which is left up to interpretation at the point of use.
33
36
///
@@ -66,6 +69,9 @@ types! {
66
69
/// of `__m128` always corresponds to `f32x4`, or four `f32` types packed
67
70
/// together.
68
71
///
72
+ /// The memory layout of this type (*not* the ABI!) is the same as the
73
+ /// layout of the corresponding array type(s).
74
+ ///
69
75
/// Most intrinsics using `__m128` are prefixed with `_mm_` and are
70
76
/// suffixed with "ps" (or otherwise contain "ps"). Not to be confused with
71
77
/// "pd" which is used for `__m128d`.
@@ -102,6 +108,9 @@ types! {
102
108
/// of `__m128d` always corresponds to `f64x2`, or two `f64` types packed
103
109
/// together.
104
110
///
111
+ /// The memory layout of this type (*not* the ABI!) is the same as the
112
+ /// layout of the corresponding array type(s).
113
+ ///
105
114
/// Most intrinsics using `__m128d` are prefixed with `_mm_` and are
106
115
/// suffixed with "pd" (or otherwise contain "pd"). Not to be confused with
107
116
/// "ps" which is used for `__m128`.
@@ -143,6 +152,9 @@ types! {
143
152
/// internal bits differently, check the documentation of the intrinsic
144
153
/// to see how it's being used.
145
154
///
155
+ /// The memory layout of this type (*not* the ABI!) is the same as the
156
+ /// layout of the corresponding array type(s).
157
+ ///
146
158
/// Note that this means that an instance of `__m256i` typically just means
147
159
/// a "bag of bits" which is left up to interpretation at the point of use.
148
160
///
@@ -178,6 +190,9 @@ types! {
178
190
/// of `__m256` always corresponds to `f32x8`, or eight `f32` types packed
179
191
/// together.
180
192
///
193
+ /// The memory layout of this type (*not* the ABI!) is the same as the
194
+ /// layout of the corresponding array type(s).
195
+ ///
181
196
/// Most intrinsics using `__m256` are prefixed with `_mm256_` and are
182
197
/// suffixed with "ps" (or otherwise contain "ps"). Not to be confused with
183
198
/// "pd" which is used for `__m256d`.
@@ -214,6 +229,9 @@ types! {
214
229
/// of `__m256d` always corresponds to `f64x4`, or four `f64` types packed
215
230
/// together.
216
231
///
232
+ /// The memory layout of this type (*not* the ABI!) is the same as the
233
+ /// layout of the corresponding array type(s).
234
+ ///
217
235
/// Most intrinsics using `__m256d` are prefixed with `_mm256_` and are
218
236
/// suffixed with "pd" (or otherwise contain "pd"). Not to be confused with
219
237
/// "ps" which is used for `__m256`.
@@ -259,6 +277,9 @@ types! {
259
277
/// internal bits differently, check the documentation of the intrinsic
260
278
/// to see how it's being used.
261
279
///
280
+ /// The memory layout of this type (*not* the ABI!) is the same as the
281
+ /// layout of the corresponding array type(s).
282
+ ///
262
283
/// Note that this means that an instance of `__m512i` typically just means
263
284
/// a "bag of bits" which is left up to interpretation at the point of use.
264
285
pub struct __m512i( 8 x i64 ) ;
@@ -275,6 +296,9 @@ types! {
275
296
/// of `__m512` always corresponds to `f32x16`, or sixteen `f32` types
276
297
/// packed together.
277
298
///
299
+ /// The memory layout of this type (*not* the ABI!) is the same as the
300
+ /// layout of the corresponding array type(s).
301
+ ///
278
302
/// Most intrinsics using `__m512` are prefixed with `_mm512_` and are
279
303
/// suffixed with "ps" (or otherwise contain "ps"). Not to be confused with
280
304
/// "pd" which is used for `__m512d`.
@@ -292,6 +316,9 @@ types! {
292
316
/// of `__m512d` always corresponds to `f64x4`, or eight `f64` types packed
293
317
/// together.
294
318
///
319
+ /// The memory layout of this type (*not* the ABI!) is the same as the
320
+ /// layout of the corresponding array type(s).
321
+ ///
295
322
/// Most intrinsics using `__m512d` are prefixed with `_mm512_` and are
296
323
/// suffixed with "pd" (or otherwise contain "pd"). Not to be confused with
297
324
/// "ps" which is used for `__m512`.
@@ -306,6 +333,9 @@ types! {
306
333
/// This type is representing a 128-bit SIMD register which internally is consisted of
307
334
/// eight packed `u16` instances. Its purpose is for bf16 related intrinsic
308
335
/// implementations.
336
+ ///
337
+ /// The memory layout of this type (*not* the ABI!) is the same as the
338
+ /// layout of the corresponding array type(s).
309
339
pub struct __m128bh( 8 x u16 ) ;
310
340
311
341
/// 256-bit wide set of 16 `u16` types, x86-specific
@@ -314,6 +344,9 @@ types! {
314
344
/// representing a 256-bit SIMD register which internally is consisted of
315
345
/// 16 packed `u16` instances. Its purpose is for bf16 related intrinsic
316
346
/// implementations.
347
+ ///
348
+ /// The memory layout of this type (*not* the ABI!) is the same as the
349
+ /// layout of the corresponding array type(s).
317
350
pub struct __m256bh( 16 x u16 ) ;
318
351
319
352
/// 512-bit wide set of 32 `u16` types, x86-specific
@@ -322,6 +355,9 @@ types! {
322
355
/// representing a 512-bit SIMD register which internally is consisted of
323
356
/// 32 packed `u16` instances. Its purpose is for bf16 related intrinsic
324
357
/// implementations.
358
+ ///
359
+ /// The memory layout of this type (*not* the ABI!) is the same as the
360
+ /// layout of the corresponding array type(s).
325
361
pub struct __m512bh( 32 x u16 ) ;
326
362
}
327
363
@@ -334,6 +370,9 @@ types! {
334
370
/// representing a 128-bit SIMD register which internally is consisted of
335
371
/// 8 packed `f16` instances. its purpose is for f16 related intrinsic
336
372
/// implementations.
373
+ ///
374
+ /// The memory layout of this type (*not* the ABI!) is the same as the
375
+ /// layout of the corresponding array type(s).
337
376
pub struct __m128h( 8 x f16) ;
338
377
339
378
/// 256-bit wide set of 16 `f16` types, x86-specific
@@ -342,6 +381,9 @@ types! {
342
381
/// representing a 256-bit SIMD register which internally is consisted of
343
382
/// 16 packed `f16` instances. its purpose is for f16 related intrinsic
344
383
/// implementations.
384
+ ///
385
+ /// The memory layout of this type (*not* the ABI!) is the same as the
386
+ /// layout of the corresponding array type(s).
345
387
pub struct __m256h( 16 x f16) ;
346
388
347
389
/// 512-bit wide set of 32 `f16` types, x86-specific
@@ -350,6 +392,9 @@ types! {
350
392
/// representing a 512-bit SIMD register which internally is consisted of
351
393
/// 32 packed `f16` instances. its purpose is for f16 related intrinsic
352
394
/// implementations.
395
+ ///
396
+ /// The memory layout of this type (*not* the ABI!) is the same as the
397
+ /// layout of the corresponding array type(s).
353
398
pub struct __m512h( 32 x f16) ;
354
399
}
355
400
0 commit comments