From 99680dcf6da9f1892908b525c8c733ae46718854 Mon Sep 17 00:00:00 2001 From: uros Date: Sat, 20 Aug 2011 11:05:43 +0000 Subject: [PATCH] * config/i386/i386.c (ix86_binary_operator_ok): Use satisfies_constraint_L. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@177928 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ChangeLog | 5 +++++ gcc/config/i386/i386.c | 16 ++++++---------- 2 files changed, 11 insertions(+), 10 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index e72be388936..2217302f643 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,4 +1,9 @@ 2011-08-20 Uros Bizjak + + * config/i386/i386.c (ix86_binary_operator_ok): Use + satisfies_constraint_L. + +2011-08-20 Uros Bizjak Michael Matz * config/i386/i386.c (ix86_expand_round_sse4): Expand as diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c index bdcbd26538f..7b7ac8746ab 100644 --- a/gcc/config/i386/i386.c +++ b/gcc/config/i386/i386.c @@ -15787,16 +15787,12 @@ ix86_binary_operator_ok (enum rtx_code code, enum machine_mode mode, /* Source 1 cannot be a non-matching memory. */ if (MEM_P (src1) && !rtx_equal_p (dst, src1)) - { - /* Support "andhi/andsi/anddi" as a zero-extending move. */ - return (code == AND - && (mode == HImode - || mode == SImode - || (TARGET_64BIT && mode == DImode)) - && CONST_INT_P (src2) - && (INTVAL (src2) == 0xff - || INTVAL (src2) == 0xffff)); - } + /* Support "andhi/andsi/anddi" as a zero-extending move. */ + return (code == AND + && (mode == HImode + || mode == SImode + || (TARGET_64BIT && mode == DImode)) + && satisfies_constraint_L (src2)); return true; } -- 2.11.0