[PATCH] [Aarch64] Optimize subtract in shift counts
Richard Biener
richard.guenther@gmail.com
Mon Aug 14 08:58:00 GMT 2017
On Tue, Aug 8, 2017 at 10:20 PM, Richard Kenner
<kenner@vlsi1.ultra.nyu.edu> wrote:
>> Correct. It is truncated for integer shift, but not simd shift
>> instructions. We generate a pattern in the split that only generates
>> the integer shift instructions.
>
> That's unfortunate, because it would be nice to do this in simplify_rtx,
> since it's machine-independent, but that has to be conditioned on
> SHIFT_COUNT_TRUNCATED, so you wouldn't get the benefit of it.
SHIFT_COUNT_TRUNCATED should go ... you should express this in
the patterns, like for example with
(define_insn ashlSI3
[(set (match_operand 0 "")
(ashl:SI (match_operand ... )
(subreg:QI (match_operand:SI ...)))]
or an explicit and:SI and combine / simplify_rtx should apply the magic
optimization we expect.
Richard.
More information about the Gcc-patches
mailing list