[clang] [CIR] max-across-vector (vmaxv_*) intrinsics (PR #194401)

Kartik Ohlan via cfe-commits cfe-commits at lists.llvm.org
Tue Apr 28 21:52:03 PDT 2026


Ko496-glitch wrote:

```
case NEON::BI__builtin_neon_vmaxv_f16: {
        mlir::Type fp16Ty = cgf.getCIRGenModule().fP16Ty;
        cir::VectorType vecTy = cir::VectorType::get(fp16Ty, 4);
        return emitNeonCall(cgf.cgm, cgf.getBuilder(),
                            {vecTy}, ops,
                            "aarch64.neon.fmaxv",
                            fp16Ty, loc);
      }
      case NEON::BI__builtin_neon_vmaxvq_f16: {
        mlir::Type fp16Ty = cgf.getCIRGenModule().fP16Ty;
        cir::VectorType vecTy = cir::VectorType::get(fp16Ty, 8);
        return emitNeonCall(cgf.cgm, cgf.getBuilder(),
                            {vecTy}, ops,
                            "aarch64.neon.fmaxv",
                            fp16Ty, loc);
      }
```
wanted to ask if this looks good ? Moreover running into this issue

 ```
executed command: /Users/kartikohlan/llvm-project/build-release/bin/clang -cc1 -internal-isystem /Users/kartikohlan/llvm-project/build-release/lib/clang/23/include -nostdsysteminc -triple arm64-none-linux-gnu -target-feature +neon -disable-O0-optnone -flax-vector-conversions=none -emit-llvm -o - /Users/kartikohlan/llvm-project/clang/test/CodeGen/AArch64/neon/intrinsics.c
# .---command stderr------------
# | /Users/kartikohlan/llvm-project/clang/test/CodeGen/AArch64/neon/intrinsics.c:171:10: error: '__builtin_neon_vmaxvq_f16' needs target feature fullfp16,neon
# |   171 |   return vmaxvq_f16(a);
# |       |          ^
# | /Users/kartikohlan/llvm-project/build-release/lib/clang/23/include/arm_neon.h:45577:41: note: expanded from macro 'vmaxvq_f16'
# |  45577 |   __ret = __builtin_bit_cast(float16_t, __builtin_neon_vmaxvq_f16(__builtin_bit_cast(int8x16_t, __s0))); \
# |        |                                         ^
# | 1 error generated.
```

so i added -target-feature +fullfp16 in the RUN line

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


More information about the cfe-commits mailing list