a bunch of fixes for generic architecture & wasm

This commit is contained in:
dzaima 2023-05-16 00:07:48 +03:00
parent 65868a51ba
commit e4d222173d
3 changed files with 12 additions and 8 deletions

View File

@ -200,6 +200,7 @@ po ← { # parsed options
linuxbsdmacoswindows os¨ {𝕊: "Error: Unsupported OS; options:"1", "¨𝕩}_assert_(os<) "linux""bsd""macos""windows"
arch {'-'¨(('_'=𝕩)/)𝕩} Lowercase {InUname"x86_64"? "x86-64"; ´InUname¨"aarch64""arm64"? "aarch64"; "generic"} DOpt "arch"
{𝕊: arch "generic"} wasm
{𝕊: "Error: Unsupported arch; options:"1", "¨𝕩}_assert_(arch<) "x86-64""aarch64""generic"
ffi ((¬windows)¬wasm) DOpt "FFI"
@ -223,6 +224,7 @@ po ← { # parsed options
} (arch"x86-64") singeli ¬avx2
pie {(¬shared)linuxarch"x86-64"? 0; 1} DOpt "pie"
{𝕊: pie 0} wasm
output GetOpt "OUTPUT"
output •wdpath•file.At {𝕊:
@ -269,8 +271,8 @@ po ← { # parsed options
"-Wno-parentheses" # gcc
# clang
"-Wno-microsoft-anon-tag", "-Wno-bitwise-instead-of-logical", "-Wno-unknown-warning-option"
"-mllvm", "--x86-cmov-converter=0" # thing that converts `cmov`s to branching sometimes (?), but we don't want that
(¬wasm)/"-mllvm", "--x86-cmov-converter=0" # thing that converts `cmov`s to branching sometimes (?), but we don't want that
args 0GetLibs@

View File

@ -23,7 +23,7 @@
#include "../utils/hash.h"
#include "../utils/talloc.h"
#if SINGELI_SIMD
#if SINGELI
#define SINGELI_FILE search
#include "../utils/includeSingeli.h"
#endif

View File

@ -73,12 +73,14 @@ fn copyOrdered{}(r:*f64, x:*f64, len:u64) : u1 = {
0
}
export{'simd_search_u8', searchOne{u64, u8}}
export{'simd_search_u16', searchOne{u64, u16}}
export{'simd_search_u32', searchOne{u64, u32}}
export{'simd_search_f64', searchOne{f64, f64}}
export{'simd_search_normalizable', searchNormalizable{}}
export{'simd_copy_ordered', copyOrdered{}}
if (hasarch{'X86_64'} or hasarch{'AARCH64'}) {
export{'simd_search_u8', searchOne{u64, u8}}
export{'simd_search_u16', searchOne{u64, u16}}
export{'simd_search_u32', searchOne{u64, u32}}
export{'simd_search_f64', searchOne{f64, f64}}
export{'simd_search_normalizable', searchNormalizable{}}
export{'simd_copy_ordered', copyOrdered{}}
}
# In-register bit table