Closed yafesdev closed 4 years ago
Looks like a bunch of functions got renamed out from under me :D Fixing...
With the latest emsdk, I'm still getting 6
errors. I've checked the changes on the llvm side, it doesn't seem related to the naming convention changes. Wasn't able to make much sense out of it.
../../../dav1d/src/wasm/wasm_simd.h:42:11: error: implicit declaration of function 'wasm_i16x8_max' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
return wasm_i16x8_max(wasm_i16x8_min(val, max), min);
^
../../../dav1d/src/wasm/wasm_simd.h:42:26: error: implicit declaration of function 'wasm_i16x8_min' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
return wasm_i16x8_max(wasm_i16x8_min(val, max), min);
^
../../../dav1d/src/wasm/wasm_simd.h:42:11: error: returning 'int' from a function with incompatible result type 'int16x8' (vector of 8 'int16_t' values)
return wasm_i16x8_max(wasm_i16x8_min(val, max), min);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../dav1d/src/wasm/wasm_simd.h:46:12: error: implicit declaration of function 'wasm_i32x4_max' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
return wasm_i32x4_max(wasm_i32x4_min(val, max), min);
^
../../../dav1d/src/wasm/wasm_simd.h:46:12: note: did you mean 'wasm_f32x4_max'?
/Users/test/GIT/emsdk/upstream/emscripten/system/include/wasm_simd128.h:914:45: note: 'wasm_f32x4_max' declared here
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_f32x4_max(v128_t a, v128_t b) {
^
In file included from ../../../dav1d/src/wasm/looprestoration_tmpl.c:35:
../../../dav1d/src/wasm/wasm_simd.h:46:27: error: implicit declaration of function 'wasm_i32x4_min' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
return wasm_i32x4_max(wasm_i32x4_min(val, max), min);
^
../../../dav1d/src/wasm/wasm_simd.h:46:27: note: did you mean 'wasm_f32x4_min'?
/Users/test/GIT/emsdk/upstream/emscripten/system/include/wasm_simd128.h:909:45: note: 'wasm_f32x4_min' declared here
static __inline__ v128_t __DEFAULT_FN_ATTRS wasm_f32x4_min(v128_t a, v128_t b) {
^
In file included from ../../../dav1d/src/wasm/looprestoration_tmpl.c:35:
../../../dav1d/src/wasm/wasm_simd.h:46:12: error: returning 'int' from a function with incompatible result type 'int32x4' (vector of 4 'int32_t' values)
return wasm_i32x4_max(wasm_i32x4_min(val, max), min);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
wasm_simd128.h
should live in upstream/lib/clang/11.0.0/include
now, as of 1.39.12. Do you have an old version of emscripten where it was still in the system headers instead of the compiler headers, or might your emsdk install have a mix of emscripten and llvm versions?
("Old" means like "last week")
I just wanted to report that on Ubuntu with the latest emscripten (1.39.11) as of now the build fails for SIMD, all other builds succeed.
Step to reproduce
Error: Makefile:253: recipe for target 'build/wasm-simd/root/lib/libdav1d.a' failed