@@ -4004,7 +4004,6 @@ __m512i test_mm512_cvtepu32_epi64(__m256i __X) {
4004
4004
// CHECK: zext <8 x i32> %{{.*}} to <8 x i64>
4005
4005
return _mm512_cvtepu32_epi64 (__X );
4006
4006
}
4007
-
4008
4007
TEST_CONSTEXPR (match_v8di (_mm512_cvtepu32_epi64 (_mm256_setr_epi32 (-70000 , 2 , -1 , 0 , 1 , -2 , 3 , -4 )), 4294897296 , 2 , 4294967295 , 0 , 1 , 4294967294 , 3 , 4294967292 ));
4009
4008
4010
4009
__m512i test_mm512_mask_cvtepu32_epi64 (__m512i __W , __mmask8 __U , __m256i __X ) {
@@ -4026,7 +4025,6 @@ __m512i test_mm512_cvtepu16_epi32(__m256i __A) {
4026
4025
// CHECK: zext <16 x i16> %{{.*}} to <16 x i32>
4027
4026
return _mm512_cvtepu16_epi32 (__A );
4028
4027
}
4029
-
4030
4028
TEST_CONSTEXPR (match_v16si (_mm512_cvtepu16_epi32 (_mm256_setr_epi16 (-300 , 2 , -1 , 0 , 1 , -2 , 3 , -4 , 5 , -6 , 7 , -8 , 9 , -10 , 11 , -12 )), 65236 , 2 , 65535 , 0 , 1 , 65534 , 3 , 65532 , 5 , 65530 , 7 , 65528 , 9 , 65526 , 11 , 65524 ));
4031
4029
4032
4030
__m512i test_mm512_mask_cvtepu16_epi32 (__m512i __W , __mmask16 __U , __m256i __A ) {
@@ -4048,7 +4046,6 @@ __m512i test_mm512_cvtepu16_epi64(__m128i __A) {
4048
4046
// CHECK: zext <8 x i16> %{{.*}} to <8 x i64>
4049
4047
return _mm512_cvtepu16_epi64 (__A );
4050
4048
}
4051
-
4052
4049
TEST_CONSTEXPR (match_v8di (_mm512_cvtepu16_epi64 (_mm_setr_epi16 (-300 , 2 , -1 , 0 , 1 , -2 , 3 , -4 )), 65236 , 2 , 65535 , 0 , 1 , 65534 , 3 , 65532 ));
4053
4050
4054
4051
__m512i test_mm512_mask_cvtepu16_epi64 (__m512i __W , __mmask8 __U , __m128i __A ) {
@@ -4065,46 +4062,51 @@ __m512i test_mm512_maskz_cvtepu16_epi64(__mmask8 __U, __m128i __A) {
4065
4062
return _mm512_maskz_cvtepu16_epi64 (__U , __A );
4066
4063
}
4067
4064
4068
-
4069
4065
__m512i test_mm512_rol_epi32 (__m512i __A ) {
4070
4066
// CHECK-LABEL: test_mm512_rol_epi32
4071
4067
// CHECK: @llvm.fshl.v16i32
4072
4068
return _mm512_rol_epi32 (__A , 5 );
4073
4069
}
4070
+ TEST_CONSTEXPR (match_v16si (_mm512_rol_epi32 (((__m512i )(__v16si ){1 , -2 , 3 , -4 , -5 , 6 , -7 , 8 , 9 , -10 , 11 , -12 , 13 , -14 , 15 , -16 }), 5 ), 32 , -33 , 96 , -97 , -129 , 192 , -193 , 256 , 288 , -289 , 352 , -353 , 416 , -417 , 480 , -481 ));
4074
4071
4075
4072
__m512i test_mm512_mask_rol_epi32 (__m512i __W , __mmask16 __U , __m512i __A ) {
4076
4073
// CHECK-LABEL: test_mm512_mask_rol_epi32
4077
4074
// CHECK: @llvm.fshl.v16i32
4078
4075
// CHECK: select <16 x i1> %{{.*}}, <16 x i32> %{{.*}}, <16 x i32> %{{.*}}
4079
4076
return _mm512_mask_rol_epi32 (__W , __U , __A , 5 );
4080
4077
}
4078
+ TEST_CONSTEXPR (match_v16si (_mm512_mask_rol_epi32 (((__m512i )(__v16si ){99 , 99 , 99 , 99 , 99 , 99 , 99 , 99 , 99 , 99 , 99 , 99 , 99 , 99 , 99 , 99 }), 0xC873 , ((__m512i )(__v16si ){1 , -2 , 3 , -4 , -5 , 6 , -7 , 8 , 9 , -10 , 11 , -12 , 13 , -14 , 15 , -16 }), 5 ), 32 , -33 , 99 , 99 , -129 , 192 , -193 , 99 , 99 , 99 , 99 , -353 , 99 , 99 , 480 , -481 ));
4081
4079
4082
4080
__m512i test_mm512_maskz_rol_epi32 (__mmask16 __U , __m512i __A ) {
4083
4081
// CHECK-LABEL: test_mm512_maskz_rol_epi32
4084
4082
// CHECK: @llvm.fshl.v16i32
4085
4083
// CHECK: select <16 x i1> %{{.*}}, <16 x i32> %{{.*}}, <16 x i32> %{{.*}}
4086
4084
return _mm512_maskz_rol_epi32 (__U , __A , 5 );
4087
4085
}
4086
+ TEST_CONSTEXPR (match_v16si (_mm512_maskz_rol_epi32 (0x378C , ((__m512i )(__v16si ){1 , -2 , 3 , -4 , -5 , 6 , -7 , 8 , 9 , -10 , 11 , -12 , 13 , -14 , 15 , -16 }), 5 ), 0 , 0 , 96 , -97 , 0 , 0 , 0 , 256 , 288 , -289 , 352 , 0 , 416 , -417 , 0 , 0 ));
4088
4087
4089
4088
__m512i test_mm512_rol_epi64 (__m512i __A ) {
4090
4089
// CHECK-LABEL: test_mm512_rol_epi64
4091
4090
// CHECK: @llvm.fshl.v8i64
4092
4091
return _mm512_rol_epi64 (__A , 5 );
4093
4092
}
4093
+ TEST_CONSTEXPR (match_v8di (_mm512_rol_epi64 (((__m512i )(__v8di ){1 , -2 , 3 , -4 , -5 , 6 , -7 , 8 }), 5 ), 32 , -33 , 96 , -97 , -129 , 192 , -193 , 256 ));
4094
4094
4095
4095
__m512i test_mm512_mask_rol_epi64 (__m512i __W , __mmask8 __U , __m512i __A ) {
4096
4096
// CHECK-LABEL: test_mm512_mask_rol_epi64
4097
4097
// CHECK: @llvm.fshl.v8i64
4098
4098
// CHECK: select <8 x i1> %{{.*}}, <8 x i64> %{{.*}}, <8 x i64> %{{.*}}
4099
4099
return _mm512_mask_rol_epi64 (__W , __U , __A , 5 );
4100
4100
}
4101
+ TEST_CONSTEXPR (match_v8di (_mm512_mask_rol_epi64 (((__m512i )(__v8di ){99 , 99 , 99 , 99 , 99 , 99 , 99 , 99 }), 0x73 , ((__m512i )(__v8di ){1 , -2 , 3 , -4 , -5 , 6 , -7 , 8 }), 5 ), 32 , -33 , 99 , 99 , -129 , 192 , -193 , 99 ));
4101
4102
4102
4103
__m512i test_mm512_maskz_rol_epi64 (__mmask8 __U , __m512i __A ) {
4103
4104
// CHECK-LABEL: test_mm512_maskz_rol_epi64
4104
4105
// CHECK: @llvm.fshl.v8i64
4105
4106
// CHECK: select <8 x i1> %{{.*}}, <8 x i64> %{{.*}}, <8 x i64> %{{.*}}
4106
4107
return _mm512_maskz_rol_epi64 (__U , __A , 5 );
4107
4108
}
4109
+ TEST_CONSTEXPR (match_v8di (_mm512_maskz_rol_epi64 (0x37 , ((__m512i )(__v8di ){1 , -2 , 3 , -4 , -5 , 6 , -7 , 8 }), 5 ), 32 , -33 , 96 , 0 , -129 , 192 , 0 , 0 ));
4108
4110
4109
4111
__m512i test_mm512_rolv_epi32 (__m512i __A , __m512i __B ) {
4110
4112
// CHECK-LABEL: test_mm512_rolv_epi32
@@ -4151,41 +4153,46 @@ __m512i test_mm512_ror_epi32(__m512i __A) {
4151
4153
// CHECK: @llvm.fshr.v16i32
4152
4154
return _mm512_ror_epi32 (__A , 5 );
4153
4155
}
4156
+ TEST_CONSTEXPR (match_v16si (_mm512_ror_epi32 (((__m512i )(__v16si ){1 , -2 , 3 , -4 , -5 , 6 , -7 , 8 , 9 , -10 , 11 , -12 , 13 , -14 , 15 , -16 }), 5 ), 134217728 , -134217729 , 402653184 , -402653185 , -536870913 , 805306368 , -805306369 , 1073741824 , 1207959552 , -1207959553 , 1476395008 , -1476395009 , 1744830464 , -1744830465 , 2013265920 , -2013265921 ));
4154
4157
4155
4158
__m512i test_mm512_mask_ror_epi32 (__m512i __W , __mmask16 __U , __m512i __A ) {
4156
4159
// CHECK-LABEL: test_mm512_mask_ror_epi32
4157
4160
// CHECK: @llvm.fshr.v16i32
4158
4161
// CHECK: select <16 x i1> %{{.*}}, <16 x i32> %{{.*}}, <16 x i32> %{{.*}}
4159
4162
return _mm512_mask_ror_epi32 (__W , __U , __A , 5 );
4160
4163
}
4164
+ TEST_CONSTEXPR (match_v16si (_mm512_mask_ror_epi32 (((__m512i )(__v16si ){99 , 99 , 99 , 99 , 99 , 99 , 99 , 99 , 99 , 99 , 99 , 99 , 99 , 99 , 99 , 99 }), 0xC873 , ((__m512i )(__v16si ){1 , -2 , 3 , -4 , -5 , 6 , -7 , 8 , 9 , -10 , 11 , -12 , 13 , -14 , 15 , -16 }), 5 ), 134217728 , -134217729 , 99 , 99 , -536870913 , 805306368 , -805306369 , 99 , 99 , 99 , 99 , -1476395009 , 99 , 99 , 2013265920 , -2013265921 ));
4161
4165
4162
4166
__m512i test_mm512_maskz_ror_epi32 (__mmask16 __U , __m512i __A ) {
4163
4167
// CHECK-LABEL: test_mm512_maskz_ror_epi32
4164
4168
// CHECK: @llvm.fshr.v16i32
4165
4169
// CHECK: select <16 x i1> %{{.*}}, <16 x i32> %{{.*}}, <16 x i32> %{{.*}}
4166
4170
return _mm512_maskz_ror_epi32 (__U , __A , 5 );
4167
4171
}
4172
+ TEST_CONSTEXPR (match_v16si (_mm512_maskz_ror_epi32 (0x378C , ((__m512i )(__v16si ){1 , -2 , 3 , -4 , -5 , 6 , -7 , 8 , 9 , -10 , 11 , -12 , 13 , -14 , 15 , -16 }), 5 ), 0 , 0 , 402653184 , -402653185 , 0 , 0 , 0 , 1073741824 , 1207959552 , -1207959553 , 1476395008 , 0 , 1744830464 , -1744830465 , 0 , 0 ));
4168
4173
4169
4174
__m512i test_mm512_ror_epi64 (__m512i __A ) {
4170
4175
// CHECK-LABEL: test_mm512_ror_epi64
4171
4176
// CHECK: @llvm.fshr.v8i64
4172
4177
return _mm512_ror_epi64 (__A , 5 );
4173
4178
}
4179
+ TEST_CONSTEXPR (match_v8di (_mm512_ror_epi64 (((__m512i )(__v8di ){1 , -2 , 3 , -4 , -5 , 6 , -7 , 8 }), 5 ), 576460752303423488LL , -576460752303423489LL , 1729382256910270464LL , -1729382256910270465LL , -2305843009213693953LL , 3458764513820540928LL , -3458764513820540929LL , 4611686018427387904LL ));
4174
4180
4175
4181
__m512i test_mm512_mask_ror_epi64 (__m512i __W , __mmask8 __U , __m512i __A ) {
4176
4182
// CHECK-LABEL: test_mm512_mask_ror_epi64
4177
4183
// CHECK: @llvm.fshr.v8i64
4178
4184
// CHECK: select <8 x i1> %{{.*}}, <8 x i64> %{{.*}}, <8 x i64> %{{.*}}
4179
4185
return _mm512_mask_ror_epi64 (__W , __U , __A , 5 );
4180
4186
}
4187
+ TEST_CONSTEXPR (match_v8di (_mm512_mask_ror_epi64 (((__m512i )(__v8di ){99 , 99 , 99 , 99 , 99 , 99 , 99 , 99 }), 0x73 , ((__m512i )(__v8di ){1 , -2 , 3 , -4 , -5 , 6 , -7 , 8 }), 5 ), 576460752303423488LL , -576460752303423489LL , 99 , 99 , -2305843009213693953LL , 3458764513820540928LL , -3458764513820540929LL , 99 ));
4181
4188
4182
4189
__m512i test_mm512_maskz_ror_epi64 (__mmask8 __U , __m512i __A ) {
4183
4190
// CHECK-LABEL: test_mm512_maskz_ror_epi64
4184
4191
// CHECK: @llvm.fshr.v8i64
4185
4192
// CHECK: select <8 x i1> %{{.*}}, <8 x i64> %{{.*}}, <8 x i64> %{{.*}}
4186
4193
return _mm512_maskz_ror_epi64 (__U , __A , 5 );
4187
4194
}
4188
-
4195
+ TEST_CONSTEXPR ( match_v8di ( _mm512_maskz_ror_epi64 ( 0x37 , (( __m512i )( __v8di ){ 1 , -2 , 3 , -4 , -5 , 6 , -7 , 8 }), 5 ), 576460752303423488LL , -576460752303423489LL , 1729382256910270464LL , 0 , -2305843009213693953LL , 3458764513820540928LL , 0 , 0 ));
4189
4196
4190
4197
__m512i test_mm512_rorv_epi32 (__m512i __A , __m512i __B ) {
4191
4198
// CHECK-LABEL: test_mm512_rorv_epi32
0 commit comments