emscripten errors in wasm_simd128.h

Created on 6 Mar 2020  路  4Comments  路  Source: emscripten-core/emscripten

I'm getting errors when including wasm_simd128.h:

In file included from ../x86/sse.c:25:
In file included from ../../test/x86/test-sse2.h:1:
In file included from ../x86/../../simde/x86/sse2.h:35:
In file included from ../x86/../../simde/x86/sse.h:57:
/home/travis/build/nemequ/simde/emsdk/upstream/emscripten/system/include/wasm_simd128.h:639:27: error: used type '__attribute__((__vector_size__(16 * sizeof(char)))) char' (vector of 16 'char' values) where arithmetic or pointer type is required
  return (v128_t)(a_ < b_ ? a_ : b_);
                  ~~~~~~~ ^
/home/travis/build/nemequ/simde/emsdk/upstream/emscripten/system/include/wasm_simd128.h:646:27: error: used type '__attribute__((__vector_size__(16 * sizeof(char)))) char' (vector of 16 'char' values) where arithmetic or pointer type is required
  return (v128_t)(a_ < b_ ? a_ : b_);
                  ~~~~~~~ ^
/home/travis/build/nemequ/simde/emsdk/upstream/emscripten/system/include/wasm_simd128.h:654:27: error: used type '__attribute__((__vector_size__(16 * sizeof(char)))) char' (vector of 16 'char' values) where arithmetic or pointer type is required
  return (v128_t)(a_ > b_ ? a_ : b_);
                  ~~~~~~~ ^
/home/travis/build/nemequ/simde/emsdk/upstream/emscripten/system/include/wasm_simd128.h:661:27: error: used type '__attribute__((__vector_size__(16 * sizeof(char)))) char' (vector of 16 'char' values) where arithmetic or pointer type is required
  return (v128_t)(a_ > b_ ? a_ : b_);
                  ~~~~~~~ ^
/home/travis/build/nemequ/simde/emsdk/upstream/emscripten/system/include/wasm_simd128.h:739:27: error: used type '__attribute__((__vector_size__(8 * sizeof(short)))) short' (vector of 8 'short' values) where arithmetic or pointer type is required
  return (v128_t)(a_ < b_ ? a_ : b_);
                  ~~~~~~~ ^
/home/travis/build/nemequ/simde/emsdk/upstream/emscripten/system/include/wasm_simd128.h:746:27: error: used type '__attribute__((__vector_size__(8 * sizeof(short)))) short' (vector of 8 'short' values) where arithmetic or pointer type is required
  return (v128_t)(a_ < b_ ? a_ : b_);
                  ~~~~~~~ ^
/home/travis/build/nemequ/simde/emsdk/upstream/emscripten/system/include/wasm_simd128.h:753:27: error: used type '__attribute__((__vector_size__(8 * sizeof(short)))) short' (vector of 8 'short' values) where arithmetic or pointer type is required
  return (v128_t)(a_ > b_ ? a_ : b_);
                  ~~~~~~~ ^
/home/travis/build/nemequ/simde/emsdk/upstream/emscripten/system/include/wasm_simd128.h:760:27: error: used type '__attribute__((__vector_size__(8 * sizeof(short)))) short' (vector of 8 'short' values) where arithmetic or pointer type is required
  return (v128_t)(a_ > b_ ? a_ : b_);
                  ~~~~~~~ ^
/home/travis/build/nemequ/simde/emsdk/upstream/emscripten/system/include/wasm_simd128.h:817:27: error: used type '__attribute__((__vector_size__(4 * sizeof(long)))) long' (vector of 4 'long' values) where arithmetic or pointer type is required
  return (v128_t)(a_ < b_ ? a_ : b_);
                  ~~~~~~~ ^
/home/travis/build/nemequ/simde/emsdk/upstream/emscripten/system/include/wasm_simd128.h:824:27: error: used type '__attribute__((__vector_size__(4 * sizeof(long)))) long' (vector of 4 'long' values) where arithmetic or pointer type is required
  return (v128_t)(a_ < b_ ? a_ : b_);
                  ~~~~~~~ ^
/home/travis/build/nemequ/simde/emsdk/upstream/emscripten/system/include/wasm_simd128.h:831:27: error: used type '__attribute__((__vector_size__(4 * sizeof(long)))) long' (vector of 4 'long' values) where arithmetic or pointer type is required
  return (v128_t)(a_ > b_ ? a_ : b_);
                  ~~~~~~~ ^
/home/travis/build/nemequ/simde/emsdk/upstream/emscripten/system/include/wasm_simd128.h:838:27: error: used type '__attribute__((__vector_size__(4 * sizeof(long)))) long' (vector of 4 'long' values) where arithmetic or pointer type is required
  return (v128_t)(a_ > b_ ? a_ : b_);
                  ~~~~~~~ ^
12 errors generated.

I'm guessing this is due to a53e9e7eb7d2197544c22ca16292e152999897c5, so maybe @tlively will want to take a look? Here is an example of a failed build on CI, which includes the build commands: https://travis-ci.org/nemequ/simde/jobs/659017514.

Most helpful comment

It turns out that these errors are generated when compiling as C, but not C++. A fix will require adding a new builtin function to clang. It shouldn't take too long.

All 4 comments

Thanks for the report! This is strange because that change passed our CI just fine. I鈥檒l investigate more today.

It turns out that these errors are generated when compiling as C, but not C++. A fix will require adding a new builtin function to clang. It shouldn't take too long.

CI isn't failing for me anymore, so I guess the changes made it out to LLVM? I don't want to close this in case something is still pending, but from my perspective it seems resolved. Thanks, @tlively!

Yes, this has been resolved and is fixed in the emscripten version tagged this morning.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

HolgerStrauss picture HolgerStrauss  路  4Comments

phraemer picture phraemer  路  3Comments

kripken picture kripken  路  4Comments

napalm272 picture napalm272  路  4Comments

hcomere picture hcomere  路  3Comments