[clang] [CIR][AArch64] Lower remaining FP16 vfma and vfms builtins (PR #210359)

Jiahao Guo via cfe-commits cfe-commits at lists.llvm.org
Tue Jul 28 08:10:13 PDT 2026


================
@@ -157,7 +204,52 @@ float16x8_t test_vfmaq_laneq_f16(float16x8_t a, float16x8_t b,
   return vfmaq_laneq_f16(a, b, c, 7);
 }
 
-// ALL-LABEL: @test_vfmah_lane_f16(
+// LLVM-LABEL: @test_vfma_n_f16(
----------------
E00N777 wrote:

Most of these LLVM-DAG checks do not appear necessary. Direct LLVM and CIR-to-LLVM emit the same order for the laneq, _n, and scalar vfmsh forms. Could these checks use LLVM/LLVM-NEXT instead? The DAG groups seem necessary only for the four *_lane_f16 blocks, where the cast/shuffle order actually differs between the two pipelines.

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


More information about the cfe-commits mailing list