Initial import of libdpf.
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
commit
e4e666f459
4563 changed files with 1690372 additions and 0 deletions
445
thirdparty/simde/meson.build
vendored
Normal file
445
thirdparty/simde/meson.build
vendored
Normal file
|
|
@ -0,0 +1,445 @@
|
|||
project('SIMDe', 'c', 'cpp',
|
||||
default_options: ['c_std=c99'],
|
||||
license: 'MIT',
|
||||
meson_version : '>=0.54.0',
|
||||
version: '0.7.4')
|
||||
# also update SIMDE_VESION_* in simde/simde-common.h
|
||||
|
||||
cc = meson.get_compiler('c')
|
||||
cxx = meson.get_compiler('cpp')
|
||||
|
||||
simde_neon_families = [
|
||||
'aba',
|
||||
'abd',
|
||||
'abdl',
|
||||
'abs',
|
||||
'add',
|
||||
'addhn',
|
||||
'addl',
|
||||
'addlv',
|
||||
'addl_high',
|
||||
'addv',
|
||||
'addw',
|
||||
'addw_high',
|
||||
'and',
|
||||
'bcax',
|
||||
'bic',
|
||||
'bsl',
|
||||
'cage',
|
||||
'cagt',
|
||||
'ceq',
|
||||
'ceqz',
|
||||
'cge',
|
||||
'cgez',
|
||||
'cgt',
|
||||
'cgtz',
|
||||
'cle',
|
||||
'cls',
|
||||
'clez',
|
||||
'clt',
|
||||
'cltz',
|
||||
'clz',
|
||||
'cmla',
|
||||
'cmla_rot90',
|
||||
'cmla_rot180',
|
||||
'cmla_rot270',
|
||||
'cnt',
|
||||
'cvt',
|
||||
'combine',
|
||||
'create',
|
||||
'dot',
|
||||
'dot_lane',
|
||||
'dup_n',
|
||||
'dup_lane',
|
||||
'eor',
|
||||
'ext',
|
||||
'fma',
|
||||
'fma_lane',
|
||||
'fma_n',
|
||||
'get_high',
|
||||
'get_lane',
|
||||
'get_low',
|
||||
'hadd',
|
||||
'hsub',
|
||||
'ld1_dup',
|
||||
'ld1_lane',
|
||||
'ld1_x2',
|
||||
'ld1_x3',
|
||||
'ld1_x4',
|
||||
'ld1q_x2',
|
||||
'ld1q_x3',
|
||||
'ld1q_x4',
|
||||
'ld2',
|
||||
'ld3',
|
||||
'ld4',
|
||||
'ld4_lane',
|
||||
'max',
|
||||
'maxnm',
|
||||
'maxv',
|
||||
'min',
|
||||
'minnm',
|
||||
'minv',
|
||||
'mla',
|
||||
'mla_n',
|
||||
'mlal',
|
||||
'mlal_high',
|
||||
'mlal_high_n',
|
||||
'mlal_lane',
|
||||
'mlal_n',
|
||||
'mls',
|
||||
'mls_n',
|
||||
'mlsl',
|
||||
'mlsl_high',
|
||||
'mlsl_high_n',
|
||||
'mlsl_lane',
|
||||
'mlsl_n',
|
||||
'movl',
|
||||
'movl_high',
|
||||
'movn',
|
||||
'movn_high',
|
||||
'mul',
|
||||
'mul_lane',
|
||||
'mul_n',
|
||||
'mull',
|
||||
'mull_high',
|
||||
'mull_lane',
|
||||
'mull_n',
|
||||
'mvn',
|
||||
'neg',
|
||||
'orn',
|
||||
'orr',
|
||||
'padal',
|
||||
'padd',
|
||||
'paddl',
|
||||
'pmax',
|
||||
'pmin',
|
||||
'qadd',
|
||||
'qabs',
|
||||
'qdmulh',
|
||||
'qdmulh_lane',
|
||||
'qdmulh_n',
|
||||
'qdmull',
|
||||
'qrdmulh',
|
||||
'qrdmulh_lane',
|
||||
'qrdmulh_n',
|
||||
'qrshrn_n',
|
||||
'qrshrun_n',
|
||||
'qmovn',
|
||||
'qmovn_high',
|
||||
'qmovun',
|
||||
'qneg',
|
||||
'qshl',
|
||||
'qshlu_n',
|
||||
'qshrn_n',
|
||||
'qshrun_n',
|
||||
'qsub',
|
||||
'qtbl',
|
||||
'qtbx',
|
||||
'rbit',
|
||||
'recpe',
|
||||
'recps',
|
||||
'reinterpret',
|
||||
'rev16',
|
||||
'rev32',
|
||||
'rev64',
|
||||
'rhadd',
|
||||
'rnd',
|
||||
'rndi',
|
||||
'rndm',
|
||||
'rndn',
|
||||
'rndp',
|
||||
'rshl',
|
||||
'rshr_n',
|
||||
'rshrn_n',
|
||||
'rsqrte',
|
||||
'rsqrts',
|
||||
'rsra_n',
|
||||
'set_lane',
|
||||
'shl',
|
||||
'shl_n',
|
||||
'shll_n',
|
||||
'shr_n',
|
||||
'shrn_n',
|
||||
'sqadd',
|
||||
'sra_n',
|
||||
'sri_n',
|
||||
'st1',
|
||||
'st1_lane',
|
||||
'st2',
|
||||
'st2_lane',
|
||||
'st3',
|
||||
'st3_lane',
|
||||
'st4',
|
||||
'st4_lane',
|
||||
'sub',
|
||||
'subhn',
|
||||
'subl',
|
||||
'subl_high',
|
||||
'subw',
|
||||
'subw_high',
|
||||
'tbl',
|
||||
'tbx',
|
||||
'trn1',
|
||||
'trn2',
|
||||
'trn',
|
||||
'tst',
|
||||
'uqadd',
|
||||
'uzp1',
|
||||
'uzp2',
|
||||
'uzp',
|
||||
'xar',
|
||||
'zip1',
|
||||
'zip2',
|
||||
'zip',
|
||||
]
|
||||
|
||||
simde_sve_families = [
|
||||
'add',
|
||||
'and',
|
||||
'cnt',
|
||||
'cmplt',
|
||||
'dup',
|
||||
'ld1',
|
||||
'ptest',
|
||||
'ptrue',
|
||||
'qadd',
|
||||
'sel',
|
||||
'st1',
|
||||
'sub',
|
||||
'reinterpret',
|
||||
'whilelt'
|
||||
]
|
||||
|
||||
simde_avx512_families = [
|
||||
'2intersect',
|
||||
'4dpwssd',
|
||||
'4dpwssds',
|
||||
'abs',
|
||||
'add',
|
||||
'adds',
|
||||
'and',
|
||||
'andnot',
|
||||
'avg',
|
||||
'bitshuffle',
|
||||
'blend',
|
||||
'broadcast',
|
||||
'cast',
|
||||
'cmp',
|
||||
'cmpeq',
|
||||
'cmpge',
|
||||
'cmpgt',
|
||||
'cmple',
|
||||
'cmplt',
|
||||
'cmpneq',
|
||||
'compress',
|
||||
'conflict',
|
||||
'copysign',
|
||||
'cvt',
|
||||
'cvtt',
|
||||
'cvts',
|
||||
'dbsad',
|
||||
'div',
|
||||
'dpbf16',
|
||||
'dpbusd',
|
||||
'dpbusds',
|
||||
'dpwssd',
|
||||
'dpwssds',
|
||||
'expand',
|
||||
'extract',
|
||||
'fixupimm',
|
||||
'fixupimm_round',
|
||||
'flushsubnormal',
|
||||
'fmadd',
|
||||
'fmsub',
|
||||
'fnmadd',
|
||||
'fnmsub',
|
||||
'insert',
|
||||
'kshift',
|
||||
'load',
|
||||
'loadu',
|
||||
'lzcnt',
|
||||
'madd',
|
||||
'maddubs',
|
||||
'max',
|
||||
'min',
|
||||
'mov',
|
||||
'mov_mask',
|
||||
'movm',
|
||||
'mul',
|
||||
'mulhi',
|
||||
'mulhrs',
|
||||
'mullo',
|
||||
'multishift',
|
||||
'negate',
|
||||
'or',
|
||||
'packs',
|
||||
'packus',
|
||||
'permutexvar',
|
||||
'permutex2var',
|
||||
'popcnt',
|
||||
'range',
|
||||
'range_round',
|
||||
'rol',
|
||||
'rolv',
|
||||
'ror',
|
||||
'rorv',
|
||||
'round',
|
||||
'roundscale',
|
||||
'roundscale_round',
|
||||
'sad',
|
||||
'scalef',
|
||||
'set',
|
||||
'set1',
|
||||
'set4',
|
||||
'setr',
|
||||
'setr4',
|
||||
'setzero',
|
||||
'setone',
|
||||
'shldv',
|
||||
'shuffle',
|
||||
'sll',
|
||||
'slli',
|
||||
'sllv',
|
||||
'sqrt',
|
||||
'sra',
|
||||
'srai',
|
||||
'srav',
|
||||
'srl',
|
||||
'srli',
|
||||
'srlv',
|
||||
'store',
|
||||
'storeu',
|
||||
'sub',
|
||||
'subs',
|
||||
'ternarylogic',
|
||||
'test',
|
||||
'testn',
|
||||
'unpacklo',
|
||||
'unpackhi',
|
||||
'xor',
|
||||
'xorsign',
|
||||
]
|
||||
|
||||
simde_msa_families = [
|
||||
'add_a',
|
||||
'adds',
|
||||
'adds_a',
|
||||
'addv',
|
||||
'addvi',
|
||||
'and',
|
||||
'andi',
|
||||
'ld',
|
||||
'madd',
|
||||
'st',
|
||||
'subv',
|
||||
]
|
||||
|
||||
if not meson.is_subproject() and get_option('tests')
|
||||
subdir('test')
|
||||
endif
|
||||
|
||||
simde_neon_family_headers = ['simde/arm/neon/types.h']
|
||||
foreach neon_family : simde_neon_families
|
||||
simde_neon_family_headers += 'simde/arm/neon/' + neon_family + '.h'
|
||||
endforeach
|
||||
|
||||
simde_sve_family_headers = ['simde/arm/sve/types.h']
|
||||
foreach sve_family : simde_sve_families
|
||||
simde_sve_family_headers += 'simde/arm/sve/' + sve_family + '.h'
|
||||
endforeach
|
||||
|
||||
simde_avx512_family_headers = ['simde/x86/avx512/types.h']
|
||||
foreach avx512_family : simde_avx512_families
|
||||
simde_avx512_family_headers += 'simde/x86/avx512/' + avx512_family + '.h'
|
||||
endforeach
|
||||
|
||||
simde_msa_family_headers = ['simde/mips/msa/types.h']
|
||||
foreach msa_family : simde_msa_families
|
||||
simde_msa_family_headers += 'simde/mips/msa/' + msa_family + '.h'
|
||||
endforeach
|
||||
|
||||
if not meson.is_subproject()
|
||||
install_headers(
|
||||
files([
|
||||
'simde/check.h',
|
||||
'simde/debug-trap.h',
|
||||
'simde/hedley.h',
|
||||
'simde/simde-align.h',
|
||||
'simde/simde-arch.h',
|
||||
'simde/simde-common.h',
|
||||
'simde/simde-constify.h',
|
||||
'simde/simde-detect-clang.h',
|
||||
'simde/simde-diagnostic.h',
|
||||
'simde/simde-f16.h',
|
||||
'simde/simde-features.h',
|
||||
'simde/simde-math.h',
|
||||
'simde/simde-complex.h',
|
||||
]),
|
||||
subdir: 'simde')
|
||||
|
||||
install_headers(
|
||||
files([
|
||||
'simde/x86/avx2.h',
|
||||
'simde/x86/avx.h',
|
||||
'simde/x86/clmul.h',
|
||||
'simde/x86/fma.h',
|
||||
'simde/x86/f16c.h',
|
||||
'simde/x86/gfni.h',
|
||||
'simde/x86/mmx.h',
|
||||
'simde/x86/sse2.h',
|
||||
'simde/x86/sse3.h',
|
||||
'simde/x86/sse4.1.h',
|
||||
'simde/x86/sse4.2.h',
|
||||
'simde/x86/sse.h',
|
||||
'simde/x86/ssse3.h',
|
||||
'simde/x86/svml.h',
|
||||
'simde/x86/xop.h',
|
||||
]),
|
||||
subdir: 'simde/x86')
|
||||
|
||||
install_headers(
|
||||
files(simde_avx512_family_headers),
|
||||
subdir: 'simde/x86/avx512')
|
||||
|
||||
install_headers(
|
||||
files([
|
||||
'simde/arm/neon.h',
|
||||
'simde/arm/sve.h',
|
||||
]),
|
||||
subdir: 'simde/arm')
|
||||
|
||||
install_headers(
|
||||
files(simde_neon_family_headers),
|
||||
subdir: 'simde/arm/neon')
|
||||
|
||||
install_headers(
|
||||
files(simde_sve_family_headers),
|
||||
subdir: 'simde/arm/sve')
|
||||
|
||||
install_headers(
|
||||
files([
|
||||
'simde/wasm/simd128.h',
|
||||
'simde/wasm/relaxed-simd.h',
|
||||
]),
|
||||
subdir: 'simde/wasm')
|
||||
|
||||
install_headers(
|
||||
files([
|
||||
'simde/mips/msa.h',
|
||||
]),
|
||||
subdir: 'simde/mips')
|
||||
|
||||
install_headers(
|
||||
files(simde_msa_family_headers),
|
||||
subdir: 'simde/mips/msa')
|
||||
|
||||
import('pkgconfig').generate(
|
||||
version : meson.project_version(),
|
||||
name : 'SIMDe',
|
||||
filebase : 'simde',
|
||||
description : 'Portable SIMD wrapper library')
|
||||
endif
|
||||
|
||||
simde_dep = declare_dependency(
|
||||
include_directories : include_directories('.'),
|
||||
version : meson.project_version())
|
||||
Loading…
Add table
Add a link
Reference in a new issue