[llvm] [AArch64] Lower bfloat FADD/SUB to BFMLAL top/bottom instructions (PR #174814)

Benjamin Maxwell via llvm-commits llvm-commits at lists.llvm.org
Mon Jan 26 06:18:52 PST 2026


================
@@ -66,10 +66,10 @@ define <vscale x 2 x bfloat> @fadd_nxv2bf16(<vscale x 2 x bfloat> %a, <vscale x
 define <vscale x 4 x bfloat> @fadd_nxv4bf16(<vscale x 4 x bfloat> %a, <vscale x 4 x bfloat> %b) {
 ; NOB16B16-LABEL: fadd_nxv4bf16:
 ; NOB16B16:       // %bb.0:
-; NOB16B16-NEXT:    lsl z1.s, z1.s, #16
+; NOB16B16-NEXT:    fmov z2.h, #1.87500000
----------------
MacDue wrote:

Yep, it's because you get bfloat by simply discarding the lower 16-bits of a float32 

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


More information about the llvm-commits mailing list