[clang] [llvm] [WebAssembly] Implement all f16x8 binary instructions. (PR #93360)

Brendan Dahl via cfe-commits cfe-commits at lists.llvm.org
Tue May 28 15:37:01 PDT 2024


================
@@ -152,6 +153,18 @@ def F64x2 : Vec {
   let prefix = "f64x2";
 }
 
+def F16x8 : Vec {
+ let vt = v8f16;
+ let int_vt = v8i16;
+ let lane_vt = f32;
+ let lane_rc = F32;
+ let lane_bits = 16;
+ let lane_idx = LaneIdx8;
+ let lane_load = int_wasm_loadf16_f32;
+ let splat = PatFrag<(ops node:$x), (v8f16 (splat_vector (f16 $x)))>;
+ let prefix = "f16x8";
+}
+
 defvar AllVecs = [I8x16, I16x8, I32x4, I64x2, F32x4, F64x2];
----------------
brendandahl wrote:

I hope to include F16x8 here when we better support it and the regular patterns work for it. I've added a comment for now, but can change the name if wanted.

https://github.com/llvm/llvm-project/pull/93360


More information about the cfe-commits mailing list