[WebAssembly] Use "signed char" instead of "char" in SIMD intrinsics.
authorDan Gohman <sunfish@mozilla.com>
Wed, 18 Mar 2020 15:07:33 +0000 (08:07 -0700)
committerDan Gohman <sunfish@mozilla.com>
Tue, 4 Aug 2020 19:48:40 +0000 (12:48 -0700)
commit47f7174ffa71d339c1a65d1dd9a2ac5ff2abc95d
tree79cec3feca2b7b875a6d60321970c11bd6506b8d
parent1d6a724aa1c11a37ff083cf637f91852e96ce11f
[WebAssembly] Use "signed char" instead of "char" in SIMD intrinsics.

This allows people to use `int8_t` instead of `char`, -funsigned-char,
and generally decouples SIMD from the specialness of `char`.

And it makes intrinsics like `__builtin_wasm_add_saturate_s_i8x16`
and `__builtin_wasm_add_saturate_u_i8x16` use signed and unsigned
element types, respectively.

Differential Revision: https://reviews.llvm.org/D85074
clang/include/clang/Basic/BuiltinsWebAssembly.def
clang/lib/Headers/wasm_simd128.h
clang/test/CodeGen/builtins-wasm.c