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.
-----Original Message----- From: Richard Kenner [mailto:ken...@vlsi1.ultra.nyu.edu] Sent: Tuesday, August 8, 2017 1:04 PM To: Michael Collison <michael.colli...@arm.com> Cc: gcc-patches@gcc.gnu.org; nd <n...@arm.com>; pins...@gmail.com Subject: RE: [PATCH] [Aarch64] Optimize subtract in shift counts > Because for integer shift instructions the shift count is truncated. > We ensure that we only use integer shift instructions by emitting a > shift with a mask. This only matches integer shift instructions in the > md file. That's why I asked about SHIFT_COUNT_TRUNCATED. So it's truncated for some shifts, but not all?