@@ -778,20 +778,26 @@ __m512i test_mm512_sub_epi8 (__m512i __A, __m512i __B) {
778778 return _mm512_sub_epi8 (__A , __B );
779779}
780780
781+ TEST_CONSTEXPR (match_v64qi (_mm512_sub_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 , -127 , 123 , -121 , -119 , -117 , -127 , -127 , 127 , 127 , 107 , 127 , -127 , -127 , 127 , 97 , -95 , -127 , -91 , 127 , -87 , -85 , 127 , 127 , 79 , -77 , 127 , -127 , -127 , -69 , -127 , -65 , -63 , -127 , -127 , -57 , -127 , 53 , -127 , -49 , 47 , -127 , -43 , 127 , -39 , -37 , 127 , 33 , -31 , -127 , 127 , -127 , -23 , 21 , 19 , -17 , -15 , 13 , 127 , 127 , 127 , -127 , 127 , -127 ));
782+
781783__m512i test_mm512_mask_sub_epi8 (__m512i __W , __mmask64 __U , __m512i __A , __m512i __B ) {
782784 //CHECK-LABEL: test_mm512_mask_sub_epi8
783785 //CHECK: sub <64 x i8> %{{.*}}, %{{.*}}
784786 //CHECK: select <64 x i1> %{{.*}}, <64 x i8> %{{.*}}, <64 x i8> %{{.*}}
785787 return _mm512_mask_sub_epi8 (__W , __U , __A , __B );
786788}
787789
790+ TEST_CONSTEXPR (match_v64qi (_mm512_mask_sub_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 , -119 , -117 , 99 , -127 , 99 , 99 , 99 , 127 , 99 , -127 , 99 , 99 , -95 , 99 , 99 , 127 , -87 , -85 , 127 , 99 , 99 , -77 , 99 , -127 , -127 , -69 , 99 , -65 , 99 , 99 , 99 , -57 , -127 , 99 , -127 , 99 , 47 , -127 , 99 , 99 , -39 , 99 , 127 , 33 , 99 , 99 , 99 , -127 , 99 , 99 , 99 , -17 , 99 , 99 , 127 , 99 , 99 , -127 , 99 , 99 ));
791+
788792__m512i test_mm512_maskz_sub_epi8 (__mmask64 __U , __m512i __A , __m512i __B ) {
789793 //CHECK-LABEL: test_mm512_maskz_sub_epi8
790794 //CHECK: sub <64 x i8> %{{.*}}, %{{.*}}
791795 //CHECK: select <64 x i1> %{{.*}}, <64 x i8> %{{.*}}, <64 x i8> %{{.*}}
792796 return _mm512_maskz_sub_epi8 (__U , __A , __B );
793797}
794798
799+ TEST_CONSTEXPR (match_v64qi (_mm512_maskz_sub_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 , -119 , -117 , 0 , -127 , 0 , 0 , 0 , 127 , 0 , -127 , 0 , 0 , -95 , 0 , 0 , 127 , -87 , -85 , 127 , 0 , 0 , -77 , 0 , -127 , -127 , -69 , 0 , -65 , 0 , 0 , 0 , -57 , -127 , 0 , -127 , 0 , 47 , -127 , 0 , 0 , -39 , 0 , 127 , 33 , 0 , 0 , 0 , -127 , 0 , 0 , 0 , -17 , 0 , 0 , 127 , 0 , 0 , -127 , 0 , 0 ));
800+
795801__m512i test_mm512_add_epi16 (__m512i __A , __m512i __B ) {
796802 //CHECK-LABEL: test_mm512_add_epi16
797803 //CHECK: add <32 x i16>
@@ -824,20 +830,26 @@ __m512i test_mm512_sub_epi16 (__m512i __A, __m512i __B) {
824830 return _mm512_sub_epi16 (__A , __B );
825831}
826832
833+ TEST_CONSTEXPR (match_v32hi (_mm512_sub_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 }), 63 , 63 , 69 , 71 , -73 , 63 , -63 , 79 , 81 , -63 , 85 , -87 , 63 , 91 , -93 , -95 , 97 , 99 , 63 , -63 , -63 , -107 , 109 , 111 , -113 , 115 , -63 , 119 , 121 , -123 , 125 , 127 ));
834+
827835__m512i test_mm512_mask_sub_epi16 (__m512i __W , __mmask32 __U , __m512i __A , __m512i __B ) {
828836 //CHECK-LABEL: test_mm512_mask_sub_epi16
829837 //CHECK: sub <32 x i16> %{{.*}}, %{{.*}}
830838 //CHECK: select <32 x i1> %{{.*}}, <32 x i16> %{{.*}}, <32 x i16> %{{.*}}
831839 return _mm512_mask_sub_epi16 (__W , __U , __A , __B );
832840}
833841
842+ TEST_CONSTEXPR (match_v32hi (_mm512_mask_sub_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 }), 63 , 63 , 99 , 99 , 99 , 63 , 99 , 99 , 81 , 99 , 99 , 99 , 99 , 91 , -93 , -95 , 97 , 99 , 63 , 99 , 99 , 99 , 99 , 111 , 99 , 99 , 99 , 119 , 121 , -123 , 99 , 127 ));
843+
834844__m512i test_mm512_maskz_sub_epi16 (__mmask32 __U , __m512i __A , __m512i __B ) {
835845 //CHECK-LABEL: test_mm512_maskz_sub_epi16
836846 //CHECK: sub <32 x i16> %{{.*}}, %{{.*}}
837847 //CHECK: select <32 x i1> %{{.*}}, <32 x i16> %{{.*}}, <32 x i16> %{{.*}}
838848 return _mm512_maskz_sub_epi16 (__U , __A , __B );
839849}
840850
851+ TEST_CONSTEXPR (match_v32hi (_mm512_maskz_sub_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 }), 63 , 63 , 0 , 0 , 0 , 63 , 0 , 0 , 81 , 0 , 0 , 0 , 0 , 91 , -93 , -95 , 97 , 0 , 63 , 0 , 0 , 0 , 0 , 111 , 0 , 0 , 0 , 119 , 121 , -123 , 0 , 127 ));
852+
841853__m512i test_mm512_mullo_epi16 (__m512i __A , __m512i __B ) {
842854 //CHECK-LABEL: test_mm512_mullo_epi16
843855 //CHECK: mul <32 x i16>
0 commit comments