Lines Matching refs:AVX2

5 … -mtriple=x86_64-unknown-unknown -mattr=+avx2 | FileCheck %s --check-prefix=AVX --check-prefix=AVX2
146 ; AVX2-LABEL: test_cmp_v4f64:
147 ; AVX2: # BB#0:
148 ; AVX2-NEXT: vcmpltpd %ymm0, %ymm1, %ymm0
149 ; AVX2-NEXT: vpermilps {{.*#+}} ymm0 = ymm0[0,2,0,2,4,6,4,6]
150 ; AVX2-NEXT: vpermq {{.*#+}} ymm0 = ymm0[0,3,2,3]
151 ; AVX2-NEXT: # kill: %XMM0<def> %XMM0<kill> %YMM0<kill>
152 ; AVX2-NEXT: vzeroupper
153 ; AVX2-NEXT: retq
200 ; AVX2-LABEL: test_cmp_v8f32:
201 ; AVX2: # BB#0:
202 ; AVX2-NEXT: vcmpltps %ymm0, %ymm1, %ymm0
203 ; AVX2-NEXT: vpshufb {{.*#+}} ymm0 = ymm0[0,1,4,5,8,9,12,13],zero,zero,zero,zero,zero,zero,zero,…
204 ; AVX2-NEXT: vpermq {{.*#+}} ymm0 = ymm0[0,2,2,3]
205 ; AVX2-NEXT: # kill: %XMM0<def> %XMM0<kill> %YMM0<kill>
206 ; AVX2-NEXT: vzeroupper
207 ; AVX2-NEXT: retq
269 ; AVX2-LABEL: test_cmp_v4i64:
270 ; AVX2: # BB#0:
271 ; AVX2-NEXT: vpcmpgtq %ymm1, %ymm0, %ymm0
272 ; AVX2-NEXT: vpshufd {{.*#+}} ymm0 = ymm0[0,2,0,2,4,6,4,6]
273 ; AVX2-NEXT: vpermq {{.*#+}} ymm0 = ymm0[0,3,2,3]
274 ; AVX2-NEXT: # kill: %XMM0<def> %XMM0<kill> %YMM0<kill>
275 ; AVX2-NEXT: vzeroupper
276 ; AVX2-NEXT: retq
323 ; AVX2-LABEL: test_cmp_v8i32:
324 ; AVX2: # BB#0:
325 ; AVX2-NEXT: vpcmpgtd %ymm1, %ymm0, %ymm0
326 ; AVX2-NEXT: vpshufb {{.*#+}} ymm0 = ymm0[0,1,4,5,8,9,12,13],zero,zero,zero,zero,zero,zero,zero,…
327 ; AVX2-NEXT: vpermq {{.*#+}} ymm0 = ymm0[0,2,2,3]
328 ; AVX2-NEXT: # kill: %XMM0<def> %XMM0<kill> %YMM0<kill>
329 ; AVX2-NEXT: vzeroupper
330 ; AVX2-NEXT: retq
376 ; AVX2-LABEL: test_cmp_v16i16:
377 ; AVX2: # BB#0:
378 ; AVX2-NEXT: vpcmpgtw %ymm1, %ymm0, %ymm0
379 ; AVX2-NEXT: vextracti128 $1, %ymm0, %xmm1
380 ; AVX2-NEXT: vmovdqa {{.*#+}} xmm2 = <0,2,4,6,8,10,12,14,u,u,u,u,u,u,u,u>
381 ; AVX2-NEXT: vpshufb %xmm2, %xmm1, %xmm1
382 ; AVX2-NEXT: vpshufb %xmm2, %xmm0, %xmm0
383 ; AVX2-NEXT: vpunpcklqdq {{.*#+}} xmm0 = xmm0[0],xmm1[0]
384 ; AVX2-NEXT: vzeroupper
385 ; AVX2-NEXT: retq
615 ; AVX2-LABEL: test_cmp_v32i8:
616 ; AVX2: # BB#0:
617 ; AVX2-NEXT: vpcmpgtb %ymm1, %ymm0, %ymm0
618 ; AVX2-NEXT: retq
691 ; AVX2-LABEL: test_cmp_v8f64:
692 ; AVX2: # BB#0:
693 ; AVX2-NEXT: vcmpltpd %ymm0, %ymm2, %ymm0
694 ; AVX2-NEXT: vpermilps {{.*#+}} ymm0 = ymm0[0,2,0,2,4,6,4,6]
695 ; AVX2-NEXT: vpermq {{.*#+}} ymm0 = ymm0[0,3,2,3]
696 ; AVX2-NEXT: vcmpltpd %ymm1, %ymm3, %ymm1
697 ; AVX2-NEXT: vpermilps {{.*#+}} ymm1 = ymm1[0,2,0,2,4,6,4,6]
698 ; AVX2-NEXT: vpermq {{.*#+}} ymm1 = ymm1[0,3,2,3]
699 ; AVX2-NEXT: vinserti128 $1, %xmm1, %ymm0, %ymm0
700 ; AVX2-NEXT: vpshufb {{.*#+}} ymm0 = ymm0[0,1,4,5,8,9,12,13],zero,zero,zero,zero,zero,zero,zero,…
701 ; AVX2-NEXT: vpermq {{.*#+}} ymm0 = ymm0[0,2,2,3]
702 ; AVX2-NEXT: # kill: %XMM0<def> %XMM0<kill> %YMM0<kill>
703 ; AVX2-NEXT: vzeroupper
704 ; AVX2-NEXT: retq
752 ; AVX2-LABEL: test_cmp_v16f32:
753 ; AVX2: # BB#0:
754 ; AVX2-NEXT: vcmpltps %ymm1, %ymm3, %ymm1
755 ; AVX2-NEXT: vmovdqa {{.*#+}} ymm3 = [0,1,4,5,8,9,12,13,128,128,128,128,128,128,128,128,0,1,4,5,…
756 ; AVX2-NEXT: vpshufb %ymm3, %ymm1, %ymm1
757 ; AVX2-NEXT: vpermq {{.*#+}} ymm1 = ymm1[0,2,2,3]
758 ; AVX2-NEXT: vmovdqa {{.*#+}} xmm4 = <0,2,4,6,8,10,12,14,u,u,u,u,u,u,u,u>
759 ; AVX2-NEXT: vpshufb %xmm4, %xmm1, %xmm1
760 ; AVX2-NEXT: vcmpltps %ymm0, %ymm2, %ymm0
761 ; AVX2-NEXT: vpshufb %ymm3, %ymm0, %ymm0
762 ; AVX2-NEXT: vpermq {{.*#+}} ymm0 = ymm0[0,2,2,3]
763 ; AVX2-NEXT: vpshufb %xmm4, %xmm0, %xmm0
764 ; AVX2-NEXT: vpunpcklqdq {{.*#+}} xmm0 = xmm0[0],xmm1[0]
765 ; AVX2-NEXT: vzeroupper
766 ; AVX2-NEXT: retq
877 ; AVX2-LABEL: test_cmp_v8i64:
878 ; AVX2: # BB#0:
879 ; AVX2-NEXT: vpcmpgtq %ymm2, %ymm0, %ymm0
880 ; AVX2-NEXT: vpshufd {{.*#+}} ymm0 = ymm0[0,2,0,2,4,6,4,6]
881 ; AVX2-NEXT: vpermq {{.*#+}} ymm0 = ymm0[0,3,2,3]
882 ; AVX2-NEXT: vpcmpgtq %ymm3, %ymm1, %ymm1
883 ; AVX2-NEXT: vpshufd {{.*#+}} ymm1 = ymm1[0,2,0,2,4,6,4,6]
884 ; AVX2-NEXT: vpermq {{.*#+}} ymm1 = ymm1[0,3,2,3]
885 ; AVX2-NEXT: vinserti128 $1, %xmm1, %ymm0, %ymm0
886 ; AVX2-NEXT: vpshufb {{.*#+}} ymm0 = ymm0[0,1,4,5,8,9,12,13],zero,zero,zero,zero,zero,zero,zero,…
887 ; AVX2-NEXT: vpermq {{.*#+}} ymm0 = ymm0[0,2,2,3]
888 ; AVX2-NEXT: # kill: %XMM0<def> %XMM0<kill> %YMM0<kill>
889 ; AVX2-NEXT: vzeroupper
890 ; AVX2-NEXT: retq
941 ; AVX2-LABEL: test_cmp_v16i32:
942 ; AVX2: # BB#0:
943 ; AVX2-NEXT: vpcmpgtd %ymm3, %ymm1, %ymm1
944 ; AVX2-NEXT: vmovdqa {{.*#+}} ymm3 = [0,1,4,5,8,9,12,13,128,128,128,128,128,128,128,128,0,1,4,5,…
945 ; AVX2-NEXT: vpshufb %ymm3, %ymm1, %ymm1
946 ; AVX2-NEXT: vpermq {{.*#+}} ymm1 = ymm1[0,2,2,3]
947 ; AVX2-NEXT: vmovdqa {{.*#+}} xmm4 = <0,2,4,6,8,10,12,14,u,u,u,u,u,u,u,u>
948 ; AVX2-NEXT: vpshufb %xmm4, %xmm1, %xmm1
949 ; AVX2-NEXT: vpcmpgtd %ymm2, %ymm0, %ymm0
950 ; AVX2-NEXT: vpshufb %ymm3, %ymm0, %ymm0
951 ; AVX2-NEXT: vpermq {{.*#+}} ymm0 = ymm0[0,2,2,3]
952 ; AVX2-NEXT: vpshufb %xmm4, %xmm0, %xmm0
953 ; AVX2-NEXT: vpunpcklqdq {{.*#+}} xmm0 = xmm0[0],xmm1[0]
954 ; AVX2-NEXT: vzeroupper
955 ; AVX2-NEXT: retq
1215 ; AVX2-LABEL: test_cmp_v32i16:
1216 ; AVX2: # BB#0:
1217 ; AVX2-NEXT: vpcmpgtw %ymm3, %ymm1, %ymm1
1218 ; AVX2-NEXT: vextracti128 $1, %ymm1, %xmm3
1219 ; AVX2-NEXT: vmovdqa {{.*#+}} xmm4 = <0,2,4,6,8,10,12,14,u,u,u,u,u,u,u,u>
1220 ; AVX2-NEXT: vpshufb %xmm4, %xmm3, %xmm3
1221 ; AVX2-NEXT: vpshufb %xmm4, %xmm1, %xmm1
1222 ; AVX2-NEXT: vpunpcklqdq {{.*#+}} xmm1 = xmm1[0],xmm3[0]
1223 ; AVX2-NEXT: vpcmpgtw %ymm2, %ymm0, %ymm0
1224 ; AVX2-NEXT: vextracti128 $1, %ymm0, %xmm2
1225 ; AVX2-NEXT: vpshufb %xmm4, %xmm2, %xmm2
1226 ; AVX2-NEXT: vpshufb %xmm4, %xmm0, %xmm0
1227 ; AVX2-NEXT: vpunpcklqdq {{.*#+}} xmm0 = xmm0[0],xmm2[0]
1228 ; AVX2-NEXT: vinserti128 $1, %xmm1, %ymm0, %ymm0
1229 ; AVX2-NEXT: retq
1858 ; AVX2-LABEL: test_cmp_v64i8:
1859 ; AVX2: # BB#0:
1860 ; AVX2-NEXT: vpcmpgtb %ymm2, %ymm0, %ymm0
1861 ; AVX2-NEXT: vpcmpgtb %ymm3, %ymm1, %ymm1
1862 ; AVX2-NEXT: vextracti128 $1, %ymm1, %xmm2
1863 ; AVX2-NEXT: vpextrb $15, %xmm2, %eax
1864 ; AVX2-NEXT: andb $1, %al
1865 ; AVX2-NEXT: movb %al, 4(%rdi)
1866 ; AVX2-NEXT: vpextrb $14, %xmm2, %eax
1867 ; AVX2-NEXT: andb $1, %al
1868 ; AVX2-NEXT: movb %al, 4(%rdi)
1869 ; AVX2-NEXT: vpextrb $13, %xmm2, %eax
1870 ; AVX2-NEXT: andb $1, %al
1871 ; AVX2-NEXT: movb %al, 4(%rdi)
1872 ; AVX2-NEXT: vpextrb $12, %xmm2, %eax
1873 ; AVX2-NEXT: andb $1, %al
1874 ; AVX2-NEXT: movb %al, 4(%rdi)
1875 ; AVX2-NEXT: vpextrb $11, %xmm2, %eax
1876 ; AVX2-NEXT: andb $1, %al
1877 ; AVX2-NEXT: movb %al, 4(%rdi)
1878 ; AVX2-NEXT: vpextrb $10, %xmm2, %eax
1879 ; AVX2-NEXT: andb $1, %al
1880 ; AVX2-NEXT: movb %al, 4(%rdi)
1881 ; AVX2-NEXT: vpextrb $9, %xmm2, %eax
1882 ; AVX2-NEXT: andb $1, %al
1883 ; AVX2-NEXT: movb %al, 4(%rdi)
1884 ; AVX2-NEXT: vpextrb $8, %xmm2, %eax
1885 ; AVX2-NEXT: andb $1, %al
1886 ; AVX2-NEXT: movb %al, 4(%rdi)
1887 ; AVX2-NEXT: vpextrb $7, %xmm2, %eax
1888 ; AVX2-NEXT: andb $1, %al
1889 ; AVX2-NEXT: movb %al, 4(%rdi)
1890 ; AVX2-NEXT: vpextrb $6, %xmm2, %eax
1891 ; AVX2-NEXT: andb $1, %al
1892 ; AVX2-NEXT: movb %al, 4(%rdi)
1893 ; AVX2-NEXT: vpextrb $5, %xmm2, %eax
1894 ; AVX2-NEXT: andb $1, %al
1895 ; AVX2-NEXT: movb %al, 4(%rdi)
1896 ; AVX2-NEXT: vpextrb $4, %xmm2, %eax
1897 ; AVX2-NEXT: andb $1, %al
1898 ; AVX2-NEXT: movb %al, 4(%rdi)
1899 ; AVX2-NEXT: vpextrb $3, %xmm2, %eax
1900 ; AVX2-NEXT: andb $1, %al
1901 ; AVX2-NEXT: movb %al, 4(%rdi)
1902 ; AVX2-NEXT: vpextrb $2, %xmm2, %eax
1903 ; AVX2-NEXT: andb $1, %al
1904 ; AVX2-NEXT: movb %al, 4(%rdi)
1905 ; AVX2-NEXT: vpextrb $1, %xmm2, %eax
1906 ; AVX2-NEXT: andb $1, %al
1907 ; AVX2-NEXT: movb %al, 4(%rdi)
1908 ; AVX2-NEXT: vpextrb $0, %xmm2, %eax
1909 ; AVX2-NEXT: andb $1, %al
1910 ; AVX2-NEXT: movb %al, 4(%rdi)
1911 ; AVX2-NEXT: vpextrb $15, %xmm1, %eax
1912 ; AVX2-NEXT: andb $1, %al
1913 ; AVX2-NEXT: movb %al, 4(%rdi)
1914 ; AVX2-NEXT: vpextrb $14, %xmm1, %eax
1915 ; AVX2-NEXT: andb $1, %al
1916 ; AVX2-NEXT: movb %al, 4(%rdi)
1917 ; AVX2-NEXT: vpextrb $13, %xmm1, %eax
1918 ; AVX2-NEXT: andb $1, %al
1919 ; AVX2-NEXT: movb %al, 4(%rdi)
1920 ; AVX2-NEXT: vpextrb $12, %xmm1, %eax
1921 ; AVX2-NEXT: andb $1, %al
1922 ; AVX2-NEXT: movb %al, 4(%rdi)
1923 ; AVX2-NEXT: vpextrb $11, %xmm1, %eax
1924 ; AVX2-NEXT: andb $1, %al
1925 ; AVX2-NEXT: movb %al, 4(%rdi)
1926 ; AVX2-NEXT: vpextrb $10, %xmm1, %eax
1927 ; AVX2-NEXT: andb $1, %al
1928 ; AVX2-NEXT: movb %al, 4(%rdi)
1929 ; AVX2-NEXT: vpextrb $9, %xmm1, %eax
1930 ; AVX2-NEXT: andb $1, %al
1931 ; AVX2-NEXT: movb %al, 4(%rdi)
1932 ; AVX2-NEXT: vpextrb $8, %xmm1, %eax
1933 ; AVX2-NEXT: andb $1, %al
1934 ; AVX2-NEXT: movb %al, 4(%rdi)
1935 ; AVX2-NEXT: vpextrb $7, %xmm1, %eax
1936 ; AVX2-NEXT: andb $1, %al
1937 ; AVX2-NEXT: movb %al, 4(%rdi)
1938 ; AVX2-NEXT: vpextrb $6, %xmm1, %eax
1939 ; AVX2-NEXT: andb $1, %al
1940 ; AVX2-NEXT: movb %al, 4(%rdi)
1941 ; AVX2-NEXT: vpextrb $5, %xmm1, %eax
1942 ; AVX2-NEXT: andb $1, %al
1943 ; AVX2-NEXT: movb %al, 4(%rdi)
1944 ; AVX2-NEXT: vpextrb $4, %xmm1, %eax
1945 ; AVX2-NEXT: andb $1, %al
1946 ; AVX2-NEXT: movb %al, 4(%rdi)
1947 ; AVX2-NEXT: vpextrb $3, %xmm1, %eax
1948 ; AVX2-NEXT: andb $1, %al
1949 ; AVX2-NEXT: movb %al, 4(%rdi)
1950 ; AVX2-NEXT: vpextrb $2, %xmm1, %eax
1951 ; AVX2-NEXT: andb $1, %al
1952 ; AVX2-NEXT: movb %al, 4(%rdi)
1953 ; AVX2-NEXT: vpextrb $1, %xmm1, %eax
1954 ; AVX2-NEXT: andb $1, %al
1955 ; AVX2-NEXT: movb %al, 4(%rdi)
1956 ; AVX2-NEXT: vpextrb $0, %xmm1, %eax
1957 ; AVX2-NEXT: andb $1, %al
1958 ; AVX2-NEXT: movb %al, 4(%rdi)
1959 ; AVX2-NEXT: vextracti128 $1, %ymm0, %xmm1
1960 ; AVX2-NEXT: vpextrb $15, %xmm1, %eax
1961 ; AVX2-NEXT: andb $1, %al
1962 ; AVX2-NEXT: movb %al, (%rdi)
1963 ; AVX2-NEXT: vpextrb $14, %xmm1, %eax
1964 ; AVX2-NEXT: andb $1, %al
1965 ; AVX2-NEXT: movb %al, (%rdi)
1966 ; AVX2-NEXT: vpextrb $13, %xmm1, %eax
1967 ; AVX2-NEXT: andb $1, %al
1968 ; AVX2-NEXT: movb %al, (%rdi)
1969 ; AVX2-NEXT: vpextrb $12, %xmm1, %eax
1970 ; AVX2-NEXT: andb $1, %al
1971 ; AVX2-NEXT: movb %al, (%rdi)
1972 ; AVX2-NEXT: vpextrb $11, %xmm1, %eax
1973 ; AVX2-NEXT: andb $1, %al
1974 ; AVX2-NEXT: movb %al, (%rdi)
1975 ; AVX2-NEXT: vpextrb $10, %xmm1, %eax
1976 ; AVX2-NEXT: andb $1, %al
1977 ; AVX2-NEXT: movb %al, (%rdi)
1978 ; AVX2-NEXT: vpextrb $9, %xmm1, %eax
1979 ; AVX2-NEXT: andb $1, %al
1980 ; AVX2-NEXT: movb %al, (%rdi)
1981 ; AVX2-NEXT: vpextrb $8, %xmm1, %eax
1982 ; AVX2-NEXT: andb $1, %al
1983 ; AVX2-NEXT: movb %al, (%rdi)
1984 ; AVX2-NEXT: vpextrb $7, %xmm1, %eax
1985 ; AVX2-NEXT: andb $1, %al
1986 ; AVX2-NEXT: movb %al, (%rdi)
1987 ; AVX2-NEXT: vpextrb $6, %xmm1, %eax
1988 ; AVX2-NEXT: andb $1, %al
1989 ; AVX2-NEXT: movb %al, (%rdi)
1990 ; AVX2-NEXT: vpextrb $5, %xmm1, %eax
1991 ; AVX2-NEXT: andb $1, %al
1992 ; AVX2-NEXT: movb %al, (%rdi)
1993 ; AVX2-NEXT: vpextrb $4, %xmm1, %eax
1994 ; AVX2-NEXT: andb $1, %al
1995 ; AVX2-NEXT: movb %al, (%rdi)
1996 ; AVX2-NEXT: vpextrb $3, %xmm1, %eax
1997 ; AVX2-NEXT: andb $1, %al
1998 ; AVX2-NEXT: movb %al, (%rdi)
1999 ; AVX2-NEXT: vpextrb $2, %xmm1, %eax
2000 ; AVX2-NEXT: andb $1, %al
2001 ; AVX2-NEXT: movb %al, (%rdi)
2002 ; AVX2-NEXT: vpextrb $1, %xmm1, %eax
2003 ; AVX2-NEXT: andb $1, %al
2004 ; AVX2-NEXT: movb %al, (%rdi)
2005 ; AVX2-NEXT: vpextrb $0, %xmm1, %eax
2006 ; AVX2-NEXT: andb $1, %al
2007 ; AVX2-NEXT: movb %al, (%rdi)
2008 ; AVX2-NEXT: vpextrb $15, %xmm0, %eax
2009 ; AVX2-NEXT: andb $1, %al
2010 ; AVX2-NEXT: movb %al, (%rdi)
2011 ; AVX2-NEXT: vpextrb $14, %xmm0, %eax
2012 ; AVX2-NEXT: andb $1, %al
2013 ; AVX2-NEXT: movb %al, (%rdi)
2014 ; AVX2-NEXT: vpextrb $13, %xmm0, %eax
2015 ; AVX2-NEXT: andb $1, %al
2016 ; AVX2-NEXT: movb %al, (%rdi)
2017 ; AVX2-NEXT: vpextrb $12, %xmm0, %eax
2018 ; AVX2-NEXT: andb $1, %al
2019 ; AVX2-NEXT: movb %al, (%rdi)
2020 ; AVX2-NEXT: vpextrb $11, %xmm0, %eax
2021 ; AVX2-NEXT: andb $1, %al
2022 ; AVX2-NEXT: movb %al, (%rdi)
2023 ; AVX2-NEXT: vpextrb $10, %xmm0, %eax
2024 ; AVX2-NEXT: andb $1, %al
2025 ; AVX2-NEXT: movb %al, (%rdi)
2026 ; AVX2-NEXT: vpextrb $9, %xmm0, %eax
2027 ; AVX2-NEXT: andb $1, %al
2028 ; AVX2-NEXT: movb %al, (%rdi)
2029 ; AVX2-NEXT: vpextrb $8, %xmm0, %eax
2030 ; AVX2-NEXT: andb $1, %al
2031 ; AVX2-NEXT: movb %al, (%rdi)
2032 ; AVX2-NEXT: vpextrb $7, %xmm0, %eax
2033 ; AVX2-NEXT: andb $1, %al
2034 ; AVX2-NEXT: movb %al, (%rdi)
2035 ; AVX2-NEXT: vpextrb $6, %xmm0, %eax
2036 ; AVX2-NEXT: andb $1, %al
2037 ; AVX2-NEXT: movb %al, (%rdi)
2038 ; AVX2-NEXT: vpextrb $5, %xmm0, %eax
2039 ; AVX2-NEXT: andb $1, %al
2040 ; AVX2-NEXT: movb %al, (%rdi)
2041 ; AVX2-NEXT: vpextrb $4, %xmm0, %eax
2042 ; AVX2-NEXT: andb $1, %al
2043 ; AVX2-NEXT: movb %al, (%rdi)
2044 ; AVX2-NEXT: vpextrb $3, %xmm0, %eax
2045 ; AVX2-NEXT: andb $1, %al
2046 ; AVX2-NEXT: movb %al, (%rdi)
2047 ; AVX2-NEXT: vpextrb $2, %xmm0, %eax
2048 ; AVX2-NEXT: andb $1, %al
2049 ; AVX2-NEXT: movb %al, (%rdi)
2050 ; AVX2-NEXT: vpextrb $1, %xmm0, %eax
2051 ; AVX2-NEXT: andb $1, %al
2052 ; AVX2-NEXT: movb %al, (%rdi)
2053 ; AVX2-NEXT: vpextrb $0, %xmm0, %eax
2054 ; AVX2-NEXT: andb $1, %al
2055 ; AVX2-NEXT: movb %al, (%rdi)
2056 ; AVX2-NEXT: movq %rdi, %rax
2057 ; AVX2-NEXT: vzeroupper
2058 ; AVX2-NEXT: retq
2156 ; AVX2-LABEL: test_cmp_v16f64:
2157 ; AVX2: # BB#0:
2158 ; AVX2-NEXT: vcmpltpd %ymm2, %ymm6, %ymm2
2159 ; AVX2-NEXT: vpermilps {{.*#+}} ymm2 = ymm2[0,2,0,2,4,6,4,6]
2160 ; AVX2-NEXT: vpermq {{.*#+}} ymm2 = ymm2[0,3,2,3]
2161 ; AVX2-NEXT: vcmpltpd %ymm3, %ymm7, %ymm3
2162 ; AVX2-NEXT: vpermilps {{.*#+}} ymm3 = ymm3[0,2,0,2,4,6,4,6]
2163 ; AVX2-NEXT: vpermq {{.*#+}} ymm3 = ymm3[0,3,2,3]
2164 ; AVX2-NEXT: vinserti128 $1, %xmm3, %ymm2, %ymm2
2165 ; AVX2-NEXT: vmovdqa {{.*#+}} ymm3 = [0,1,4,5,8,9,12,13,128,128,128,128,128,128,128,128,0,1,4,5,…
2166 ; AVX2-NEXT: vpshufb %ymm3, %ymm2, %ymm2
2167 ; AVX2-NEXT: vpermq {{.*#+}} ymm2 = ymm2[0,2,2,3]
2168 ; AVX2-NEXT: vmovdqa {{.*#+}} xmm6 = <0,2,4,6,8,10,12,14,u,u,u,u,u,u,u,u>
2169 ; AVX2-NEXT: vpshufb %xmm6, %xmm2, %xmm2
2170 ; AVX2-NEXT: vcmpltpd %ymm0, %ymm4, %ymm0
2171 ; AVX2-NEXT: vpermilps {{.*#+}} ymm0 = ymm0[0,2,0,2,4,6,4,6]
2172 ; AVX2-NEXT: vpermq {{.*#+}} ymm0 = ymm0[0,3,2,3]
2173 ; AVX2-NEXT: vcmpltpd %ymm1, %ymm5, %ymm1
2174 ; AVX2-NEXT: vpermilps {{.*#+}} ymm1 = ymm1[0,2,0,2,4,6,4,6]
2175 ; AVX2-NEXT: vpermq {{.*#+}} ymm1 = ymm1[0,3,2,3]
2176 ; AVX2-NEXT: vinserti128 $1, %xmm1, %ymm0, %ymm0
2177 ; AVX2-NEXT: vpshufb %ymm3, %ymm0, %ymm0
2178 ; AVX2-NEXT: vpermq {{.*#+}} ymm0 = ymm0[0,2,2,3]
2179 ; AVX2-NEXT: vpshufb %xmm6, %xmm0, %xmm0
2180 ; AVX2-NEXT: vpunpcklqdq {{.*#+}} xmm0 = xmm0[0],xmm2[0]
2181 ; AVX2-NEXT: vzeroupper
2182 ; AVX2-NEXT: retq
2638 ; AVX2-LABEL: test_cmp_v32f32:
2639 ; AVX2: # BB#0:
2640 ; AVX2-NEXT: vcmpltps %ymm3, %ymm7, %ymm3
2641 ; AVX2-NEXT: vmovdqa {{.*#+}} ymm8 = [0,1,4,5,8,9,12,13,128,128,128,128,128,128,128,128,0,1,4,5,…
2642 ; AVX2-NEXT: vpshufb %ymm8, %ymm3, %ymm3
2643 ; AVX2-NEXT: vpermq {{.*#+}} ymm3 = ymm3[0,2,2,3]
2644 ; AVX2-NEXT: vmovdqa {{.*#+}} xmm7 = <0,2,4,6,8,10,12,14,u,u,u,u,u,u,u,u>
2645 ; AVX2-NEXT: vpshufb %xmm7, %xmm3, %xmm3
2646 ; AVX2-NEXT: vcmpltps %ymm2, %ymm6, %ymm2
2647 ; AVX2-NEXT: vpshufb %ymm8, %ymm2, %ymm2
2648 ; AVX2-NEXT: vpermq {{.*#+}} ymm2 = ymm2[0,2,2,3]
2649 ; AVX2-NEXT: vpshufb %xmm7, %xmm2, %xmm2
2650 ; AVX2-NEXT: vpunpcklqdq {{.*#+}} xmm2 = xmm2[0],xmm3[0]
2651 ; AVX2-NEXT: vcmpltps %ymm1, %ymm5, %ymm1
2652 ; AVX2-NEXT: vpshufb %ymm8, %ymm1, %ymm1
2653 ; AVX2-NEXT: vpermq {{.*#+}} ymm1 = ymm1[0,2,2,3]
2654 ; AVX2-NEXT: vpshufb %xmm7, %xmm1, %xmm1
2655 ; AVX2-NEXT: vcmpltps %ymm0, %ymm4, %ymm0
2656 ; AVX2-NEXT: vpshufb %ymm8, %ymm0, %ymm0
2657 ; AVX2-NEXT: vpermq {{.*#+}} ymm0 = ymm0[0,2,2,3]
2658 ; AVX2-NEXT: vpshufb %xmm7, %xmm0, %xmm0
2659 ; AVX2-NEXT: vpunpcklqdq {{.*#+}} xmm0 = xmm0[0],xmm1[0]
2660 ; AVX2-NEXT: vinserti128 $1, %xmm2, %ymm0, %ymm0
2661 ; AVX2-NEXT: retq
3042 ; AVX2-LABEL: test_cmp_v16i64:
3043 ; AVX2: # BB#0:
3044 ; AVX2-NEXT: vpcmpgtq %ymm6, %ymm2, %ymm2
3045 ; AVX2-NEXT: vpshufd {{.*#+}} ymm2 = ymm2[0,2,0,2,4,6,4,6]
3046 ; AVX2-NEXT: vpermq {{.*#+}} ymm2 = ymm2[0,3,2,3]
3047 ; AVX2-NEXT: vpcmpgtq %ymm7, %ymm3, %ymm3
3048 ; AVX2-NEXT: vpshufd {{.*#+}} ymm3 = ymm3[0,2,0,2,4,6,4,6]
3049 ; AVX2-NEXT: vpermq {{.*#+}} ymm3 = ymm3[0,3,2,3]
3050 ; AVX2-NEXT: vinserti128 $1, %xmm3, %ymm2, %ymm2
3051 ; AVX2-NEXT: vmovdqa {{.*#+}} ymm3 = [0,1,4,5,8,9,12,13,128,128,128,128,128,128,128,128,0,1,4,5,…
3052 ; AVX2-NEXT: vpshufb %ymm3, %ymm2, %ymm2
3053 ; AVX2-NEXT: vpermq {{.*#+}} ymm2 = ymm2[0,2,2,3]
3054 ; AVX2-NEXT: vmovdqa {{.*#+}} xmm6 = <0,2,4,6,8,10,12,14,u,u,u,u,u,u,u,u>
3055 ; AVX2-NEXT: vpshufb %xmm6, %xmm2, %xmm2
3056 ; AVX2-NEXT: vpcmpgtq %ymm4, %ymm0, %ymm0
3057 ; AVX2-NEXT: vpshufd {{.*#+}} ymm0 = ymm0[0,2,0,2,4,6,4,6]
3058 ; AVX2-NEXT: vpermq {{.*#+}} ymm0 = ymm0[0,3,2,3]
3059 ; AVX2-NEXT: vpcmpgtq %ymm5, %ymm1, %ymm1
3060 ; AVX2-NEXT: vpshufd {{.*#+}} ymm1 = ymm1[0,2,0,2,4,6,4,6]
3061 ; AVX2-NEXT: vpermq {{.*#+}} ymm1 = ymm1[0,3,2,3]
3062 ; AVX2-NEXT: vinserti128 $1, %xmm1, %ymm0, %ymm0
3063 ; AVX2-NEXT: vpshufb %ymm3, %ymm0, %ymm0
3064 ; AVX2-NEXT: vpermq {{.*#+}} ymm0 = ymm0[0,2,2,3]
3065 ; AVX2-NEXT: vpshufb %xmm6, %xmm0, %xmm0
3066 ; AVX2-NEXT: vpunpcklqdq {{.*#+}} xmm0 = xmm0[0],xmm2[0]
3067 ; AVX2-NEXT: vzeroupper
3068 ; AVX2-NEXT: retq
3532 ; AVX2-LABEL: test_cmp_v32i32:
3533 ; AVX2: # BB#0:
3534 ; AVX2-NEXT: vpcmpgtd %ymm7, %ymm3, %ymm3
3535 ; AVX2-NEXT: vmovdqa {{.*#+}} ymm8 = [0,1,4,5,8,9,12,13,128,128,128,128,128,128,128,128,0,1,4,5,…
3536 ; AVX2-NEXT: vpshufb %ymm8, %ymm3, %ymm3
3537 ; AVX2-NEXT: vpermq {{.*#+}} ymm3 = ymm3[0,2,2,3]
3538 ; AVX2-NEXT: vmovdqa {{.*#+}} xmm7 = <0,2,4,6,8,10,12,14,u,u,u,u,u,u,u,u>
3539 ; AVX2-NEXT: vpshufb %xmm7, %xmm3, %xmm3
3540 ; AVX2-NEXT: vpcmpgtd %ymm6, %ymm2, %ymm2
3541 ; AVX2-NEXT: vpshufb %ymm8, %ymm2, %ymm2
3542 ; AVX2-NEXT: vpermq {{.*#+}} ymm2 = ymm2[0,2,2,3]
3543 ; AVX2-NEXT: vpshufb %xmm7, %xmm2, %xmm2
3544 ; AVX2-NEXT: vpunpcklqdq {{.*#+}} xmm2 = xmm2[0],xmm3[0]
3545 ; AVX2-NEXT: vpcmpgtd %ymm5, %ymm1, %ymm1
3546 ; AVX2-NEXT: vpshufb %ymm8, %ymm1, %ymm1
3547 ; AVX2-NEXT: vpermq {{.*#+}} ymm1 = ymm1[0,2,2,3]
3548 ; AVX2-NEXT: vpshufb %xmm7, %xmm1, %xmm1
3549 ; AVX2-NEXT: vpcmpgtd %ymm4, %ymm0, %ymm0
3550 ; AVX2-NEXT: vpshufb %ymm8, %ymm0, %ymm0
3551 ; AVX2-NEXT: vpermq {{.*#+}} ymm0 = ymm0[0,2,2,3]
3552 ; AVX2-NEXT: vpshufb %xmm7, %xmm0, %xmm0
3553 ; AVX2-NEXT: vpunpcklqdq {{.*#+}} xmm0 = xmm0[0],xmm1[0]
3554 ; AVX2-NEXT: vinserti128 $1, %xmm2, %ymm0, %ymm0
3555 ; AVX2-NEXT: retq
4446 ; AVX2-LABEL: test_cmp_v64i16:
4447 ; AVX2: # BB#0:
4448 ; AVX2-NEXT: vpcmpgtw %ymm4, %ymm0, %ymm0
4449 ; AVX2-NEXT: vextracti128 $1, %ymm0, %xmm8
4450 ; AVX2-NEXT: vmovdqa {{.*#+}} xmm4 = <0,2,4,6,8,10,12,14,u,u,u,u,u,u,u,u>
4451 ; AVX2-NEXT: vpshufb %xmm4, %xmm8, %xmm8
4452 ; AVX2-NEXT: vpshufb %xmm4, %xmm0, %xmm0
4453 ; AVX2-NEXT: vpunpcklqdq {{.*#+}} xmm0 = xmm0[0],xmm8[0]
4454 ; AVX2-NEXT: vpcmpgtw %ymm5, %ymm1, %ymm1
4455 ; AVX2-NEXT: vextracti128 $1, %ymm1, %xmm5
4456 ; AVX2-NEXT: vpshufb %xmm4, %xmm5, %xmm5
4457 ; AVX2-NEXT: vpshufb %xmm4, %xmm1, %xmm1
4458 ; AVX2-NEXT: vpunpcklqdq {{.*#+}} xmm1 = xmm1[0],xmm5[0]
4459 ; AVX2-NEXT: vpcmpgtw %ymm6, %ymm2, %ymm2
4460 ; AVX2-NEXT: vextracti128 $1, %ymm2, %xmm5
4461 ; AVX2-NEXT: vpshufb %xmm4, %xmm5, %xmm5
4462 ; AVX2-NEXT: vpshufb %xmm4, %xmm2, %xmm2
4463 ; AVX2-NEXT: vpunpcklqdq {{.*#+}} xmm2 = xmm2[0],xmm5[0]
4464 ; AVX2-NEXT: vpcmpgtw %ymm7, %ymm3, %ymm3
4465 ; AVX2-NEXT: vextracti128 $1, %ymm3, %xmm5
4466 ; AVX2-NEXT: vpshufb %xmm4, %xmm5, %xmm5
4467 ; AVX2-NEXT: vpshufb %xmm4, %xmm3, %xmm3
4468 ; AVX2-NEXT: vpunpcklqdq {{.*#+}} xmm3 = xmm3[0],xmm5[0]
4469 ; AVX2-NEXT: vpextrb $15, %xmm3, %eax
4470 ; AVX2-NEXT: andb $1, %al
4471 ; AVX2-NEXT: movb %al, 4(%rdi)
4472 ; AVX2-NEXT: vpextrb $14, %xmm3, %eax
4473 ; AVX2-NEXT: andb $1, %al
4474 ; AVX2-NEXT: movb %al, 4(%rdi)
4475 ; AVX2-NEXT: vpextrb $13, %xmm3, %eax
4476 ; AVX2-NEXT: andb $1, %al
4477 ; AVX2-NEXT: movb %al, 4(%rdi)
4478 ; AVX2-NEXT: vpextrb $12, %xmm3, %eax
4479 ; AVX2-NEXT: andb $1, %al
4480 ; AVX2-NEXT: movb %al, 4(%rdi)
4481 ; AVX2-NEXT: vpextrb $11, %xmm3, %eax
4482 ; AVX2-NEXT: andb $1, %al
4483 ; AVX2-NEXT: movb %al, 4(%rdi)
4484 ; AVX2-NEXT: vpextrb $10, %xmm3, %eax
4485 ; AVX2-NEXT: andb $1, %al
4486 ; AVX2-NEXT: movb %al, 4(%rdi)
4487 ; AVX2-NEXT: vpextrb $9, %xmm3, %eax
4488 ; AVX2-NEXT: andb $1, %al
4489 ; AVX2-NEXT: movb %al, 4(%rdi)
4490 ; AVX2-NEXT: vpextrb $8, %xmm3, %eax
4491 ; AVX2-NEXT: andb $1, %al
4492 ; AVX2-NEXT: movb %al, 4(%rdi)
4493 ; AVX2-NEXT: vpextrb $7, %xmm3, %eax
4494 ; AVX2-NEXT: andb $1, %al
4495 ; AVX2-NEXT: movb %al, 4(%rdi)
4496 ; AVX2-NEXT: vpextrb $6, %xmm3, %eax
4497 ; AVX2-NEXT: andb $1, %al
4498 ; AVX2-NEXT: movb %al, 4(%rdi)
4499 ; AVX2-NEXT: vpextrb $5, %xmm3, %eax
4500 ; AVX2-NEXT: andb $1, %al
4501 ; AVX2-NEXT: movb %al, 4(%rdi)
4502 ; AVX2-NEXT: vpextrb $4, %xmm3, %eax
4503 ; AVX2-NEXT: andb $1, %al
4504 ; AVX2-NEXT: movb %al, 4(%rdi)
4505 ; AVX2-NEXT: vpextrb $3, %xmm3, %eax
4506 ; AVX2-NEXT: andb $1, %al
4507 ; AVX2-NEXT: movb %al, 4(%rdi)
4508 ; AVX2-NEXT: vpextrb $2, %xmm3, %eax
4509 ; AVX2-NEXT: andb $1, %al
4510 ; AVX2-NEXT: movb %al, 4(%rdi)
4511 ; AVX2-NEXT: vpextrb $1, %xmm3, %eax
4512 ; AVX2-NEXT: andb $1, %al
4513 ; AVX2-NEXT: movb %al, 4(%rdi)
4514 ; AVX2-NEXT: vpextrb $0, %xmm3, %eax
4515 ; AVX2-NEXT: andb $1, %al
4516 ; AVX2-NEXT: movb %al, 4(%rdi)
4517 ; AVX2-NEXT: vpextrb $15, %xmm2, %eax
4518 ; AVX2-NEXT: andb $1, %al
4519 ; AVX2-NEXT: movb %al, 4(%rdi)
4520 ; AVX2-NEXT: vpextrb $14, %xmm2, %eax
4521 ; AVX2-NEXT: andb $1, %al
4522 ; AVX2-NEXT: movb %al, 4(%rdi)
4523 ; AVX2-NEXT: vpextrb $13, %xmm2, %eax
4524 ; AVX2-NEXT: andb $1, %al
4525 ; AVX2-NEXT: movb %al, 4(%rdi)
4526 ; AVX2-NEXT: vpextrb $12, %xmm2, %eax
4527 ; AVX2-NEXT: andb $1, %al
4528 ; AVX2-NEXT: movb %al, 4(%rdi)
4529 ; AVX2-NEXT: vpextrb $11, %xmm2, %eax
4530 ; AVX2-NEXT: andb $1, %al
4531 ; AVX2-NEXT: movb %al, 4(%rdi)
4532 ; AVX2-NEXT: vpextrb $10, %xmm2, %eax
4533 ; AVX2-NEXT: andb $1, %al
4534 ; AVX2-NEXT: movb %al, 4(%rdi)
4535 ; AVX2-NEXT: vpextrb $9, %xmm2, %eax
4536 ; AVX2-NEXT: andb $1, %al
4537 ; AVX2-NEXT: movb %al, 4(%rdi)
4538 ; AVX2-NEXT: vpextrb $8, %xmm2, %eax
4539 ; AVX2-NEXT: andb $1, %al
4540 ; AVX2-NEXT: movb %al, 4(%rdi)
4541 ; AVX2-NEXT: vpextrb $7, %xmm2, %eax
4542 ; AVX2-NEXT: andb $1, %al
4543 ; AVX2-NEXT: movb %al, 4(%rdi)
4544 ; AVX2-NEXT: vpextrb $6, %xmm2, %eax
4545 ; AVX2-NEXT: andb $1, %al
4546 ; AVX2-NEXT: movb %al, 4(%rdi)
4547 ; AVX2-NEXT: vpextrb $5, %xmm2, %eax
4548 ; AVX2-NEXT: andb $1, %al
4549 ; AVX2-NEXT: movb %al, 4(%rdi)
4550 ; AVX2-NEXT: vpextrb $4, %xmm2, %eax
4551 ; AVX2-NEXT: andb $1, %al
4552 ; AVX2-NEXT: movb %al, 4(%rdi)
4553 ; AVX2-NEXT: vpextrb $3, %xmm2, %eax
4554 ; AVX2-NEXT: andb $1, %al
4555 ; AVX2-NEXT: movb %al, 4(%rdi)
4556 ; AVX2-NEXT: vpextrb $2, %xmm2, %eax
4557 ; AVX2-NEXT: andb $1, %al
4558 ; AVX2-NEXT: movb %al, 4(%rdi)
4559 ; AVX2-NEXT: vpextrb $1, %xmm2, %eax
4560 ; AVX2-NEXT: andb $1, %al
4561 ; AVX2-NEXT: movb %al, 4(%rdi)
4562 ; AVX2-NEXT: vpextrb $0, %xmm2, %eax
4563 ; AVX2-NEXT: andb $1, %al
4564 ; AVX2-NEXT: movb %al, 4(%rdi)
4565 ; AVX2-NEXT: vpextrb $15, %xmm1, %eax
4566 ; AVX2-NEXT: andb $1, %al
4567 ; AVX2-NEXT: movb %al, (%rdi)
4568 ; AVX2-NEXT: vpextrb $14, %xmm1, %eax
4569 ; AVX2-NEXT: andb $1, %al
4570 ; AVX2-NEXT: movb %al, (%rdi)
4571 ; AVX2-NEXT: vpextrb $13, %xmm1, %eax
4572 ; AVX2-NEXT: andb $1, %al
4573 ; AVX2-NEXT: movb %al, (%rdi)
4574 ; AVX2-NEXT: vpextrb $12, %xmm1, %eax
4575 ; AVX2-NEXT: andb $1, %al
4576 ; AVX2-NEXT: movb %al, (%rdi)
4577 ; AVX2-NEXT: vpextrb $11, %xmm1, %eax
4578 ; AVX2-NEXT: andb $1, %al
4579 ; AVX2-NEXT: movb %al, (%rdi)
4580 ; AVX2-NEXT: vpextrb $10, %xmm1, %eax
4581 ; AVX2-NEXT: andb $1, %al
4582 ; AVX2-NEXT: movb %al, (%rdi)
4583 ; AVX2-NEXT: vpextrb $9, %xmm1, %eax
4584 ; AVX2-NEXT: andb $1, %al
4585 ; AVX2-NEXT: movb %al, (%rdi)
4586 ; AVX2-NEXT: vpextrb $8, %xmm1, %eax
4587 ; AVX2-NEXT: andb $1, %al
4588 ; AVX2-NEXT: movb %al, (%rdi)
4589 ; AVX2-NEXT: vpextrb $7, %xmm1, %eax
4590 ; AVX2-NEXT: andb $1, %al
4591 ; AVX2-NEXT: movb %al, (%rdi)
4592 ; AVX2-NEXT: vpextrb $6, %xmm1, %eax
4593 ; AVX2-NEXT: andb $1, %al
4594 ; AVX2-NEXT: movb %al, (%rdi)
4595 ; AVX2-NEXT: vpextrb $5, %xmm1, %eax
4596 ; AVX2-NEXT: andb $1, %al
4597 ; AVX2-NEXT: movb %al, (%rdi)
4598 ; AVX2-NEXT: vpextrb $4, %xmm1, %eax
4599 ; AVX2-NEXT: andb $1, %al
4600 ; AVX2-NEXT: movb %al, (%rdi)
4601 ; AVX2-NEXT: vpextrb $3, %xmm1, %eax
4602 ; AVX2-NEXT: andb $1, %al
4603 ; AVX2-NEXT: movb %al, (%rdi)
4604 ; AVX2-NEXT: vpextrb $2, %xmm1, %eax
4605 ; AVX2-NEXT: andb $1, %al
4606 ; AVX2-NEXT: movb %al, (%rdi)
4607 ; AVX2-NEXT: vpextrb $1, %xmm1, %eax
4608 ; AVX2-NEXT: andb $1, %al
4609 ; AVX2-NEXT: movb %al, (%rdi)
4610 ; AVX2-NEXT: vpextrb $0, %xmm1, %eax
4611 ; AVX2-NEXT: andb $1, %al
4612 ; AVX2-NEXT: movb %al, (%rdi)
4613 ; AVX2-NEXT: vpextrb $15, %xmm0, %eax
4614 ; AVX2-NEXT: andb $1, %al
4615 ; AVX2-NEXT: movb %al, (%rdi)
4616 ; AVX2-NEXT: vpextrb $14, %xmm0, %eax
4617 ; AVX2-NEXT: andb $1, %al
4618 ; AVX2-NEXT: movb %al, (%rdi)
4619 ; AVX2-NEXT: vpextrb $13, %xmm0, %eax
4620 ; AVX2-NEXT: andb $1, %al
4621 ; AVX2-NEXT: movb %al, (%rdi)
4622 ; AVX2-NEXT: vpextrb $12, %xmm0, %eax
4623 ; AVX2-NEXT: andb $1, %al
4624 ; AVX2-NEXT: movb %al, (%rdi)
4625 ; AVX2-NEXT: vpextrb $11, %xmm0, %eax
4626 ; AVX2-NEXT: andb $1, %al
4627 ; AVX2-NEXT: movb %al, (%rdi)
4628 ; AVX2-NEXT: vpextrb $10, %xmm0, %eax
4629 ; AVX2-NEXT: andb $1, %al
4630 ; AVX2-NEXT: movb %al, (%rdi)
4631 ; AVX2-NEXT: vpextrb $9, %xmm0, %eax
4632 ; AVX2-NEXT: andb $1, %al
4633 ; AVX2-NEXT: movb %al, (%rdi)
4634 ; AVX2-NEXT: vpextrb $8, %xmm0, %eax
4635 ; AVX2-NEXT: andb $1, %al
4636 ; AVX2-NEXT: movb %al, (%rdi)
4637 ; AVX2-NEXT: vpextrb $7, %xmm0, %eax
4638 ; AVX2-NEXT: andb $1, %al
4639 ; AVX2-NEXT: movb %al, (%rdi)
4640 ; AVX2-NEXT: vpextrb $6, %xmm0, %eax
4641 ; AVX2-NEXT: andb $1, %al
4642 ; AVX2-NEXT: movb %al, (%rdi)
4643 ; AVX2-NEXT: vpextrb $5, %xmm0, %eax
4644 ; AVX2-NEXT: andb $1, %al
4645 ; AVX2-NEXT: movb %al, (%rdi)
4646 ; AVX2-NEXT: vpextrb $4, %xmm0, %eax
4647 ; AVX2-NEXT: andb $1, %al
4648 ; AVX2-NEXT: movb %al, (%rdi)
4649 ; AVX2-NEXT: vpextrb $3, %xmm0, %eax
4650 ; AVX2-NEXT: andb $1, %al
4651 ; AVX2-NEXT: movb %al, (%rdi)
4652 ; AVX2-NEXT: vpextrb $2, %xmm0, %eax
4653 ; AVX2-NEXT: andb $1, %al
4654 ; AVX2-NEXT: movb %al, (%rdi)
4655 ; AVX2-NEXT: vpextrb $1, %xmm0, %eax
4656 ; AVX2-NEXT: andb $1, %al
4657 ; AVX2-NEXT: movb %al, (%rdi)
4658 ; AVX2-NEXT: vpextrb $0, %xmm0, %eax
4659 ; AVX2-NEXT: andb $1, %al
4660 ; AVX2-NEXT: movb %al, (%rdi)
4661 ; AVX2-NEXT: movq %rdi, %rax
4662 ; AVX2-NEXT: vzeroupper
4663 ; AVX2-NEXT: retq
6181 ; AVX2-LABEL: test_cmp_v128i8:
6182 ; AVX2: # BB#0:
6183 ; AVX2-NEXT: vpcmpgtb %ymm4, %ymm0, %ymm0
6184 ; AVX2-NEXT: vpcmpgtb %ymm5, %ymm1, %ymm1
6185 ; AVX2-NEXT: vpcmpgtb %ymm6, %ymm2, %ymm2
6186 ; AVX2-NEXT: vpcmpgtb %ymm7, %ymm3, %ymm3
6187 ; AVX2-NEXT: vextracti128 $1, %ymm3, %xmm4
6188 ; AVX2-NEXT: vpextrb $15, %xmm4, %eax
6189 ; AVX2-NEXT: andb $1, %al
6190 ; AVX2-NEXT: movb %al, 12(%rdi)
6191 ; AVX2-NEXT: vpextrb $14, %xmm4, %eax
6192 ; AVX2-NEXT: andb $1, %al
6193 ; AVX2-NEXT: movb %al, 12(%rdi)
6194 ; AVX2-NEXT: vpextrb $13, %xmm4, %eax
6195 ; AVX2-NEXT: andb $1, %al
6196 ; AVX2-NEXT: movb %al, 12(%rdi)
6197 ; AVX2-NEXT: vpextrb $12, %xmm4, %eax
6198 ; AVX2-NEXT: andb $1, %al
6199 ; AVX2-NEXT: movb %al, 12(%rdi)
6200 ; AVX2-NEXT: vpextrb $11, %xmm4, %eax
6201 ; AVX2-NEXT: andb $1, %al
6202 ; AVX2-NEXT: movb %al, 12(%rdi)
6203 ; AVX2-NEXT: vpextrb $10, %xmm4, %eax
6204 ; AVX2-NEXT: andb $1, %al
6205 ; AVX2-NEXT: movb %al, 12(%rdi)
6206 ; AVX2-NEXT: vpextrb $9, %xmm4, %eax
6207 ; AVX2-NEXT: andb $1, %al
6208 ; AVX2-NEXT: movb %al, 12(%rdi)
6209 ; AVX2-NEXT: vpextrb $8, %xmm4, %eax
6210 ; AVX2-NEXT: andb $1, %al
6211 ; AVX2-NEXT: movb %al, 12(%rdi)
6212 ; AVX2-NEXT: vpextrb $7, %xmm4, %eax
6213 ; AVX2-NEXT: andb $1, %al
6214 ; AVX2-NEXT: movb %al, 12(%rdi)
6215 ; AVX2-NEXT: vpextrb $6, %xmm4, %eax
6216 ; AVX2-NEXT: andb $1, %al
6217 ; AVX2-NEXT: movb %al, 12(%rdi)
6218 ; AVX2-NEXT: vpextrb $5, %xmm4, %eax
6219 ; AVX2-NEXT: andb $1, %al
6220 ; AVX2-NEXT: movb %al, 12(%rdi)
6221 ; AVX2-NEXT: vpextrb $4, %xmm4, %eax
6222 ; AVX2-NEXT: andb $1, %al
6223 ; AVX2-NEXT: movb %al, 12(%rdi)
6224 ; AVX2-NEXT: vpextrb $3, %xmm4, %eax
6225 ; AVX2-NEXT: andb $1, %al
6226 ; AVX2-NEXT: movb %al, 12(%rdi)
6227 ; AVX2-NEXT: vpextrb $2, %xmm4, %eax
6228 ; AVX2-NEXT: andb $1, %al
6229 ; AVX2-NEXT: movb %al, 12(%rdi)
6230 ; AVX2-NEXT: vpextrb $1, %xmm4, %eax
6231 ; AVX2-NEXT: andb $1, %al
6232 ; AVX2-NEXT: movb %al, 12(%rdi)
6233 ; AVX2-NEXT: vpextrb $0, %xmm4, %eax
6234 ; AVX2-NEXT: andb $1, %al
6235 ; AVX2-NEXT: movb %al, 12(%rdi)
6236 ; AVX2-NEXT: vpextrb $15, %xmm3, %eax
6237 ; AVX2-NEXT: andb $1, %al
6238 ; AVX2-NEXT: movb %al, 12(%rdi)
6239 ; AVX2-NEXT: vpextrb $14, %xmm3, %eax
6240 ; AVX2-NEXT: andb $1, %al
6241 ; AVX2-NEXT: movb %al, 12(%rdi)
6242 ; AVX2-NEXT: vpextrb $13, %xmm3, %eax
6243 ; AVX2-NEXT: andb $1, %al
6244 ; AVX2-NEXT: movb %al, 12(%rdi)
6245 ; AVX2-NEXT: vpextrb $12, %xmm3, %eax
6246 ; AVX2-NEXT: andb $1, %al
6247 ; AVX2-NEXT: movb %al, 12(%rdi)
6248 ; AVX2-NEXT: vpextrb $11, %xmm3, %eax
6249 ; AVX2-NEXT: andb $1, %al
6250 ; AVX2-NEXT: movb %al, 12(%rdi)
6251 ; AVX2-NEXT: vpextrb $10, %xmm3, %eax
6252 ; AVX2-NEXT: andb $1, %al
6253 ; AVX2-NEXT: movb %al, 12(%rdi)
6254 ; AVX2-NEXT: vpextrb $9, %xmm3, %eax
6255 ; AVX2-NEXT: andb $1, %al
6256 ; AVX2-NEXT: movb %al, 12(%rdi)
6257 ; AVX2-NEXT: vpextrb $8, %xmm3, %eax
6258 ; AVX2-NEXT: andb $1, %al
6259 ; AVX2-NEXT: movb %al, 12(%rdi)
6260 ; AVX2-NEXT: vpextrb $7, %xmm3, %eax
6261 ; AVX2-NEXT: andb $1, %al
6262 ; AVX2-NEXT: movb %al, 12(%rdi)
6263 ; AVX2-NEXT: vpextrb $6, %xmm3, %eax
6264 ; AVX2-NEXT: andb $1, %al
6265 ; AVX2-NEXT: movb %al, 12(%rdi)
6266 ; AVX2-NEXT: vpextrb $5, %xmm3, %eax
6267 ; AVX2-NEXT: andb $1, %al
6268 ; AVX2-NEXT: movb %al, 12(%rdi)
6269 ; AVX2-NEXT: vpextrb $4, %xmm3, %eax
6270 ; AVX2-NEXT: andb $1, %al
6271 ; AVX2-NEXT: movb %al, 12(%rdi)
6272 ; AVX2-NEXT: vpextrb $3, %xmm3, %eax
6273 ; AVX2-NEXT: andb $1, %al
6274 ; AVX2-NEXT: movb %al, 12(%rdi)
6275 ; AVX2-NEXT: vpextrb $2, %xmm3, %eax
6276 ; AVX2-NEXT: andb $1, %al
6277 ; AVX2-NEXT: movb %al, 12(%rdi)
6278 ; AVX2-NEXT: vpextrb $1, %xmm3, %eax
6279 ; AVX2-NEXT: andb $1, %al
6280 ; AVX2-NEXT: movb %al, 12(%rdi)
6281 ; AVX2-NEXT: vpextrb $0, %xmm3, %eax
6282 ; AVX2-NEXT: andb $1, %al
6283 ; AVX2-NEXT: movb %al, 12(%rdi)
6284 ; AVX2-NEXT: vextracti128 $1, %ymm2, %xmm3
6285 ; AVX2-NEXT: vpextrb $15, %xmm3, %eax
6286 ; AVX2-NEXT: andb $1, %al
6287 ; AVX2-NEXT: movb %al, 8(%rdi)
6288 ; AVX2-NEXT: vpextrb $14, %xmm3, %eax
6289 ; AVX2-NEXT: andb $1, %al
6290 ; AVX2-NEXT: movb %al, 8(%rdi)
6291 ; AVX2-NEXT: vpextrb $13, %xmm3, %eax
6292 ; AVX2-NEXT: andb $1, %al
6293 ; AVX2-NEXT: movb %al, 8(%rdi)
6294 ; AVX2-NEXT: vpextrb $12, %xmm3, %eax
6295 ; AVX2-NEXT: andb $1, %al
6296 ; AVX2-NEXT: movb %al, 8(%rdi)
6297 ; AVX2-NEXT: vpextrb $11, %xmm3, %eax
6298 ; AVX2-NEXT: andb $1, %al
6299 ; AVX2-NEXT: movb %al, 8(%rdi)
6300 ; AVX2-NEXT: vpextrb $10, %xmm3, %eax
6301 ; AVX2-NEXT: andb $1, %al
6302 ; AVX2-NEXT: movb %al, 8(%rdi)
6303 ; AVX2-NEXT: vpextrb $9, %xmm3, %eax
6304 ; AVX2-NEXT: andb $1, %al
6305 ; AVX2-NEXT: movb %al, 8(%rdi)
6306 ; AVX2-NEXT: vpextrb $8, %xmm3, %eax
6307 ; AVX2-NEXT: andb $1, %al
6308 ; AVX2-NEXT: movb %al, 8(%rdi)
6309 ; AVX2-NEXT: vpextrb $7, %xmm3, %eax
6310 ; AVX2-NEXT: andb $1, %al
6311 ; AVX2-NEXT: movb %al, 8(%rdi)
6312 ; AVX2-NEXT: vpextrb $6, %xmm3, %eax
6313 ; AVX2-NEXT: andb $1, %al
6314 ; AVX2-NEXT: movb %al, 8(%rdi)
6315 ; AVX2-NEXT: vpextrb $5, %xmm3, %eax
6316 ; AVX2-NEXT: andb $1, %al
6317 ; AVX2-NEXT: movb %al, 8(%rdi)
6318 ; AVX2-NEXT: vpextrb $4, %xmm3, %eax
6319 ; AVX2-NEXT: andb $1, %al
6320 ; AVX2-NEXT: movb %al, 8(%rdi)
6321 ; AVX2-NEXT: vpextrb $3, %xmm3, %eax
6322 ; AVX2-NEXT: andb $1, %al
6323 ; AVX2-NEXT: movb %al, 8(%rdi)
6324 ; AVX2-NEXT: vpextrb $2, %xmm3, %eax
6325 ; AVX2-NEXT: andb $1, %al
6326 ; AVX2-NEXT: movb %al, 8(%rdi)
6327 ; AVX2-NEXT: vpextrb $1, %xmm3, %eax
6328 ; AVX2-NEXT: andb $1, %al
6329 ; AVX2-NEXT: movb %al, 8(%rdi)
6330 ; AVX2-NEXT: vpextrb $0, %xmm3, %eax
6331 ; AVX2-NEXT: andb $1, %al
6332 ; AVX2-NEXT: movb %al, 8(%rdi)
6333 ; AVX2-NEXT: vpextrb $15, %xmm2, %eax
6334 ; AVX2-NEXT: andb $1, %al
6335 ; AVX2-NEXT: movb %al, 8(%rdi)
6336 ; AVX2-NEXT: vpextrb $14, %xmm2, %eax
6337 ; AVX2-NEXT: andb $1, %al
6338 ; AVX2-NEXT: movb %al, 8(%rdi)
6339 ; AVX2-NEXT: vpextrb $13, %xmm2, %eax
6340 ; AVX2-NEXT: andb $1, %al
6341 ; AVX2-NEXT: movb %al, 8(%rdi)
6342 ; AVX2-NEXT: vpextrb $12, %xmm2, %eax
6343 ; AVX2-NEXT: andb $1, %al
6344 ; AVX2-NEXT: movb %al, 8(%rdi)
6345 ; AVX2-NEXT: vpextrb $11, %xmm2, %eax
6346 ; AVX2-NEXT: andb $1, %al
6347 ; AVX2-NEXT: movb %al, 8(%rdi)
6348 ; AVX2-NEXT: vpextrb $10, %xmm2, %eax
6349 ; AVX2-NEXT: andb $1, %al
6350 ; AVX2-NEXT: movb %al, 8(%rdi)
6351 ; AVX2-NEXT: vpextrb $9, %xmm2, %eax
6352 ; AVX2-NEXT: andb $1, %al
6353 ; AVX2-NEXT: movb %al, 8(%rdi)
6354 ; AVX2-NEXT: vpextrb $8, %xmm2, %eax
6355 ; AVX2-NEXT: andb $1, %al
6356 ; AVX2-NEXT: movb %al, 8(%rdi)
6357 ; AVX2-NEXT: vpextrb $7, %xmm2, %eax
6358 ; AVX2-NEXT: andb $1, %al
6359 ; AVX2-NEXT: movb %al, 8(%rdi)
6360 ; AVX2-NEXT: vpextrb $6, %xmm2, %eax
6361 ; AVX2-NEXT: andb $1, %al
6362 ; AVX2-NEXT: movb %al, 8(%rdi)
6363 ; AVX2-NEXT: vpextrb $5, %xmm2, %eax
6364 ; AVX2-NEXT: andb $1, %al
6365 ; AVX2-NEXT: movb %al, 8(%rdi)
6366 ; AVX2-NEXT: vpextrb $4, %xmm2, %eax
6367 ; AVX2-NEXT: andb $1, %al
6368 ; AVX2-NEXT: movb %al, 8(%rdi)
6369 ; AVX2-NEXT: vpextrb $3, %xmm2, %eax
6370 ; AVX2-NEXT: andb $1, %al
6371 ; AVX2-NEXT: movb %al, 8(%rdi)
6372 ; AVX2-NEXT: vpextrb $2, %xmm2, %eax
6373 ; AVX2-NEXT: andb $1, %al
6374 ; AVX2-NEXT: movb %al, 8(%rdi)
6375 ; AVX2-NEXT: vpextrb $1, %xmm2, %eax
6376 ; AVX2-NEXT: andb $1, %al
6377 ; AVX2-NEXT: movb %al, 8(%rdi)
6378 ; AVX2-NEXT: vpextrb $0, %xmm2, %eax
6379 ; AVX2-NEXT: andb $1, %al
6380 ; AVX2-NEXT: movb %al, 8(%rdi)
6381 ; AVX2-NEXT: vextracti128 $1, %ymm1, %xmm2
6382 ; AVX2-NEXT: vpextrb $15, %xmm2, %eax
6383 ; AVX2-NEXT: andb $1, %al
6384 ; AVX2-NEXT: movb %al, 4(%rdi)
6385 ; AVX2-NEXT: vpextrb $14, %xmm2, %eax
6386 ; AVX2-NEXT: andb $1, %al
6387 ; AVX2-NEXT: movb %al, 4(%rdi)
6388 ; AVX2-NEXT: vpextrb $13, %xmm2, %eax
6389 ; AVX2-NEXT: andb $1, %al
6390 ; AVX2-NEXT: movb %al, 4(%rdi)
6391 ; AVX2-NEXT: vpextrb $12, %xmm2, %eax
6392 ; AVX2-NEXT: andb $1, %al
6393 ; AVX2-NEXT: movb %al, 4(%rdi)
6394 ; AVX2-NEXT: vpextrb $11, %xmm2, %eax
6395 ; AVX2-NEXT: andb $1, %al
6396 ; AVX2-NEXT: movb %al, 4(%rdi)
6397 ; AVX2-NEXT: vpextrb $10, %xmm2, %eax
6398 ; AVX2-NEXT: andb $1, %al
6399 ; AVX2-NEXT: movb %al, 4(%rdi)
6400 ; AVX2-NEXT: vpextrb $9, %xmm2, %eax
6401 ; AVX2-NEXT: andb $1, %al
6402 ; AVX2-NEXT: movb %al, 4(%rdi)
6403 ; AVX2-NEXT: vpextrb $8, %xmm2, %eax
6404 ; AVX2-NEXT: andb $1, %al
6405 ; AVX2-NEXT: movb %al, 4(%rdi)
6406 ; AVX2-NEXT: vpextrb $7, %xmm2, %eax
6407 ; AVX2-NEXT: andb $1, %al
6408 ; AVX2-NEXT: movb %al, 4(%rdi)
6409 ; AVX2-NEXT: vpextrb $6, %xmm2, %eax
6410 ; AVX2-NEXT: andb $1, %al
6411 ; AVX2-NEXT: movb %al, 4(%rdi)
6412 ; AVX2-NEXT: vpextrb $5, %xmm2, %eax
6413 ; AVX2-NEXT: andb $1, %al
6414 ; AVX2-NEXT: movb %al, 4(%rdi)
6415 ; AVX2-NEXT: vpextrb $4, %xmm2, %eax
6416 ; AVX2-NEXT: andb $1, %al
6417 ; AVX2-NEXT: movb %al, 4(%rdi)
6418 ; AVX2-NEXT: vpextrb $3, %xmm2, %eax
6419 ; AVX2-NEXT: andb $1, %al
6420 ; AVX2-NEXT: movb %al, 4(%rdi)
6421 ; AVX2-NEXT: vpextrb $2, %xmm2, %eax
6422 ; AVX2-NEXT: andb $1, %al
6423 ; AVX2-NEXT: movb %al, 4(%rdi)
6424 ; AVX2-NEXT: vpextrb $1, %xmm2, %eax
6425 ; AVX2-NEXT: andb $1, %al
6426 ; AVX2-NEXT: movb %al, 4(%rdi)
6427 ; AVX2-NEXT: vpextrb $0, %xmm2, %eax
6428 ; AVX2-NEXT: andb $1, %al
6429 ; AVX2-NEXT: movb %al, 4(%rdi)
6430 ; AVX2-NEXT: vpextrb $15, %xmm1, %eax
6431 ; AVX2-NEXT: andb $1, %al
6432 ; AVX2-NEXT: movb %al, 4(%rdi)
6433 ; AVX2-NEXT: vpextrb $14, %xmm1, %eax
6434 ; AVX2-NEXT: andb $1, %al
6435 ; AVX2-NEXT: movb %al, 4(%rdi)
6436 ; AVX2-NEXT: vpextrb $13, %xmm1, %eax
6437 ; AVX2-NEXT: andb $1, %al
6438 ; AVX2-NEXT: movb %al, 4(%rdi)
6439 ; AVX2-NEXT: vpextrb $12, %xmm1, %eax
6440 ; AVX2-NEXT: andb $1, %al
6441 ; AVX2-NEXT: movb %al, 4(%rdi)
6442 ; AVX2-NEXT: vpextrb $11, %xmm1, %eax
6443 ; AVX2-NEXT: andb $1, %al
6444 ; AVX2-NEXT: movb %al, 4(%rdi)
6445 ; AVX2-NEXT: vpextrb $10, %xmm1, %eax
6446 ; AVX2-NEXT: andb $1, %al
6447 ; AVX2-NEXT: movb %al, 4(%rdi)
6448 ; AVX2-NEXT: vpextrb $9, %xmm1, %eax
6449 ; AVX2-NEXT: andb $1, %al
6450 ; AVX2-NEXT: movb %al, 4(%rdi)
6451 ; AVX2-NEXT: vpextrb $8, %xmm1, %eax
6452 ; AVX2-NEXT: andb $1, %al
6453 ; AVX2-NEXT: movb %al, 4(%rdi)
6454 ; AVX2-NEXT: vpextrb $7, %xmm1, %eax
6455 ; AVX2-NEXT: andb $1, %al
6456 ; AVX2-NEXT: movb %al, 4(%rdi)
6457 ; AVX2-NEXT: vpextrb $6, %xmm1, %eax
6458 ; AVX2-NEXT: andb $1, %al
6459 ; AVX2-NEXT: movb %al, 4(%rdi)
6460 ; AVX2-NEXT: vpextrb $5, %xmm1, %eax
6461 ; AVX2-NEXT: andb $1, %al
6462 ; AVX2-NEXT: movb %al, 4(%rdi)
6463 ; AVX2-NEXT: vpextrb $4, %xmm1, %eax
6464 ; AVX2-NEXT: andb $1, %al
6465 ; AVX2-NEXT: movb %al, 4(%rdi)
6466 ; AVX2-NEXT: vpextrb $3, %xmm1, %eax
6467 ; AVX2-NEXT: andb $1, %al
6468 ; AVX2-NEXT: movb %al, 4(%rdi)
6469 ; AVX2-NEXT: vpextrb $2, %xmm1, %eax
6470 ; AVX2-NEXT: andb $1, %al
6471 ; AVX2-NEXT: movb %al, 4(%rdi)
6472 ; AVX2-NEXT: vpextrb $1, %xmm1, %eax
6473 ; AVX2-NEXT: andb $1, %al
6474 ; AVX2-NEXT: movb %al, 4(%rdi)
6475 ; AVX2-NEXT: vpextrb $0, %xmm1, %eax
6476 ; AVX2-NEXT: andb $1, %al
6477 ; AVX2-NEXT: movb %al, 4(%rdi)
6478 ; AVX2-NEXT: vextracti128 $1, %ymm0, %xmm1
6479 ; AVX2-NEXT: vpextrb $15, %xmm1, %eax
6480 ; AVX2-NEXT: andb $1, %al
6481 ; AVX2-NEXT: movb %al, (%rdi)
6482 ; AVX2-NEXT: vpextrb $14, %xmm1, %eax
6483 ; AVX2-NEXT: andb $1, %al
6484 ; AVX2-NEXT: movb %al, (%rdi)
6485 ; AVX2-NEXT: vpextrb $13, %xmm1, %eax
6486 ; AVX2-NEXT: andb $1, %al
6487 ; AVX2-NEXT: movb %al, (%rdi)
6488 ; AVX2-NEXT: vpextrb $12, %xmm1, %eax
6489 ; AVX2-NEXT: andb $1, %al
6490 ; AVX2-NEXT: movb %al, (%rdi)
6491 ; AVX2-NEXT: vpextrb $11, %xmm1, %eax
6492 ; AVX2-NEXT: andb $1, %al
6493 ; AVX2-NEXT: movb %al, (%rdi)
6494 ; AVX2-NEXT: vpextrb $10, %xmm1, %eax
6495 ; AVX2-NEXT: andb $1, %al
6496 ; AVX2-NEXT: movb %al, (%rdi)
6497 ; AVX2-NEXT: vpextrb $9, %xmm1, %eax
6498 ; AVX2-NEXT: andb $1, %al
6499 ; AVX2-NEXT: movb %al, (%rdi)
6500 ; AVX2-NEXT: vpextrb $8, %xmm1, %eax
6501 ; AVX2-NEXT: andb $1, %al
6502 ; AVX2-NEXT: movb %al, (%rdi)
6503 ; AVX2-NEXT: vpextrb $7, %xmm1, %eax
6504 ; AVX2-NEXT: andb $1, %al
6505 ; AVX2-NEXT: movb %al, (%rdi)
6506 ; AVX2-NEXT: vpextrb $6, %xmm1, %eax
6507 ; AVX2-NEXT: andb $1, %al
6508 ; AVX2-NEXT: movb %al, (%rdi)
6509 ; AVX2-NEXT: vpextrb $5, %xmm1, %eax
6510 ; AVX2-NEXT: andb $1, %al
6511 ; AVX2-NEXT: movb %al, (%rdi)
6512 ; AVX2-NEXT: vpextrb $4, %xmm1, %eax
6513 ; AVX2-NEXT: andb $1, %al
6514 ; AVX2-NEXT: movb %al, (%rdi)
6515 ; AVX2-NEXT: vpextrb $3, %xmm1, %eax
6516 ; AVX2-NEXT: andb $1, %al
6517 ; AVX2-NEXT: movb %al, (%rdi)
6518 ; AVX2-NEXT: vpextrb $2, %xmm1, %eax
6519 ; AVX2-NEXT: andb $1, %al
6520 ; AVX2-NEXT: movb %al, (%rdi)
6521 ; AVX2-NEXT: vpextrb $1, %xmm1, %eax
6522 ; AVX2-NEXT: andb $1, %al
6523 ; AVX2-NEXT: movb %al, (%rdi)
6524 ; AVX2-NEXT: vpextrb $0, %xmm1, %eax
6525 ; AVX2-NEXT: andb $1, %al
6526 ; AVX2-NEXT: movb %al, (%rdi)
6527 ; AVX2-NEXT: vpextrb $15, %xmm0, %eax
6528 ; AVX2-NEXT: andb $1, %al
6529 ; AVX2-NEXT: movb %al, (%rdi)
6530 ; AVX2-NEXT: vpextrb $14, %xmm0, %eax
6531 ; AVX2-NEXT: andb $1, %al
6532 ; AVX2-NEXT: movb %al, (%rdi)
6533 ; AVX2-NEXT: vpextrb $13, %xmm0, %eax
6534 ; AVX2-NEXT: andb $1, %al
6535 ; AVX2-NEXT: movb %al, (%rdi)
6536 ; AVX2-NEXT: vpextrb $12, %xmm0, %eax
6537 ; AVX2-NEXT: andb $1, %al
6538 ; AVX2-NEXT: movb %al, (%rdi)
6539 ; AVX2-NEXT: vpextrb $11, %xmm0, %eax
6540 ; AVX2-NEXT: andb $1, %al
6541 ; AVX2-NEXT: movb %al, (%rdi)
6542 ; AVX2-NEXT: vpextrb $10, %xmm0, %eax
6543 ; AVX2-NEXT: andb $1, %al
6544 ; AVX2-NEXT: movb %al, (%rdi)
6545 ; AVX2-NEXT: vpextrb $9, %xmm0, %eax
6546 ; AVX2-NEXT: andb $1, %al
6547 ; AVX2-NEXT: movb %al, (%rdi)
6548 ; AVX2-NEXT: vpextrb $8, %xmm0, %eax
6549 ; AVX2-NEXT: andb $1, %al
6550 ; AVX2-NEXT: movb %al, (%rdi)
6551 ; AVX2-NEXT: vpextrb $7, %xmm0, %eax
6552 ; AVX2-NEXT: andb $1, %al
6553 ; AVX2-NEXT: movb %al, (%rdi)
6554 ; AVX2-NEXT: vpextrb $6, %xmm0, %eax
6555 ; AVX2-NEXT: andb $1, %al
6556 ; AVX2-NEXT: movb %al, (%rdi)
6557 ; AVX2-NEXT: vpextrb $5, %xmm0, %eax
6558 ; AVX2-NEXT: andb $1, %al
6559 ; AVX2-NEXT: movb %al, (%rdi)
6560 ; AVX2-NEXT: vpextrb $4, %xmm0, %eax
6561 ; AVX2-NEXT: andb $1, %al
6562 ; AVX2-NEXT: movb %al, (%rdi)
6563 ; AVX2-NEXT: vpextrb $3, %xmm0, %eax
6564 ; AVX2-NEXT: andb $1, %al
6565 ; AVX2-NEXT: movb %al, (%rdi)
6566 ; AVX2-NEXT: vpextrb $2, %xmm0, %eax
6567 ; AVX2-NEXT: andb $1, %al
6568 ; AVX2-NEXT: movb %al, (%rdi)
6569 ; AVX2-NEXT: vpextrb $1, %xmm0, %eax
6570 ; AVX2-NEXT: andb $1, %al
6571 ; AVX2-NEXT: movb %al, (%rdi)
6572 ; AVX2-NEXT: vpextrb $0, %xmm0, %eax
6573 ; AVX2-NEXT: andb $1, %al
6574 ; AVX2-NEXT: movb %al, (%rdi)
6575 ; AVX2-NEXT: movq %rdi, %rax
6576 ; AVX2-NEXT: vzeroupper
6577 ; AVX2-NEXT: retq