@@ -1466,18 +1466,27 @@ __m512i test_mm512_shuffle_epi8(__m512i __A, __m512i __B) {
14661466 // CHECK: @llvm.x86.avx512.pshuf.b.512
14671467 return _mm512_shuffle_epi8 (__A ,__B );
14681468}
1469+
1470+ TEST_CONSTEXPR (match_v64qi (_mm512_shuffle_epi8 ((__m512i )(__v64qi ){0 ,1 ,2 ,3 ,4 ,5 ,6 ,7 ,8 ,9 ,10 ,11 ,12 ,13 ,14 ,15 ,16 ,17 ,18 ,19 ,20 ,21 ,22 ,23 ,24 ,25 ,26 ,27 ,28 ,29 ,30 ,31 ,32 ,33 ,34 ,35 ,36 ,37 ,38 ,39 ,40 ,41 ,42 ,43 ,44 ,45 ,46 ,47 ,48 ,49 ,50 ,51 ,52 ,53 ,54 ,55 ,56 ,57 ,58 ,59 ,60 ,61 ,62 ,63 }, (__m512i )(__v64qs ){0 ,1 ,2 ,3 ,4 ,5 ,6 ,7 ,8 ,9 ,10 ,11 ,12 ,13 ,14 ,-15 ,0 ,1 ,2 ,3 ,4 ,5 ,6 ,7 ,8 ,9 ,10 ,11 ,12 ,13 ,14 ,-15 ,64 ,65 ,66 ,67 ,68 ,69 ,70 ,71 ,72 ,73 ,74 ,75 ,76 ,77 ,78 ,-79 ,80 ,81 ,82 ,83 ,84 ,85 ,86 ,87 ,88 ,89 ,90 ,91 ,92 ,93 ,94 ,-95 }), 0 ,1 ,2 ,3 ,4 ,5 ,6 ,7 ,8 ,9 ,10 ,11 ,12 ,13 ,14 ,0 ,16 ,17 ,18 ,19 ,20 ,21 ,22 ,23 ,24 ,25 ,26 ,27 ,28 ,29 ,30 ,0 ,32 ,33 ,34 ,35 ,36 ,37 ,38 ,39 ,40 ,41 ,42 ,43 ,44 ,45 ,46 ,0 ,48 ,49 ,50 ,51 ,52 ,53 ,54 ,55 ,56 ,57 ,58 ,59 ,60 ,61 ,62 ,0 ));
1471+
14691472__m512i test_mm512_mask_shuffle_epi8 (__m512i __W , __mmask64 __U , __m512i __A , __m512i __B ) {
14701473 // CHECK-LABEL: test_mm512_mask_shuffle_epi8
14711474 // CHECK: @llvm.x86.avx512.pshuf.b.512
14721475 // CHECK: select <64 x i1> %{{.*}}, <64 x i8> %{{.*}}, <64 x i8> %{{.*}}
14731476 return _mm512_mask_shuffle_epi8 (__W ,__U ,__A ,__B );
14741477}
1478+
1479+ TEST_CONSTEXPR (match_v64qi (_mm512_mask_shuffle_epi8 ((__m512i )(__v64qi ){1 ,1 ,1 ,1 ,1 ,1 ,1 ,1 ,2 ,2 ,2 ,2 ,2 ,2 ,2 ,2 ,3 ,3 ,3 ,3 ,3 ,3 ,3 ,3 ,4 ,4 ,4 ,4 ,4 ,4 ,4 ,4 ,5 ,5 ,5 ,5 ,5 ,5 ,5 ,5 ,6 ,6 ,6 ,6 ,6 ,6 ,6 ,6 ,7 ,7 ,7 ,7 ,7 ,7 ,7 ,7 ,8 ,8 ,8 ,8 ,8 ,8 ,8 ,8 }, 0xFFFFFFFF00000000 , (__m512i )(__v64qi ){0 ,1 ,2 ,3 ,4 ,5 ,6 ,7 ,8 ,9 ,10 ,11 ,12 ,13 ,14 ,15 ,16 ,17 ,18 ,19 ,20 ,21 ,22 ,23 ,24 ,25 ,26 ,27 ,28 ,29 ,30 ,31 ,32 ,33 ,34 ,35 ,36 ,37 ,38 ,39 ,40 ,41 ,42 ,43 ,44 ,45 ,46 ,47 ,48 ,49 ,50 ,51 ,52 ,53 ,54 ,55 ,56 ,57 ,58 ,59 ,60 ,61 ,62 ,63 }, (__m512i )(__v64qi ){63 ,62 ,61 ,60 ,59 ,58 ,57 ,56 ,55 ,54 ,53 ,52 ,51 ,50 ,49 ,48 ,47 ,46 ,45 ,44 ,43 ,42 ,41 ,40 ,39 ,38 ,37 ,36 ,35 ,34 ,33 ,32 ,31 ,30 ,29 ,28 ,27 ,26 ,25 ,24 ,23 ,22 ,21 ,20 ,19 ,18 ,17 ,16 ,15 ,14 ,13 ,12 ,11 ,10 ,9 ,8 ,7 ,6 ,5 ,4 ,3 ,2 ,1 ,0 }), 1 ,1 ,1 ,1 ,1 ,1 ,1 ,1 ,2 ,2 ,2 ,2 ,2 ,2 ,2 ,2 ,3 ,3 ,3 ,3 ,3 ,3 ,3 ,3 ,4 ,4 ,4 ,4 ,4 ,4 ,4 ,4 ,47 ,46 ,45 ,44 ,43 ,42 ,41 ,40 ,39 ,38 ,37 ,36 ,35 ,34 ,33 ,32 ,63 ,62 ,61 ,60 ,59 ,58 ,57 ,56 ,55 ,54 ,53 ,52 ,51 ,50 ,49 ,48 ));
1480+
14751481__m512i test_mm512_maskz_shuffle_epi8 (__mmask64 __U , __m512i __A , __m512i __B ) {
14761482 // CHECK-LABEL: test_mm512_maskz_shuffle_epi8
14771483 // CHECK: @llvm.x86.avx512.pshuf.b.512
14781484 // CHECK: select <64 x i1> %{{.*}}, <64 x i8> %{{.*}}, <64 x i8> %{{.*}}
14791485 return _mm512_maskz_shuffle_epi8 (__U ,__A ,__B );
14801486}
1487+
1488+ TEST_CONSTEXPR (match_v64qi (_mm512_maskz_shuffle_epi8 (0x8888888888888888 ,(__m512i )(__v64qi ){0 ,1 ,2 ,3 ,4 ,5 ,6 ,7 ,8 ,9 ,10 ,11 ,12 ,13 ,14 ,15 ,16 ,17 ,18 ,19 ,20 ,21 ,22 ,23 ,24 ,25 ,26 ,27 ,28 ,29 ,30 ,31 ,32 ,33 ,34 ,35 ,36 ,37 ,38 ,39 ,40 ,41 ,42 ,43 ,44 ,45 ,46 ,47 ,48 ,49 ,50 ,51 ,52 ,53 ,54 ,55 ,56 ,57 ,58 ,59 ,60 ,61 ,62 ,63 }, (__m512i )(__v64qi ){127 ,126 ,125 ,124 ,123 ,122 ,121 ,120 ,119 ,118 ,117 ,116 ,115 ,114 ,113 ,112 ,111 ,110 ,109 ,108 ,107 ,106 ,105 ,104 ,103 ,102 ,101 ,100 ,99 ,98 ,97 ,96 ,95 ,94 ,93 ,92 ,91 ,90 ,89 ,88 ,87 ,86 ,85 ,84 ,83 ,82 ,81 ,80 ,79 ,78 ,77 ,76 ,75 ,74 ,73 ,72 ,71 ,70 ,69 ,68 ,67 ,66 ,65 ,64 }), 0 ,0 ,0 ,12 ,0 ,0 ,0 ,8 ,0 ,0 ,0 ,4 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,28 ,0 ,0 ,0 ,24 ,0 ,0 ,0 ,20 ,0 ,0 ,0 ,16 ,0 ,0 ,0 ,44 ,0 ,0 ,0 ,40 ,0 ,0 ,0 ,36 ,0 ,0 ,0 ,32 ,0 ,0 ,0 ,60 ,0 ,0 ,0 ,56 ,0 ,0 ,0 ,52 ,0 ,0 ,0 ,48 ));
1489+
14811490__m512i test_mm512_subs_epi8 (__m512i __A , __m512i __B ) {
14821491 // CHECK-LABEL: test_mm512_subs_epi8
14831492 // CHECK: @llvm.ssub.sat.v64i8
0 commit comments