@@ -85,7 +85,7 @@ _mm_empty(void) {
85
85
// / A 32-bit integer value.
86
86
// / \returns A 64-bit integer vector. The lower 32 bits contain the value of the
87
87
// / parameter. The upper 32 bits are set to 0.
88
- static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2
88
+ static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2_CONSTEXPR
89
89
_mm_cvtsi32_si64 (int __i)
90
90
{
91
91
return __extension__ (__m64)(__v2si){__i, 0 };
@@ -102,7 +102,7 @@ _mm_cvtsi32_si64(int __i)
102
102
// / A 64-bit integer vector.
103
103
// / \returns A 32-bit signed integer value containing the lower 32 bits of the
104
104
// / parameter.
105
- static __inline__ int __DEFAULT_FN_ATTRS_SSE2
105
+ static __inline__ int __DEFAULT_FN_ATTRS_SSE2_CONSTEXPR
106
106
_mm_cvtsi64_si32 (__m64 __m)
107
107
{
108
108
return ((__v2si)__m)[0 ];
@@ -118,10 +118,10 @@ _mm_cvtsi64_si32(__m64 __m)
118
118
// / A 64-bit signed integer.
119
119
// / \returns A 64-bit integer vector containing the same bitwise pattern as the
120
120
// / parameter.
121
- static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2
121
+ static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2_CONSTEXPR
122
122
_mm_cvtsi64_m64 (long long __i)
123
123
{
124
- return (__m64)__i;
124
+ return __extension__ (__m64)(__v1di){ __i} ;
125
125
}
126
126
127
127
// / Casts a 64-bit integer vector into a 64-bit signed integer value.
@@ -134,10 +134,10 @@ _mm_cvtsi64_m64(long long __i)
134
134
// / A 64-bit integer vector.
135
135
// / \returns A 64-bit signed integer containing the same bitwise pattern as the
136
136
// / parameter.
137
- static __inline__ long long __DEFAULT_FN_ATTRS_SSE2
137
+ static __inline__ long long __DEFAULT_FN_ATTRS_SSE2_CONSTEXPR
138
138
_mm_cvtm64_si64 (__m64 __m)
139
139
{
140
- return (long long )__m;
140
+ return ((__v1di )__m)[ 0 ] ;
141
141
}
142
142
143
143
// / Converts, with saturation, 16-bit signed integers from both 64-bit integer
@@ -379,7 +379,7 @@ _mm_unpacklo_pi32(__m64 __m1, __m64 __m2)
379
379
// / A 64-bit integer vector of [8 x i8].
380
380
// / \returns A 64-bit integer vector of [8 x i8] containing the sums of both
381
381
// / parameters.
382
- static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2
382
+ static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2_CONSTEXPR
383
383
_mm_add_pi8 (__m64 __m1, __m64 __m2)
384
384
{
385
385
return (__m64)(((__v8qu)__m1) + ((__v8qu)__m2));
@@ -400,7 +400,7 @@ _mm_add_pi8(__m64 __m1, __m64 __m2)
400
400
// / A 64-bit integer vector of [4 x i16].
401
401
// / \returns A 64-bit integer vector of [4 x i16] containing the sums of both
402
402
// / parameters.
403
- static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2
403
+ static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2_CONSTEXPR
404
404
_mm_add_pi16 (__m64 __m1, __m64 __m2)
405
405
{
406
406
return (__m64)(((__v4hu)__m1) + ((__v4hu)__m2));
@@ -421,7 +421,7 @@ _mm_add_pi16(__m64 __m1, __m64 __m2)
421
421
// / A 64-bit integer vector of [2 x i32].
422
422
// / \returns A 64-bit integer vector of [2 x i32] containing the sums of both
423
423
// / parameters.
424
- static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2
424
+ static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2_CONSTEXPR
425
425
_mm_add_pi32 (__m64 __m1, __m64 __m2)
426
426
{
427
427
return (__m64)(((__v2su)__m1) + ((__v2su)__m2));
@@ -536,7 +536,7 @@ _mm_adds_pu16(__m64 __m1, __m64 __m2)
536
536
// / A 64-bit integer vector of [8 x i8] containing the subtrahends.
537
537
// / \returns A 64-bit integer vector of [8 x i8] containing the differences of
538
538
// / both parameters.
539
- static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2
539
+ static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2_CONSTEXPR
540
540
_mm_sub_pi8 (__m64 __m1, __m64 __m2)
541
541
{
542
542
return (__m64)(((__v8qu)__m1) - ((__v8qu)__m2));
@@ -557,7 +557,7 @@ _mm_sub_pi8(__m64 __m1, __m64 __m2)
557
557
// / A 64-bit integer vector of [4 x i16] containing the subtrahends.
558
558
// / \returns A 64-bit integer vector of [4 x i16] containing the differences of
559
559
// / both parameters.
560
- static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2
560
+ static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2_CONSTEXPR
561
561
_mm_sub_pi16 (__m64 __m1, __m64 __m2)
562
562
{
563
563
return (__m64)(((__v4hu)__m1) - ((__v4hu)__m2));
@@ -578,7 +578,7 @@ _mm_sub_pi16(__m64 __m1, __m64 __m2)
578
578
// / A 64-bit integer vector of [2 x i32] containing the subtrahends.
579
579
// / \returns A 64-bit integer vector of [2 x i32] containing the differences of
580
580
// / both parameters.
581
- static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2
581
+ static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2_CONSTEXPR
582
582
_mm_sub_pi32 (__m64 __m1, __m64 __m2)
583
583
{
584
584
return (__m64)(((__v2su)__m1) - ((__v2su)__m2));
@@ -745,7 +745,7 @@ _mm_mulhi_pi16(__m64 __m1, __m64 __m2)
745
745
// / A 64-bit integer vector of [4 x i16].
746
746
// / \returns A 64-bit integer vector of [4 x i16] containing the lower 16 bits
747
747
// / of the products of both parameters.
748
- static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2
748
+ static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2_CONSTEXPR
749
749
_mm_mullo_pi16 (__m64 __m1, __m64 __m2)
750
750
{
751
751
return (__m64)(((__v4hu)__m1) * ((__v4hu)__m2));
@@ -1134,7 +1134,7 @@ _mm_srli_si64(__m64 __m, int __count)
1134
1134
// / A 64-bit integer vector.
1135
1135
// / \returns A 64-bit integer vector containing the bitwise AND of both
1136
1136
// / parameters.
1137
- static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2
1137
+ static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2_CONSTEXPR
1138
1138
_mm_and_si64 (__m64 __m1, __m64 __m2)
1139
1139
{
1140
1140
return (__m64)(((__v1du)__m1) & ((__v1du)__m2));
@@ -1155,7 +1155,7 @@ _mm_and_si64(__m64 __m1, __m64 __m2)
1155
1155
// / A 64-bit integer vector.
1156
1156
// / \returns A 64-bit integer vector containing the bitwise AND of the second
1157
1157
// / parameter and the one's complement of the first parameter.
1158
- static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2
1158
+ static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2_CONSTEXPR
1159
1159
_mm_andnot_si64 (__m64 __m1, __m64 __m2)
1160
1160
{
1161
1161
return (__m64)(~((__v1du)__m1) & ((__v1du)__m2));
@@ -1173,7 +1173,7 @@ _mm_andnot_si64(__m64 __m1, __m64 __m2)
1173
1173
// / A 64-bit integer vector.
1174
1174
// / \returns A 64-bit integer vector containing the bitwise OR of both
1175
1175
// / parameters.
1176
- static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2
1176
+ static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2_CONSTEXPR
1177
1177
_mm_or_si64 (__m64 __m1, __m64 __m2)
1178
1178
{
1179
1179
return (__m64)(((__v1du)__m1) | ((__v1du)__m2));
@@ -1191,7 +1191,7 @@ _mm_or_si64(__m64 __m1, __m64 __m2)
1191
1191
// / A 64-bit integer vector.
1192
1192
// / \returns A 64-bit integer vector containing the bitwise exclusive OR of both
1193
1193
// / parameters.
1194
- static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2
1194
+ static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2_CONSTEXPR
1195
1195
_mm_xor_si64 (__m64 __m1, __m64 __m2)
1196
1196
{
1197
1197
return (__m64)(((__v1du)__m1) ^ ((__v1du)__m2));
@@ -1213,7 +1213,7 @@ _mm_xor_si64(__m64 __m1, __m64 __m2)
1213
1213
// / A 64-bit integer vector of [8 x i8].
1214
1214
// / \returns A 64-bit integer vector of [8 x i8] containing the comparison
1215
1215
// / results.
1216
- static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2
1216
+ static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2_CONSTEXPR
1217
1217
_mm_cmpeq_pi8 (__m64 __m1, __m64 __m2)
1218
1218
{
1219
1219
return (__m64)(((__v8qi)__m1) == ((__v8qi)__m2));
@@ -1235,7 +1235,7 @@ _mm_cmpeq_pi8(__m64 __m1, __m64 __m2)
1235
1235
// / A 64-bit integer vector of [4 x i16].
1236
1236
// / \returns A 64-bit integer vector of [4 x i16] containing the comparison
1237
1237
// / results.
1238
- static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2
1238
+ static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2_CONSTEXPR
1239
1239
_mm_cmpeq_pi16 (__m64 __m1, __m64 __m2)
1240
1240
{
1241
1241
return (__m64)(((__v4hi)__m1) == ((__v4hi)__m2));
@@ -1257,7 +1257,7 @@ _mm_cmpeq_pi16(__m64 __m1, __m64 __m2)
1257
1257
// / A 64-bit integer vector of [2 x i32].
1258
1258
// / \returns A 64-bit integer vector of [2 x i32] containing the comparison
1259
1259
// / results.
1260
- static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2
1260
+ static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2_CONSTEXPR
1261
1261
_mm_cmpeq_pi32 (__m64 __m1, __m64 __m2)
1262
1262
{
1263
1263
return (__m64)(((__v2si)__m1) == ((__v2si)__m2));
@@ -1279,7 +1279,7 @@ _mm_cmpeq_pi32(__m64 __m1, __m64 __m2)
1279
1279
// / A 64-bit integer vector of [8 x i8].
1280
1280
// / \returns A 64-bit integer vector of [8 x i8] containing the comparison
1281
1281
// / results.
1282
- static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2
1282
+ static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2_CONSTEXPR
1283
1283
_mm_cmpgt_pi8 (__m64 __m1, __m64 __m2)
1284
1284
{
1285
1285
/* This function always performs a signed comparison, but __v8qi is a char
@@ -1303,7 +1303,7 @@ _mm_cmpgt_pi8(__m64 __m1, __m64 __m2)
1303
1303
// / A 64-bit integer vector of [4 x i16].
1304
1304
// / \returns A 64-bit integer vector of [4 x i16] containing the comparison
1305
1305
// / results.
1306
- static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2
1306
+ static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2_CONSTEXPR
1307
1307
_mm_cmpgt_pi16 (__m64 __m1, __m64 __m2)
1308
1308
{
1309
1309
return (__m64)((__v4hi)__m1 > (__v4hi)__m2);
@@ -1325,7 +1325,7 @@ _mm_cmpgt_pi16(__m64 __m1, __m64 __m2)
1325
1325
// / A 64-bit integer vector of [2 x i32].
1326
1326
// / \returns A 64-bit integer vector of [2 x i32] containing the comparison
1327
1327
// / results.
1328
- static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2
1328
+ static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2_CONSTEXPR
1329
1329
_mm_cmpgt_pi32 (__m64 __m1, __m64 __m2)
1330
1330
{
1331
1331
return (__m64)((__v2si)__m1 > (__v2si)__m2);
0 commit comments