@@ -752,20 +752,26 @@ __m512i test_mm512_add_epi8 (__m512i __A, __m512i __B) {
752752 return _mm512_add_epi8 (__A ,__B );
753753}
754754
755+ TEST_CONSTEXPR (match_v64qi (_mm512_add_epi8 ((__m512i )(__v64qi ){ -128 , 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 }, (__m512i )(__v64qi ){ 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 , -64 }), -127 , 125 , -127 , 127 , 127 , 127 , 115 , 113 , -111 , -109 , -127 , -105 , 103 , 101 , -99 , -127 , 127 , 93 , 127 , -89 , 127 , 127 , -83 , -81 , -127 , 127 , -75 , 73 , 71 , 127 , 67 , 127 , 127 , 61 , 59 , 127 , 55 , -127 , 51 , 127 , -127 , 45 , 127 , -41 , 127 , 127 , -35 , -127 , 127 , 29 , -27 , 25 , 127 , -127 , -127 , 127 , 127 , -127 , -11 , -9 , -7 , 5 , -3 , 1 ));
756+
755757__m512i test_mm512_mask_add_epi8 (__m512i __W , __mmask64 __U , __m512i __A , __m512i __B ) {
756758 //CHECK-LABEL: test_mm512_mask_add_epi8
757759 //CHECK: add <64 x i8> %{{.*}}, %{{.*}}
758760 //CHECK: select <64 x i1> %{{.*}}, <64 x i8> %{{.*}}, <64 x i8> %{{.*}}
759761 return _mm512_mask_add_epi8 (__W , __U , __A , __B );
760762}
761763
764+ TEST_CONSTEXPR (match_v64qi (_mm512_mask_add_epi8 ((__m512i )(__v64qi ){ 99 , 99 , 99 , 99 , 99 , 99 , 99 , 99 , 99 , 99 , 99 , 99 , 99 , 99 , 99 , 99 , 99 , 99 , 99 , 99 , 99 , 99 , 99 , 99 , 99 , 99 , 99 , 99 , 99 , 99 , 99 , 99 , 99 , 99 , 99 , 99 , 99 , 99 , 99 , 99 , 99 , 99 , 99 , 99 , 99 , 99 , 99 , 99 , 99 , 99 , 99 , 99 , 99 , 99 , 99 , 99 , 99 , 99 , 99 , 99 , 99 , 99 , 99 , 99 }, 0x2488D358BA7928B1 , (__m512i )(__v64qi ){ -128 , 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 }, (__m512i )(__v64qi ){ 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 , -64 }), -127 , 99 , 99 , 99 , 127 , 127 , 99 , 113 , 99 , 99 , 99 , -105 , 99 , 101 , 99 , 99 , 127 , 99 , 99 , -89 , 127 , 127 , -83 , 99 , 99 , 127 , 99 , 73 , 71 , 127 , 99 , 127 , 99 , 99 , 99 , 127 , 55 , 99 , 51 , 99 , -127 , 45 , 99 , 99 , 127 , 99 , -35 , -127 , 99 , 99 , 99 , 25 , 99 , 99 , 99 , 127 , 99 , 99 , -11 , 99 , 99 , 5 , 99 , 99 ));
765+
762766__m512i test_mm512_maskz_add_epi8 (__mmask64 __U , __m512i __A , __m512i __B ) {
763767 //CHECK-LABEL: test_mm512_maskz_add_epi8
764768 //CHECK: add <64 x i8> %{{.*}}, %{{.*}}
765769 //CHECK: select <64 x i1> %{{.*}}, <64 x i8> %{{.*}}, <64 x i8> %{{.*}}
766770 return _mm512_maskz_add_epi8 (__U , __A , __B );
767771}
768772
773+ TEST_CONSTEXPR (match_v64qi (_mm512_maskz_add_epi8 (0x2488D358BA7928B1 , (__m512i )(__v64qi ){ -128 , 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 }, (__m512i )(__v64qi ){ 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 , -64 }), -127 , 0 , 0 , 0 , 127 , 127 , 0 , 113 , 0 , 0 , 0 , -105 , 0 , 101 , 0 , 0 , 127 , 0 , 0 , -89 , 127 , 127 , -83 , 0 , 0 , 127 , 0 , 73 , 71 , 127 , 0 , 127 , 0 , 0 , 0 , 127 , 55 , 0 , 51 , 0 , -127 , 45 , 0 , 0 , 127 , 0 , -35 , -127 , 0 , 0 , 0 , 25 , 0 , 0 , 0 , 127 , 0 , 0 , -11 , 0 , 0 , 5 , 0 , 0 ));
774+
769775__m512i test_mm512_sub_epi8 (__m512i __A , __m512i __B ) {
770776 //CHECK-LABEL: test_mm512_sub_epi8
771777 //CHECK: sub <64 x i8>
@@ -792,20 +798,26 @@ __m512i test_mm512_add_epi16 (__m512i __A, __m512i __B) {
792798 return _mm512_add_epi16 (__A , __B );
793799}
794800
801+ TEST_CONSTEXPR (match_v32hi (_mm512_add_epi16 ((__m512i )(__v32hi ){ 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 }, (__m512i )(__v32hi ){ 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 }), 65 , 67 , 63 , 63 , -63 , 75 , -77 , 63 , 63 , -83 , 63 , -63 , 89 , 63 , -63 , -63 , 63 , 63 , 101 , -103 , -105 , -63 , 63 , 63 , -63 , 63 , -117 , 63 , 63 , -63 , 63 , 63 ));
802+
795803__m512i test_mm512_mask_add_epi16 (__m512i __W , __mmask32 __U , __m512i __A , __m512i __B ) {
796804 //CHECK-LABEL: test_mm512_mask_add_epi16
797805 //CHECK: add <32 x i16> %{{.*}}, %{{.*}}
798806 //CHECK: select <32 x i1> %{{.*}}, <32 x i16> %{{.*}}, <32 x i16> %{{.*}}
799807 return _mm512_mask_add_epi16 (__W , __U , __A , __B );
800808}
801809
810+ TEST_CONSTEXPR (match_v32hi (_mm512_mask_add_epi16 ((__m512i )(__v32hi ){ 99 , 99 , 99 , 99 , 99 , 99 , 99 , 99 , 99 , 99 , 99 , 99 , 99 , 99 , 99 , 99 , 99 , 99 , 99 , 99 , 99 , 99 , 99 , 99 , 99 , 99 , 99 , 99 , 99 , 99 , 99 , 99 }, 0xB885E123 , (__m512i )(__v32hi ){ 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 }, (__m512i )(__v32hi ){ 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 }), 65 , 67 , 99 , 99 , 99 , 75 , 99 , 99 , 63 , 99 , 99 , 99 , 99 , 63 , -63 , -63 , 63 , 99 , 101 , 99 , 99 , 99 , 99 , 63 , 99 , 99 , 99 , 63 , 63 , -63 , 99 , 63 ));
811+
802812__m512i test_mm512_maskz_add_epi16 (__mmask32 __U , __m512i __A , __m512i __B ) {
803813 //CHECK-LABEL: test_mm512_maskz_add_epi16
804814 //CHECK: add <32 x i16> %{{.*}}, %{{.*}}
805815 //CHECK: select <32 x i1> %{{.*}}, <32 x i16> %{{.*}}, <32 x i16> %{{.*}}
806816 return _mm512_maskz_add_epi16 (__U , __A , __B );
807817}
808818
819+ TEST_CONSTEXPR (match_v32hi (_mm512_maskz_add_epi16 (0xB885E123 , (__m512i )(__v32hi ){ 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 }, (__m512i )(__v32hi ){ 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 }), 65 , 67 , 0 , 0 , 0 , 75 , 0 , 0 , 63 , 0 , 0 , 0 , 0 , 63 , -63 , -63 , 63 , 0 , 101 , 0 , 0 , 0 , 0 , 63 , 0 , 0 , 0 , 63 , 63 , -63 , 0 , 63 ));
820+
809821__m512i test_mm512_sub_epi16 (__m512i __A , __m512i __B ) {
810822 //CHECK-LABEL: test_mm512_sub_epi16
811823 //CHECK: sub <32 x i16>
0 commit comments