[clang] [clang][RISCV] Extend intrinsic size check variable from 16 -> 32 bits. NFC (PR #111481)
Brandon Wu via cfe-commits
cfe-commits at lists.llvm.org
Tue Oct 8 09:45:30 PDT 2024
4vtomat 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.
Oh I see, but if we extend the size, the memory usage will grow.
https://github.com/llvm/llvm-project/pull/111481
More information about the cfe-commits
mailing list