On 22/07/2021 08:45, Prathamesh Kulkarni via Gcc-patches wrote:
Hi,
The attached patch removes calls to builtins from vshl_n intrinsics,
and replacing them
with left shift operator. The patch passes bootstrap+test on
arm-linux-gnueabihf.

Altho, I noticed, that the patch causes 3 extra registers to spill
using << instead
of the builtin for vshl_n.c. Could that be perhaps due to inlining of
intrinsics ?
Before patch, the shift operation was performed by call to
__builtin_neon_vshl<type> (__a, __b)
and now it's inlined to __a << __b, which might result in increased
register pressure ?

Thanks,
Prathamesh



You're missing a ChangeLog for the patch.

However, I'm not sure about this. The register shift form of VSHL performs a right shift if the value is negative, which is UB if you write `<<` instead.

Have I missed something here?

R.

Reply via email to