[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