On 8 September 2014 at 17:25, Alan Lawrence alan.lawre...@arm.com wrote:
gcc/ChangeLog:
* config/aarch64/aarch64-simd.md (aarch64_lshr_simddi): Handle shift
by 64 by moving const0_rtx.
(aarch64_ushr_simddi): Delete.
* config/aarch64/aarch64.md (enum unspec):
Similarly, the ushr_n_u64 and ushrd_n_u64 intrinsics, allow to perform an
unsigned-shift-right of a 64-bit value by 64 places. This is not supported by
the standard lshr pattern, which masks the shift amount with 63. However, a
shift-by-64 always produces zero, so this patch moves in a constant