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