[AArch64] Tighten predicates on SIMD shift intrinsics

Richard Henderson rth@redhat.com
Fri Sep 19 16:57:00 GMT 2014


On 09/11/2014 01:29 AM, James Greenhalgh wrote:
> +;; Predicates used by the various SIMD shift operations.  These
> +;; fall in to 3 categories.
> +;;   Shifts with a range 0-(bit_size - 1) (aarch64_simd_shift_imm)
> +;;   Shifts with a range 1-bit_size (aarch64_simd_shift_imm_offset)
> +;;   Shifts with a range 0-bit_size (aarch64_simd_shift_imm_bitsize)
> +(define_predicate "aarch64_simd_shift_imm_qi"
> +  (and (match_code "const_int")
> +       (match_test "aarch64_simd_const_bounds (op, 0, 7)")))

The function call should be removed and this should be written as

  (match_test "IN_RANGE (ival, 0, 7)")


r~



More information about the Gcc-patches mailing list