[clang] f8bf8af - [WebAssembly] Add f16x8.demote_f32x4_zero to wasm_simd128.h. (#199795)
via cfe-commits
cfe-commits at lists.llvm.org
Wed May 27 09:58:21 PDT 2026
Author: Brendan Dahl
Date: 2026-05-27T09:58:16-07:00
New Revision: f8bf8af12c810434ca1d947aeb9bcae99bbbf135
URL: https://github.com/llvm/llvm-project/commit/f8bf8af12c810434ca1d947aeb9bcae99bbbf135
DIFF: https://github.com/llvm/llvm-project/commit/f8bf8af12c810434ca1d947aeb9bcae99bbbf135.diff
LOG: [WebAssembly] Add f16x8.demote_f32x4_zero to wasm_simd128.h. (#199795)
Missing header intrinsic.
Added:
Modified:
clang/lib/Headers/wasm_simd128.h
cross-project-tests/intrinsic-header-tests/wasm_simd128.c
Removed:
################################################################################
diff --git a/clang/lib/Headers/wasm_simd128.h b/clang/lib/Headers/wasm_simd128.h
index 1e6da28c052a0..b4b8e4667a8ae 100644
--- a/clang/lib/Headers/wasm_simd128.h
+++ b/clang/lib/Headers/wasm_simd128.h
@@ -2019,6 +2019,14 @@ wasm_f32x4_promote_low_f16x8(v128_t __a) {
__f32x4);
}
+static __inline__ v128_t __FP16_FN_ATTRS
+wasm_f16x8_demote_f32x4_zero(v128_t __a) {
+ return (v128_t) __builtin_convertvector(
+ __builtin_shufflevector((__f32x4)__a, (__f32x4){0, 0, 0, 0}, 0, 1, 2, 3,
+ 4, 5, 6, 7),
+ __f16x8);
+}
+
static __inline__ v128_t __FP16_FN_ATTRS wasm_f16x8_relaxed_madd(v128_t __a,
v128_t __b,
v128_t __c) {
diff --git a/cross-project-tests/intrinsic-header-tests/wasm_simd128.c b/cross-project-tests/intrinsic-header-tests/wasm_simd128.c
index b0bea4cb9d60f..fcc89aff9d503 100644
--- a/cross-project-tests/intrinsic-header-tests/wasm_simd128.c
+++ b/cross-project-tests/intrinsic-header-tests/wasm_simd128.c
@@ -1039,6 +1039,12 @@ v128_t test_f32x4_promote_low_f16x8(v128_t a) {
return wasm_f32x4_promote_low_f16x8(a);
}
+// CHECK-LABEL: test_f16x8_demote_f32x4_zero:
+// CHECK: f16x8.demote_f32x4_zero{{$}}
+v128_t test_f16x8_demote_f32x4_zero(v128_t a) {
+ return wasm_f16x8_demote_f32x4_zero(a);
+}
+
// CHECK-LABEL: test_i8x16_shuffle:
// CHECK: i8x16.shuffle 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1,
// 0{{$}}
More information about the cfe-commits
mailing list