@@ -1112,33 +1112,33 @@ __m256i test_mm256_permute4x64_epi64(__m256i a) {
11121112 return _mm256_permute4x64_epi64 (a , 35 );
11131113}
11141114// Control value 0x00: [0,0,0,0] -> broadcast element 0
1115- TEST_CONSTEXPR (match_v4di (_mm256_permute4x64_epi64 (_mm256_set_epi64x ( 40LL , 30LL , 20LL , 10LL ), 0x00 ), 10LL , 10LL , 10LL , 10LL ));
1115+ TEST_CONSTEXPR (match_v4di (_mm256_permute4x64_epi64 ((( __m256i )( __v4di ){ 40LL , 30LL , 20LL , 10LL } ), 0x00 ), 40LL , 40LL , 40LL , 40LL ));
11161116// Control value 0x1B: [0,1,2,3] -> reverse order [3,2,1,0] = [D,C,B,A]
1117- TEST_CONSTEXPR (match_v4di (_mm256_permute4x64_epi64 (_mm256_set_epi64x ( 40LL , 30LL , 20LL , 10LL ), 0x1B ), 40LL , 30LL , 20LL , 10LL ));
1117+ TEST_CONSTEXPR (match_v4di (_mm256_permute4x64_epi64 ((( __m256i )( __v4di ){ 40LL , 30LL , 20LL , 10LL } ), 0x1B ), 10LL , 20LL , 30LL , 40LL ));
11181118// Control value 0x39: [1,2,3,0] -> rotate left [B,C,D,A]
1119- TEST_CONSTEXPR (match_v4di (_mm256_permute4x64_epi64 (_mm256_set_epi64x ( 40LL , 30LL , 20LL , 10LL ), 0x39 ), 20LL , 30LL , 40LL , 10LL ));
1119+ TEST_CONSTEXPR (match_v4di (_mm256_permute4x64_epi64 ((( __m256i )( __v4di ){ 40LL , 30LL , 20LL , 10LL } ), 0x39 ), 30LL , 20LL , 10LL , 40LL ));
11201120// Control value 0x12: [2,0,1,0] -> [C,A,B,A]
1121- TEST_CONSTEXPR (match_v4di (_mm256_permute4x64_epi64 (_mm256_set_epi64x ( 40LL , 30LL , 20LL , 10LL ), 0x12 ), 30LL , 10LL , 20LL , 10LL ));
1121+ TEST_CONSTEXPR (match_v4di (_mm256_permute4x64_epi64 ((( __m256i )( __v4di ){ 40LL , 30LL , 20LL , 10LL } ), 0x12 ), 20LL , 40LL , 30LL , 40LL ));
11221122// Control value 0xE4: [3,2,1,0] -> identity [A,B,C,D]
1123- TEST_CONSTEXPR (match_v4di (_mm256_permute4x64_epi64 (_mm256_set_epi64x ( 40LL , 30LL , 20LL , 10LL ), 0xE4 ), 10LL , 20LL , 30LL , 40LL ));
1123+ TEST_CONSTEXPR (match_v4di (_mm256_permute4x64_epi64 ((( __m256i )( __v4di ){ 40LL , 30LL , 20LL , 10LL } ), 0xE4 ), 40LL , 30LL , 20LL , 10LL ));
11241124// Test with negative values
1125- TEST_CONSTEXPR (match_v4di (_mm256_permute4x64_epi64 (_mm256_set_epi64x ( -40LL , -30LL , -20LL , -10LL ), 0x1B ), -40LL , -30LL , -20LL , -10LL ));
1125+ TEST_CONSTEXPR (match_v4di (_mm256_permute4x64_epi64 ((( __m256i )( __v4di ){ -40LL , -30LL , -20LL , -10LL } ), 0x1B ), -10LL , -20LL , -30LL , -40LL ));
11261126
11271127__m256d test_mm256_permute4x64_pd (__m256d a ) {
11281128 // CHECK-LABEL: test_mm256_permute4x64_pd
11291129 // CHECK: shufflevector <4 x double> %{{.*}}, <4 x double> poison, <4 x i32> <i32 1, i32 2, i32 1, i32 0>
11301130 return _mm256_permute4x64_pd (a , 25 );
11311131}
11321132// Control value 0x00: [0,0,0,0] -> broadcast element 0
1133- TEST_CONSTEXPR (match_m256d (_mm256_permute4x64_pd (_mm256_set_pd ( 4.0 , 3.0 , 2.0 , 1.0 ), 0x00 ), 1 .0 , 1 .0 , 1 .0 , 1 .0 ));
1133+ TEST_CONSTEXPR (match_m256d (_mm256_permute4x64_pd ((( __m256d ){ 4.0 , 3.0 , 2.0 , 1.0 } ), 0x00 ), 4 .0 , 4 .0 , 4 .0 , 4 .0 ));
11341134// Control value 0x1B: [0,1,2,3] -> reverse order [3,2,1,0] = [D,C,B,A]
1135- TEST_CONSTEXPR (match_m256d (_mm256_permute4x64_pd (_mm256_set_pd ( 4.0 , 3.0 , 2.0 , 1.0 ), 0x1B ), 4 .0 , 3 .0 , 2 .0 , 1 .0 ));
1135+ TEST_CONSTEXPR (match_m256d (_mm256_permute4x64_pd ((( __m256d ){ 4.0 , 3.0 , 2.0 , 1.0 } ), 0x1B ), 1 .0 , 2 .0 , 3 .0 , 4 .0 ));
11361136// Control value 0x39: [1,2,3,0] -> rotate left [B,C,D,A]
1137- TEST_CONSTEXPR (match_m256d (_mm256_permute4x64_pd (_mm256_set_pd ( 4.0 , 3.0 , 2.0 , 1.0 ), 0x39 ), 2 .0 , 3 .0 , 4 .0 , 1 .0 ));
1137+ TEST_CONSTEXPR (match_m256d (_mm256_permute4x64_pd ((( __m256d ){ 4.0 , 3.0 , 2.0 , 1.0 } ), 0x39 ), 3 .0 , 2 .0 , 1 .0 , 4 .0 ));
11381138// Control value 0x12: [2,0,1,0] -> [C,A,B,A]
1139- TEST_CONSTEXPR (match_m256d (_mm256_permute4x64_pd (_mm256_set_pd ( 4.0 , 3.0 , 2.0 , 1.0 ), 0x12 ), 3 .0 , 1 .0 , 2 .0 , 1 .0 ));
1139+ TEST_CONSTEXPR (match_m256d (_mm256_permute4x64_pd ((( __m256d ){ 4.0 , 3.0 , 2.0 , 1.0 } ), 0x12 ), 2 .0 , 4 .0 , 3 .0 , 4 .0 ));
11401140// Control value 0xE4: [3,2,1,0] -> identity [A,B,C,D]
1141- TEST_CONSTEXPR (match_m256d (_mm256_permute4x64_pd (_mm256_set_pd ( 4.0 , 3.0 , 2.0 , 1.0 ), 0xE4 ), 1 .0 , 2 .0 , 3 .0 , 4 .0 ));
1141+ TEST_CONSTEXPR (match_m256d (_mm256_permute4x64_pd ((( __m256d ){ 4.0 , 3.0 , 2.0 , 1.0 } ), 0xE4 ), 4 .0 , 3 .0 , 2 .0 , 1 .0 ));
11421142
11431143__m256i test_mm256_permutevar8x32_epi32 (__m256i a , __m256i b ) {
11441144 // CHECK-LABEL: test_mm256_permutevar8x32_epi32
0 commit comments