On Aarc64 SHIFT_COUNT_TRUNCATED is only true if SIMD code generation is disabled. This is because the simd instructions can be used for shifting but they do not truncate the shift count.
-----Original Message----- From: Richard Kenner [mailto:[email protected]] Sent: Monday, August 7, 2017 2:02 PM To: [email protected] Cc: [email protected]; Michael Collison <[email protected]>; nd <[email protected]> Subject: Re: [PATCH] [Aarch64] Optimize subtract in shift counts > That is simplify: > (SHIFT A (32 - B)) -> (SHIFT A (AND (NEG B) 31)) etc. I think you need SHIFT_COUNT_TRUNCATED to be true for this to be valid, but this is exactly what I was getting at in my last message.
