[clang] [clang][RISCV] Extend intrinsic size check variable from 16 -> 32 bits. NFC (PR #111481)
Craig Topper via cfe-commits
cfe-commits at lists.llvm.org
Tue Oct 8 09:37:35 PDT 2024
topperc wrote:
> > Why don’t any of our lit tests that use every intrinsic catch it?
>
> Somehow if we add more "target-feature" the intrinsics increase, I'm not sure why. For example:
>
> ```
> test.c
>
> #include "riscv_vector.h"
> vfloat16mf4x7_t test_vlseg7e16ff_v_f16mf4x7(const _Float16 *base, size_t *new_vl, size_t vl) {
> return __riscv_vlseg7e16ff_v_f16mf4x7(base, new_vl, vl);
> }
> ```
>
> Compile with this command:
>
> ```
> clang -cc1 -triple riscv64-- -S -target-feature +v -target-feature +zvfh -target-abi lp64d test.c
> ```
>
> generate 61674 intrinsics. However if we add `-target-feature +zvfbfmin`
>
> ```
> clang -cc1 -triple riscv64-- -S -target-feature +v -target-feature +zvfh -target-feature +zvfbfmin -target-abi lp64d test.c
> ```
>
> generate 64568 intrinsics
>
> it's weird.
Why is it weird? Some intrinsics require specific features. If that feature isn't enabled, the intrinsic is skipped.
https://github.com/llvm/llvm-project/pull/111481
More information about the cfe-commits
mailing list