@@ -2099,9 +2099,11 @@ static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_add_epi64(__m128i __a,
2099
2099
}
2100
2100
2101
2101
/// Adds, with saturation, the corresponding elements of two 128-bit
2102
- /// signed [16 x i8] vectors, saving each sum in the corresponding element of
2103
- /// a 128-bit result vector of [16 x i8]. Positive sums greater than 0x7F are
2104
- /// saturated to 0x7F. Negative sums less than 0x80 are saturated to 0x80.
2102
+ /// signed [16 x i8] vectors, saving each sum in the corresponding element
2103
+ /// of a 128-bit result vector of [16 x i8].
2104
+ ///
2105
+ /// Positive sums greater than 0x7F are saturated to 0x7F. Negative sums
2106
+ /// less than 0x80 are saturated to 0x80.
2105
2107
///
2106
2108
/// \headerfile <x86intrin.h>
2107
2109
///
@@ -2119,10 +2121,11 @@ static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_adds_epi8(__m128i __a,
2119
2121
}
2120
2122
2121
2123
/// Adds, with saturation, the corresponding elements of two 128-bit
2122
- /// signed [8 x i16] vectors, saving each sum in the corresponding element of
2123
- /// a 128-bit result vector of [8 x i16]. Positive sums greater than 0x7FFF
2124
- /// are saturated to 0x7FFF. Negative sums less than 0x8000 are saturated to
2125
- /// 0x8000.
2124
+ /// signed [8 x i16] vectors, saving each sum in the corresponding element
2125
+ /// of a 128-bit result vector of [8 x i16].
2126
+ ///
2127
+ /// Positive sums greater than 0x7FFF are saturated to 0x7FFF. Negative sums
2128
+ /// less than 0x8000 are saturated to 0x8000.
2126
2129
///
2127
2130
/// \headerfile <x86intrin.h>
2128
2131
///
@@ -2141,8 +2144,10 @@ static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_adds_epi16(__m128i __a,
2141
2144
2142
2145
/// Adds, with saturation, the corresponding elements of two 128-bit
2143
2146
/// unsigned [16 x i8] vectors, saving each sum in the corresponding element
2144
- /// of a 128-bit result vector of [16 x i8]. Positive sums greater than 0xFF
2145
- /// are saturated to 0xFF. Negative sums are saturated to 0x00.
2147
+ /// of a 128-bit result vector of [16 x i8].
2148
+ ///
2149
+ /// Positive sums greater than 0xFF are saturated to 0xFF. Negative sums are
2150
+ /// saturated to 0x00.
2146
2151
///
2147
2152
/// \headerfile <x86intrin.h>
2148
2153
///
@@ -2161,8 +2166,10 @@ static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_adds_epu8(__m128i __a,
2161
2166
2162
2167
/// Adds, with saturation, the corresponding elements of two 128-bit
2163
2168
/// unsigned [8 x i16] vectors, saving each sum in the corresponding element
2164
- /// of a 128-bit result vector of [8 x i16]. Positive sums greater than
2165
- /// 0xFFFF are saturated to 0xFFFF. Negative sums are saturated to 0x0000.
2169
+ /// of a 128-bit result vector of [8 x i16].
2170
+ ///
2171
+ /// Positive sums greater than 0xFFFF are saturated to 0xFFFF. Negative sums
2172
+ /// are saturated to 0x0000.
2166
2173
///
2167
2174
/// \headerfile <x86intrin.h>
2168
2175
///
@@ -2518,10 +2525,12 @@ static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_sub_epi64(__m128i __a,
2518
2525
return (__m128i )((__v2du )__a - (__v2du )__b );
2519
2526
}
2520
2527
2521
- /// Subtracts corresponding 8-bit signed integer values in the input and
2522
- /// returns the differences in the corresponding bytes in the destination.
2523
- /// Differences greater than 0x7F are saturated to 0x7F, and differences less
2524
- /// than 0x80 are saturated to 0x80.
2528
+ /// Subtracts, with saturation, corresponding 8-bit signed integer values in
2529
+ /// the input and returns the differences in the corresponding bytes in the
2530
+ /// destination.
2531
+ ///
2532
+ /// Differences greater than 0x7F are saturated to 0x7F, and differences
2533
+ /// less than 0x80 are saturated to 0x80.
2525
2534
///
2526
2535
/// \headerfile <x86intrin.h>
2527
2536
///
@@ -2538,8 +2547,10 @@ static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_subs_epi8(__m128i __a,
2538
2547
return (__m128i )__builtin_elementwise_sub_sat ((__v16qs )__a , (__v16qs )__b );
2539
2548
}
2540
2549
2541
- /// Subtracts corresponding 16-bit signed integer values in the input and
2542
- /// returns the differences in the corresponding bytes in the destination.
2550
+ /// Subtracts, with saturation, corresponding 16-bit signed integer values in
2551
+ /// the input and returns the differences in the corresponding bytes in the
2552
+ /// destination.
2553
+ ///
2543
2554
/// Differences greater than 0x7FFF are saturated to 0x7FFF, and values less
2544
2555
/// than 0x8000 are saturated to 0x8000.
2545
2556
///
@@ -2558,9 +2569,11 @@ static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_subs_epi16(__m128i __a,
2558
2569
return (__m128i )__builtin_elementwise_sub_sat ((__v8hi )__a , (__v8hi )__b );
2559
2570
}
2560
2571
2561
- /// Subtracts corresponding 8-bit unsigned integer values in the input
2562
- /// and returns the differences in the corresponding bytes in the
2563
- /// destination. Differences less than 0x00 are saturated to 0x00.
2572
+ /// Subtracts, with saturation, corresponding 8-bit unsigned integer values in
2573
+ /// the input and returns the differences in the corresponding bytes in the
2574
+ /// destination.
2575
+ ///
2576
+ /// Differences less than 0x00 are saturated to 0x00.
2564
2577
///
2565
2578
/// \headerfile <x86intrin.h>
2566
2579
///
@@ -2577,9 +2590,11 @@ static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_subs_epu8(__m128i __a,
2577
2590
return (__m128i )__builtin_elementwise_sub_sat ((__v16qu )__a , (__v16qu )__b );
2578
2591
}
2579
2592
2580
- /// Subtracts corresponding 16-bit unsigned integer values in the input
2581
- /// and returns the differences in the corresponding bytes in the
2582
- /// destination. Differences less than 0x0000 are saturated to 0x0000.
2593
+ /// Subtracts, with saturation, corresponding 16-bit unsigned integer values in
2594
+ /// the input and returns the differences in the corresponding bytes in the
2595
+ /// destination.
2596
+ ///
2597
+ /// Differences less than 0x0000 are saturated to 0x0000.
2583
2598
///
2584
2599
/// \headerfile <x86intrin.h>
2585
2600
///
@@ -4050,80 +4065,68 @@ void _mm_mfence(void);
4050
4065
} // extern "C"
4051
4066
#endif
4052
4067
4053
- /// Converts 16-bit signed integers from both 128-bit integer vector
4054
- /// operands into 8-bit signed integers, and packs the results into the
4055
- /// destination. Positive values greater than 0x7F are saturated to 0x7F.
4056
- /// Negative values less than 0x80 are saturated to 0x80.
4068
+ /// Converts, with saturation, 16-bit signed integers from both 128-bit integer
4069
+ /// vector operands into 8-bit signed integers, and packs the results into
4070
+ /// the destination.
4071
+ ///
4072
+ /// Positive values greater than 0x7F are saturated to 0x7F. Negative values
4073
+ /// less than 0x80 are saturated to 0x80.
4057
4074
///
4058
4075
/// \headerfile <x86intrin.h>
4059
4076
///
4060
4077
/// This intrinsic corresponds to the <c> VPACKSSWB / PACKSSWB </c> instruction.
4061
4078
///
4062
4079
/// \param __a
4063
- /// A 128-bit integer vector of [8 x i16]. Each 16-bit element is treated as
4064
- /// a signed integer and is converted to a 8-bit signed integer with
4065
- /// saturation. Values greater than 0x7F are saturated to 0x7F. Values less
4066
- /// than 0x80 are saturated to 0x80. The converted [8 x i8] values are
4080
+ /// A 128-bit integer vector of [8 x i16]. The converted [8 x i8] values are
4067
4081
/// written to the lower 64 bits of the result.
4068
4082
/// \param __b
4069
- /// A 128-bit integer vector of [8 x i16]. Each 16-bit element is treated as
4070
- /// a signed integer and is converted to a 8-bit signed integer with
4071
- /// saturation. Values greater than 0x7F are saturated to 0x7F. Values less
4072
- /// than 0x80 are saturated to 0x80. The converted [8 x i8] values are
4083
+ /// A 128-bit integer vector of [8 x i16]. The converted [8 x i8] values are
4073
4084
/// written to the higher 64 bits of the result.
4074
4085
/// \returns A 128-bit vector of [16 x i8] containing the converted values.
4075
4086
static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_packs_epi16 (__m128i __a ,
4076
4087
__m128i __b ) {
4077
4088
return (__m128i )__builtin_ia32_packsswb128 ((__v8hi )__a , (__v8hi )__b );
4078
4089
}
4079
4090
4080
- /// Converts 32-bit signed integers from both 128-bit integer vector
4081
- /// operands into 16-bit signed integers, and packs the results into the
4082
- /// destination. Positive values greater than 0x7FFF are saturated to 0x7FFF.
4083
- /// Negative values less than 0x8000 are saturated to 0x8000.
4091
+ /// Converts, with saturation, 32-bit signed integers from both 128-bit integer
4092
+ /// vector operands into 16-bit signed integers, and packs the results into
4093
+ /// the destination.
4094
+ ///
4095
+ /// Positive values greater than 0x7FFF are saturated to 0x7FFF. Negative
4096
+ /// values less than 0x8000 are saturated to 0x8000.
4084
4097
///
4085
4098
/// \headerfile <x86intrin.h>
4086
4099
///
4087
4100
/// This intrinsic corresponds to the <c> VPACKSSDW / PACKSSDW </c> instruction.
4088
4101
///
4089
4102
/// \param __a
4090
- /// A 128-bit integer vector of [4 x i32]. Each 32-bit element is treated as
4091
- /// a signed integer and is converted to a 16-bit signed integer with
4092
- /// saturation. Values greater than 0x7FFF are saturated to 0x7FFF. Values
4093
- /// less than 0x8000 are saturated to 0x8000. The converted [4 x i16] values
4103
+ /// A 128-bit integer vector of [4 x i32]. The converted [4 x i16] values
4094
4104
/// are written to the lower 64 bits of the result.
4095
4105
/// \param __b
4096
- /// A 128-bit integer vector of [4 x i32]. Each 32-bit element is treated as
4097
- /// a signed integer and is converted to a 16-bit signed integer with
4098
- /// saturation. Values greater than 0x7FFF are saturated to 0x7FFF. Values
4099
- /// less than 0x8000 are saturated to 0x8000. The converted [4 x i16] values
4106
+ /// A 128-bit integer vector of [4 x i32]. The converted [4 x i16] values
4100
4107
/// are written to the higher 64 bits of the result.
4101
4108
/// \returns A 128-bit vector of [8 x i16] containing the converted values.
4102
4109
static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_packs_epi32 (__m128i __a ,
4103
4110
__m128i __b ) {
4104
4111
return (__m128i )__builtin_ia32_packssdw128 ((__v4si )__a , (__v4si )__b );
4105
4112
}
4106
4113
4107
- /// Converts 16-bit signed integers from both 128-bit integer vector
4108
- /// operands into 8-bit unsigned integers, and packs the results into the
4109
- /// destination. Values greater than 0xFF are saturated to 0xFF. Values less
4110
- /// than 0x00 are saturated to 0x00.
4114
+ /// Converts, with saturation, 16-bit signed integers from both 128-bit integer
4115
+ /// vector operands into 8-bit unsigned integers, and packs the results into
4116
+ /// the destination.
4117
+ ///
4118
+ /// Values greater than 0xFF are saturated to 0xFF. Values less than 0x00
4119
+ /// are saturated to 0x00.
4111
4120
///
4112
4121
/// \headerfile <x86intrin.h>
4113
4122
///
4114
4123
/// This intrinsic corresponds to the <c> VPACKUSWB / PACKUSWB </c> instruction.
4115
4124
///
4116
4125
/// \param __a
4117
- /// A 128-bit integer vector of [8 x i16]. Each 16-bit element is treated as
4118
- /// a signed integer and is converted to an 8-bit unsigned integer with
4119
- /// saturation. Values greater than 0xFF are saturated to 0xFF. Values less
4120
- /// than 0x00 are saturated to 0x00. The converted [8 x i8] values are
4126
+ /// A 128-bit integer vector of [8 x i16]. The converted [8 x i8] values are
4121
4127
/// written to the lower 64 bits of the result.
4122
4128
/// \param __b
4123
- /// A 128-bit integer vector of [8 x i16]. Each 16-bit element is treated as
4124
- /// a signed integer and is converted to an 8-bit unsigned integer with
4125
- /// saturation. Values greater than 0xFF are saturated to 0xFF. Values less
4126
- /// than 0x00 are saturated to 0x00. The converted [8 x i8] values are
4129
+ /// A 128-bit integer vector of [8 x i16]. The converted [8 x i8] values are
4127
4130
/// written to the higher 64 bits of the result.
4128
4131
/// \returns A 128-bit vector of [16 x i8] containing the converted values.
4129
4132
static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_packus_epi16 (__m128i __a ,
0 commit comments