diff options
author | Uros Bizjak <ubizjak@gmail.com> | 2016-12-27 12:00:15 +0100 |
---|---|---|
committer | Uros Bizjak <uros@gcc.gnu.org> | 2016-12-27 12:00:15 +0100 |
commit | 6a2067fffe057bab964abbe4e6069c29e7717a15 (patch) | |
tree | 63c84753dc10a45fbdbce261f6fd81d95b19a1d1 /gcc | |
parent | b1d3a450becb7fb1648c11d4210b109d660f085d (diff) | |
download | gcc-6a2067fffe057bab964abbe4e6069c29e7717a15.zip gcc-6a2067fffe057bab964abbe4e6069c29e7717a15.tar.gz gcc-6a2067fffe057bab964abbe4e6069c29e7717a15.tar.bz2 |
i386.md (andqi_ext_1): Use general_operand predicate for operand 2.
* config/i386/i386.md (andqi_ext_1): Use general_operand
predicate for operand 2.
From-SVN: r243934
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/config/i386/i386.md | 23 |
2 files changed, 17 insertions, 11 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 3b0e816..c15c1d3 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,10 @@ 2016-12-27 Uros Bizjak <ubizjak@gmail.com> + * config/i386/i386.md (andqi_ext_1): Use general_operand + predicate for operand 2. + +2016-12-27 Uros Bizjak <ubizjak@gmail.com> + PR target/78904 * config/i386/i386.md (*cmpqi_ext_1, *extvqi, *extzvqi): Use nonimmediate_operand instead of nonimmediate_x64nomem_operand. diff --git a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md index 3fd8597..706e1c4 100644 --- a/gcc/config/i386/i386.md +++ b/gcc/config/i386/i386.md @@ -8432,12 +8432,12 @@ (compare (and:QI (subreg:QI - (zero_extract:SI (match_operand 1 "ext_register_operand" "0") + (zero_extract:SI (match_operand 1 "ext_register_operand" "0,0") (const_int 8) (const_int 8)) 0) - (match_operand 2 "const_int_operand" "n")) + (match_operand:QI 2 "general_operand" "Qn,m")) (const_int 0))) - (set (zero_extract:SI (match_operand 0 "ext_register_operand" "=Q") + (set (zero_extract:SI (match_operand 0 "ext_register_operand" "=Q,Q") (const_int 8) (const_int 8)) (subreg:SI @@ -8449,7 +8449,8 @@ (match_dup 2)) 0))] "ix86_match_ccmode (insn, CCNOmode)" "and{b}\t{%2, %h0|%h0, %2}" - [(set_attr "type" "alu") + [(set_attr "isa" "*,nox64") + (set_attr "type" "alu") (set_attr "mode" "QI")]) (define_insn "*andqi_ext_2" @@ -17839,13 +17840,13 @@ (set (zero_extract:SI (match_dup 2) (const_int 8) (const_int 8)) - (subreg:SI - (and:QI - (subreg:QI - (zero_extract:SI (match_dup 2) - (const_int 8) - (const_int 8)) 0) - (match_dup 3)) 0))])]) + (subreg:SI + (and:QI + (subreg:QI + (zero_extract:SI (match_dup 2) + (const_int 8) + (const_int 8)) 0) + (match_dup 3)) 0))])]) ;; Don't do logical operations with memory inputs. (define_peephole2 |