diff options
author | Uros Bizjak <ubizjak@gmail.com> | 2011-08-20 13:05:43 +0200 |
---|---|---|
committer | Uros Bizjak <uros@gcc.gnu.org> | 2011-08-20 13:05:43 +0200 |
commit | f0cac80bf6b56e75a1fbafc4a0e077272fa03311 (patch) | |
tree | 2f9cb64c7bcaae4f25c2e364e94183a310266ca4 /gcc/config | |
parent | 198cb1664a59ee3b71661952b471015af5edec2d (diff) | |
download | gcc-f0cac80bf6b56e75a1fbafc4a0e077272fa03311.zip gcc-f0cac80bf6b56e75a1fbafc4a0e077272fa03311.tar.gz gcc-f0cac80bf6b56e75a1fbafc4a0e077272fa03311.tar.bz2 |
i386.c (ix86_binary_operator_ok): Use satisfies_constraint_L.
* config/i386/i386.c (ix86_binary_operator_ok): Use
satisfies_constraint_L.
From-SVN: r177928
Diffstat (limited to 'gcc/config')
-rw-r--r-- | gcc/config/i386/i386.c | 16 |
1 files changed, 6 insertions, 10 deletions
diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c index bdcbd26..7b7ac87 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; } |