[clang] let Neon builtin function accept a const variable (PR #144625)
via cfe-commits
cfe-commits at lists.llvm.org
Wed Jun 18 20:01:18 PDT 2025
scout-zeng wrote:
> I think something like your patch solves the original testcase from #139033. (Actually, it crashes in codegen, but that's an easy fix.) And I thought you wanted specifically that...?
>
> Your new testcase will never work; the NEON intrinsic is specifically specified to only allow operands which produce an immediate encoding. For a shift with a variable amount, you want something like `vshlq_s64(a.vect_s64, vdupq_n_s64(mc));`.
Actually, I agree [#139033](https://github.com/llvm/llvm-project/issues/139033) can be solved by this patch.
Just as you mentioned, Neon Intrinsic is only allowed immediate code. What can I do if I want to allow operands like variables?
Could you help evaluate the magnitude of this workload and whether it is feasible, from the perspective of the Clang compiler?
https://github.com/llvm/llvm-project/pull/144625
More information about the cfe-commits
mailing list