Skip to content

Commit 2969257

Browse files
committed
Merge branch 'master' of jsoftware.com:jsource
Fix lrep of gerund __:; make gerund"n infinite rank
2 parents 35973b9 + 2fc0169 commit 2969257

File tree

1 file changed

+266
-7
lines changed

1 file changed

+266
-7
lines changed

jsrc/avxintrin-emu.h

Lines changed: 266 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,24 @@
107107
#define _mm_shuffle_epi8 _mm_shuffle_epi8_REF
108108
#endif
109109

110-
#if !(defined (__SSE4_2__) || defined (__SSE4_1__))
110+
#if !defined (__SSE4_2__) && !defined (__SSE4_1__)
111+
/* clang 19 defines these macro */
112+
#undef _mm_blend_pd
113+
#undef _mm_blend_ps
114+
#undef _mm_blendv_pd
115+
#undef _mm_blendv_ps
116+
#undef _mm_cmpeq_epi64
117+
#undef _mm_cmpgt_epi64
118+
#undef _mm_cvtepu8_epi64
119+
#undef _mm_extract_epi64
120+
#undef _mm_insert_epi32
121+
#undef _mm_insert_epi64
122+
#undef _mm_insert_epi8
123+
#undef _mm_max_epu32
124+
#undef _mm_testc_si128
125+
#undef _mm_testnzc_si128
126+
#undef _mm_testz_si128
127+
111128
#define _mm_blend_pd _mm_blend_pd_REF
112129
#define _mm_blend_ps _mm_blend_ps_SSE2
113130
#define _mm_blendv_pd _mm_blendv_pd_SSE2
@@ -692,6 +709,40 @@ static __emu_inline __emu_int64_t __emu_mm256_extract_epi64( __emu__m256i a, con
692709
/*
693710
* Compare predicates for scalar and packed compare intrinsics
694711
*/
712+
/* clang 19 defines these macro */
713+
#undef _CMP_EQ_OQ
714+
#undef _CMP_LT_OS
715+
#undef _CMP_LE_OS
716+
#undef _CMP_UNORD_Q
717+
#undef _CMP_NEQ_UQ
718+
#undef _CMP_NLT_US
719+
#undef _CMP_NLE_US
720+
#undef _CMP_ORD_Q
721+
#undef _CMP_EQ_UQ
722+
#undef _CMP_NGE_US
723+
#undef _CMP_NGT_US
724+
#undef _CMP_FALSE_OQ
725+
#undef _CMP_NEQ_OQ
726+
#undef _CMP_GE_OS
727+
#undef _CMP_GT_OS
728+
#undef _CMP_TRUE_UQ
729+
#undef _CMP_EQ_OS
730+
#undef _CMP_LT_OQ
731+
#undef _CMP_LE_OQ
732+
#undef _CMP_UNORD_S
733+
#undef _CMP_NEQ_US
734+
#undef _CMP_NLT_UQ
735+
#undef _CMP_NLE_UQ
736+
#undef _CMP_ORD_S
737+
#undef _CMP_EQ_US
738+
#undef _CMP_NGE_UQ
739+
#undef _CMP_NGT_UQ
740+
#undef _CMP_FALSE_OS
741+
#undef _CMP_NEQ_OS
742+
#undef _CMP_GE_OQ
743+
#undef _CMP_GT_OQ
744+
#undef _CMP_TRUE_US
745+
695746
#define _CMP_EQ_OQ 0x00 /* Equal (ordered, nonsignaling) */
696747
#define _CMP_LT_OS 0x01 /* Less-than (ordered, signaling) */
697748
#define _CMP_LE_OS 0x02 /* Less-than-or-equal (ordered, signaling) */
@@ -1768,6 +1819,220 @@ static __emu_inline __emu__m256i __emu_mm256_sllv_epi64(__emu__m256i a, __emu__m
17681819
#define __m256i __emu__m256i
17691820
#define __m256d __emu__m256d
17701821

1822+
/* clang 19 defines these macro */
1823+
#undef _mm256_add_pd
1824+
#undef _mm256_add_ps
1825+
#undef _mm256_addsub_pd
1826+
#undef _mm256_addsub_ps
1827+
#undef _mm256_and_pd
1828+
#undef _mm256_and_ps
1829+
#undef _mm256_andnot_pd
1830+
#undef _mm256_andnot_ps
1831+
#undef _mm256_blend_pd
1832+
#undef _mm256_blend_ps
1833+
#undef _mm256_blendv_pd
1834+
#undef _mm256_blendv_ps
1835+
#undef _mm256_div_pd
1836+
#undef _mm256_div_ps
1837+
#undef _mm256_dp_ps
1838+
#undef _mm256_hadd_pd
1839+
#undef _mm256_hadd_ps
1840+
#undef _mm256_hsub_pd
1841+
#undef _mm256_hsub_ps
1842+
#undef _mm256_max_pd
1843+
#undef _mm256_max_ps
1844+
#undef _mm256_min_pd
1845+
#undef _mm256_min_ps
1846+
#undef _mm256_mul_pd
1847+
#undef _mm256_mul_ps
1848+
#undef _mm256_or_pd
1849+
#undef _mm256_or_ps
1850+
#undef _mm256_shuffle_pd
1851+
#undef _mm256_shuffle_ps
1852+
#undef _mm256_sub_pd
1853+
#undef _mm256_sub_ps
1854+
#undef _mm256_xor_pd
1855+
#undef _mm256_xor_ps
1856+
#undef _mm_cmp_pd
1857+
#undef _mm256_cmp_pd
1858+
#undef _mm_cmp_ps
1859+
#undef _mm256_cmp_ps
1860+
#undef _mm_cmp_sd
1861+
#undef _mm_cmp_ss
1862+
#undef _mm256_cvtepi32_pd
1863+
#undef _mm256_cvtepi32_ps
1864+
#undef _mm256_cvtpd_ps
1865+
#undef _mm256_cvtps_epi32
1866+
#undef _mm256_cvtps_pd
1867+
#undef _mm256_cvttpd_epi32
1868+
#undef _mm256_cvtpd_epi32
1869+
#undef _mm256_cvttps_epi32
1870+
#undef _mm256_extractf128_ps
1871+
#undef _mm256_extractf128_pd
1872+
#undef _mm256_extractf128_si256
1873+
#undef _mm256_zeroall
1874+
#undef _mm256_zeroupper
1875+
#undef _mm256_permutevar_ps
1876+
#undef _mm_permutevar_ps
1877+
#undef _mm256_permute_ps
1878+
#undef _mm_permute_ps
1879+
#undef _mm256_permutevar_pd
1880+
#undef _mm_permutevar_pd
1881+
#undef _mm256_permute_pd
1882+
#undef _mm_permute_pd
1883+
#undef _mm256_permute2f128_ps
1884+
#undef _mm256_permute2f128_pd
1885+
#undef _mm256_permute2f128_si256
1886+
#undef _mm256_broadcast_ss
1887+
#undef _mm_broadcast_ss
1888+
#undef _mm256_broadcast_sd
1889+
#undef _mm256_broadcast_ps
1890+
#undef _mm256_broadcast_pd
1891+
#undef _mm256_insertf128_ps
1892+
#undef _mm256_insertf128_pd
1893+
#undef _mm256_insertf128_si256
1894+
#undef _mm256_load_pd
1895+
#undef _mm256_store_pd
1896+
#undef _mm256_load_ps
1897+
#undef _mm256_store_ps
1898+
#undef _mm256_loadu_pd
1899+
#undef _mm256_storeu_pd
1900+
#undef _mm256_loadu_ps
1901+
#undef _mm256_storeu_ps
1902+
#undef _mm256_load_si256
1903+
#undef _mm256_store_si256
1904+
#undef _mm256_loadu_si256
1905+
#undef _mm256_storeu_si256
1906+
#undef _mm256_maskload_pd
1907+
#undef _mm256_maskstore_pd
1908+
#undef _mm_maskload_pd
1909+
#undef _mm_maskstore_pd
1910+
#undef _mm256_maskload_ps
1911+
#undef _mm256_maskstore_ps
1912+
#undef _mm_maskload_ps
1913+
#undef _mm_maskstore_ps
1914+
#undef _mm256_movehdup_ps
1915+
#undef _mm256_moveldup_ps
1916+
#undef _mm256_movedup_pd
1917+
#undef _mm256_lddqu_si256
1918+
#undef _mm256_stream_pd
1919+
#undef _mm256_stream_ps
1920+
#undef _mm256_rcp_ps
1921+
#undef _mm256_rsqrt_ps
1922+
#undef _mm256_sqrt_pd
1923+
#undef _mm256_sqrt_ps
1924+
#undef _mm256_round_pd
1925+
#undef _mm256_round_ps
1926+
#undef _mm256_unpackhi_pd
1927+
#undef _mm256_unpackhi_ps
1928+
#undef _mm256_unpacklo_pd
1929+
#undef _mm256_unpacklo_ps
1930+
#undef _mm256_testz_si256
1931+
#undef _mm256_testc_si256
1932+
#undef _mm256_testnzc_si256
1933+
#undef _mm256_testz_pd
1934+
#undef _mm256_testc_pd
1935+
#undef _mm256_testnzc_pd
1936+
#undef _mm256_testz_ps
1937+
#undef _mm256_testc_ps
1938+
#undef _mm256_testnzc_ps
1939+
#undef _mm_testz_pd
1940+
#undef _mm_testc_pd
1941+
#undef _mm_testnzc_pd
1942+
#undef _mm_testz_ps
1943+
#undef _mm_testc_ps
1944+
#undef _mm_testnzc_ps
1945+
#undef _mm256_movemask_pd
1946+
#undef _mm256_movemask_ps
1947+
#undef _mm256_setzero_pd
1948+
#undef _mm256_setzero_ps
1949+
#undef _mm256_setzero_si256
1950+
#undef _mm256_set_pd
1951+
#undef _mm256_set_ps
1952+
#undef _mm256_set_epi8
1953+
#undef _mm256_set_epi16
1954+
#undef _mm256_set_epi32
1955+
#undef _mm256_set_epi64x
1956+
#undef _mm256_setr_pd
1957+
#undef _mm256_setr_ps
1958+
#undef _mm256_setr_epi8
1959+
#undef _mm256_setr_epi16
1960+
#undef _mm256_setr_epi32
1961+
#undef _mm256_setr_epi64x
1962+
#undef _mm256_set1_pd
1963+
#undef _mm256_set1_ps
1964+
#undef _mm256_set1_epi8
1965+
#undef _mm256_set1_epi16
1966+
#undef _mm256_set1_epi32
1967+
#undef _mm256_set1_epi64x
1968+
#undef _mm256_castpd_ps
1969+
#undef _mm256_castps_pd
1970+
#undef _mm256_castps_si256
1971+
#undef _mm256_castpd_si256
1972+
#undef _mm256_castsi256_ps
1973+
#undef _mm256_castsi256_pd
1974+
#undef _mm256_castps256_ps128
1975+
#undef _mm256_castpd256_pd128
1976+
#undef _mm256_castsi256_si128
1977+
#undef _mm256_castps128_ps256
1978+
#undef _mm256_castpd128_pd256
1979+
#undef _mm256_castsi128_si256
1980+
#undef _mm256_add_epi16
1981+
#undef _mm256_add_epi32
1982+
#undef _mm256_add_epi8
1983+
#undef _mm256_add_epi64
1984+
#undef _mm256_sub_epi64
1985+
#undef _mm256_and_si256
1986+
#undef _mm256_andnot_si256
1987+
#undef _mm256_or_si256
1988+
#undef _mm256_xor_si256
1989+
#undef _mm256_sub_epi8
1990+
#undef _mm256_max_epu32
1991+
#undef _mm256_mul_epu32
1992+
#undef _mm256_blendv_epi8
1993+
#undef _mm256_slli_epi64
1994+
#undef _mm256_srli_epi16
1995+
#undef _mm256_srli_epi32
1996+
#undef _mm256_srli_epi64
1997+
#undef _mm256_srli_si256
1998+
#undef _mm256_broadcastb_epi8
1999+
#undef _mm256_broadcastd_epi32
2000+
#undef _mm256_broadcastq_epi64
2001+
#undef _mm256_broadcastsi128_si256
2002+
#undef _mm256_cmpeq_epi16
2003+
#undef _mm256_cmpeq_epi32
2004+
#undef _mm256_cmpeq_epi64
2005+
#undef _mm256_cmpeq_epi8
2006+
#undef _mm256_cmpgt_epi16
2007+
#undef _mm256_cmpgt_epi32
2008+
#undef _mm256_cmpgt_epi64
2009+
#undef _mm256_cmpgt_epi8
2010+
#undef _mm256_maskload_epi64
2011+
#undef _mm256_maskstore_epi64
2012+
#undef _mm256_movemask_epi8
2013+
#undef _mm256_blend_epi32
2014+
#undef _mm256_extract_epi64
2015+
#undef _mm256_fnmadd_pd
2016+
#undef _mm256_fmadd_pd
2017+
#undef _mm256_fmadd_ps
2018+
#undef _mm256_fmsub_pd
2019+
#undef _mm256_fmsub_ps
2020+
#undef _mm256_i64gather_epi64
2021+
#undef _mm256_i64gather_pd
2022+
#undef _mm256_mask_i64gather_epi64
2023+
#undef _mm256_mask_i64gather_pd
2024+
#undef _mm256_permute2x128_si256
2025+
#undef _mm256_permute4x64_epi64
2026+
#undef _mm256_permute4x64_pd
2027+
#undef _mm256_permutevar8x32_epi32
2028+
#undef _mm256_cvtsd_f64
2029+
#undef _mm256_cvtepu8_epi64
2030+
#undef _mm256_sllv_epi64
2031+
#undef _mm256_shuffle_epi32
2032+
#undef _mm256_stream_load_pd
2033+
#undef _mm256_stream_si256
2034+
#undef _mm256_stream_load_si256
2035+
17712036
#define _mm256_add_pd __emu_mm256_add_pd
17722037
#define _mm256_add_ps __emu_mm256_add_ps
17732038

@@ -1818,12 +2083,6 @@ static __emu_inline __emu__m256i __emu_mm256_sllv_epi64(__emu__m256i a, __emu__m
18182083
#define _mm256_xor_pd __emu_mm256_xor_pd
18192084
#define _mm256_xor_ps __emu_mm256_xor_ps
18202085

1821-
/* clang 19 defines these macro */
1822-
#undef _mm_cmp_pd
1823-
#undef _mm_cmp_ps
1824-
#undef _mm_cmp_sd
1825-
#undef _mm_cmp_ss
1826-
18272086
#define _mm_cmp_pd __emu_mm_cmp_pd
18282087
#define _mm256_cmp_pd __emu_mm256_cmp_pd
18292088

0 commit comments

Comments
 (0)