Jennifer Schmitz writes:
> [...]
> @@ -54,25 +56,121 @@ TEST_UNIFORM_ZX (mul_w0_s16_m_untied, svint16_t, int16_t,
>z0 = svmul_m (p0, z1, x0))
>
> /*
> -** mul_2_s16_m_tied1:
> -** mov (z[0-9]+\.h), #2
> +** mul_4dupop1_s16_m_tied1:
> +** mov (z[0-9]+)\.h, #4
> +**
Jennifer Schmitz writes:
> Previously submitted in
> https://gcc.gnu.org/pipermail/gcc-patches/2024-September/663435.html
>
> For svmul, if one of the operands is a constant vector with a uniform
> power of 2, this patch folds the multiplication to a left-shift by
> immediate (svlsl).
> Because t
Previously submitted in
https://gcc.gnu.org/pipermail/gcc-patches/2024-September/663435.html
For svmul, if one of the operands is a constant vector with a uniform
power of 2, this patch folds the multiplication to a left-shift by
immediate (svlsl).
Because the shift amount in svlsl is the second
Ping.
> On 20 Sep 2024, at 11:28, Jennifer Schmitz wrote:
>
> For svmul, if one of the operands is a constant vector with a uniform
> power of 2, this patch folds the multiplication to a left-shift by
> immediate (svlsl).
> Because the shift amount in svlsl is the second operand, the order of th
For svmul, if one of the operands is a constant vector with a uniform
power of 2, this patch folds the multiplication to a left-shift by
immediate (svlsl).
Because the shift amount in svlsl is the second operand, the order of the
operands is switched, if the first operand contained the powers of 2.