On Wed, Jun 24, 2015 at 4:35 PM, Kirill Yukhin <kirill.yuk...@gmail.com> wrote:
> Hello,
>
> Patch in the bottom uses proper check of valid memory
> in `misaligned_operand' predicate.
>
> gcc/
>         * config/i386/predicates.md (misaligned_operand): Properly
>         check if operand is memory.
>
> Bootstrapped and reg-tested.
>
> Is it ok for trunk?

I have reviewed the uses of misaligned_operand predicate, and AFAICS
they always operate after the check for "memory_operand". So, there is
no point to re-check it with full memory_operand predicate.

Please introduce another predicate for legitimate misaligned memory
operand, perhaps named "misaligned_memory_operand".

Uros.

> --
> Thanks,  K
>
> diff --git a/gcc/config/i386/predicates.md b/gcc/config/i386/predicates.md
> index 4e45246..7d6ae77 100644
> --- a/gcc/config/i386/predicates.md
> +++ b/gcc/config/i386/predicates.md
> @@ -1365,7 +1365,7 @@
>
>  ;; Return true if OP is misaligned memory operand
>  (define_predicate "misaligned_operand"
> -  (and (match_code "mem")
> +  (and (match_operand 0 "memory_operand")
>         (match_test "MEM_ALIGN (op) < GET_MODE_ALIGNMENT (mode)")))
>
>  ;; Return true if OP is a emms operation, known to be a PARALLEL.

Reply via email to