Author: Thomas Lively Date: 2021-05-05T13:04:04-07:00 New Revision: 627a52695537dd2bea068630887431febbf06856
URL: https://github.com/llvm/llvm-project/commit/627a52695537dd2bea068630887431febbf06856 DIFF: https://github.com/llvm/llvm-project/commit/627a52695537dd2bea068630887431febbf06856.diff LOG: [WebAssembly] Update narrowing builtin function operand types Make the inputs to all narrowing builtins signed, which is how they are interpreted by the underlying instructions (only the result changes sign between instructions). Differential Revision: https://reviews.llvm.org/D101883 Added: Modified: clang/include/clang/Basic/BuiltinsWebAssembly.def clang/test/CodeGen/builtins-wasm.c Removed: ################################################################################ diff --git a/clang/include/clang/Basic/BuiltinsWebAssembly.def b/clang/include/clang/Basic/BuiltinsWebAssembly.def index 1a89b006e75bd..e3e223f05db08 100644 --- a/clang/include/clang/Basic/BuiltinsWebAssembly.def +++ b/clang/include/clang/Basic/BuiltinsWebAssembly.def @@ -185,9 +185,9 @@ TARGET_BUILTIN(__builtin_wasm_trunc_saturate_s_i32x4_f32x4, "V4iV4f", "nc", "sim TARGET_BUILTIN(__builtin_wasm_trunc_saturate_u_i32x4_f32x4, "V4iV4f", "nc", "simd128") TARGET_BUILTIN(__builtin_wasm_narrow_s_i8x16_i16x8, "V16ScV8sV8s", "nc", "simd128") -TARGET_BUILTIN(__builtin_wasm_narrow_u_i8x16_i16x8, "V16UcV8UsV8Us", "nc", "simd128") +TARGET_BUILTIN(__builtin_wasm_narrow_u_i8x16_i16x8, "V16UcV8sV8s", "nc", "simd128") TARGET_BUILTIN(__builtin_wasm_narrow_s_i16x8_i32x4, "V8sV4iV4i", "nc", "simd128") -TARGET_BUILTIN(__builtin_wasm_narrow_u_i16x8_i32x4, "V8UsV4UiV4Ui", "nc", "simd128") +TARGET_BUILTIN(__builtin_wasm_narrow_u_i16x8_i32x4, "V8UsV4iV4i", "nc", "simd128") TARGET_BUILTIN(__builtin_wasm_trunc_sat_zero_s_f64x2_i32x4, "V4iV2d", "nc", "simd128") TARGET_BUILTIN(__builtin_wasm_trunc_sat_zero_u_f64x2_i32x4, "V4UiV2d", "nc", "simd128") diff --git a/clang/test/CodeGen/builtins-wasm.c b/clang/test/CodeGen/builtins-wasm.c index a7268faa613e6..6d774b198af05 100644 --- a/clang/test/CodeGen/builtins-wasm.c +++ b/clang/test/CodeGen/builtins-wasm.c @@ -857,7 +857,7 @@ i8x16 narrow_s_i8x16_i16x8(i16x8 low, i16x8 high) { // WEBASSEMBLY: ret } -u8x16 narrow_u_i8x16_i16x8(u16x8 low, u16x8 high) { +u8x16 narrow_u_i8x16_i16x8(i16x8 low, i16x8 high) { return __builtin_wasm_narrow_u_i8x16_i16x8(low, high); // WEBASSEMBLY: call <16 x i8> @llvm.wasm.narrow.unsigned.v16i8.v8i16( // WEBASSEMBLY-SAME: <8 x i16> %low, <8 x i16> %high) @@ -871,7 +871,7 @@ i16x8 narrow_s_i16x8_i32x4(i32x4 low, i32x4 high) { // WEBASSEMBLY: ret } -u16x8 narrow_u_i16x8_i32x4(u32x4 low, u32x4 high) { +u16x8 narrow_u_i16x8_i32x4(i32x4 low, i32x4 high) { return __builtin_wasm_narrow_u_i16x8_i32x4(low, high); // WEBASSEMBLY: call <8 x i16> @llvm.wasm.narrow.unsigned.v8i16.v4i32( // WEBASSEMBLY-SAME: <4 x i32> %low, <4 x i32> %high) _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits