aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorUros Bizjak <ubizjak@gmail.com>2016-12-27 12:00:15 +0100
committerUros Bizjak <uros@gcc.gnu.org>2016-12-27 12:00:15 +0100
commit6a2067fffe057bab964abbe4e6069c29e7717a15 (patch)
tree63c84753dc10a45fbdbce261f6fd81d95b19a1d1 /gcc
parentb1d3a450becb7fb1648c11d4210b109d660f085d (diff)
downloadgcc-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/ChangeLog5
-rw-r--r--gcc/config/i386/i386.md23
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