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

Reply via email to