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
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to