i386.md (andqi_ext_1): Use general_operand predicate for operand 2.
authorUros Bizjak <ubizjak@gmail.com>
Tue, 27 Dec 2016 11:00:15 +0000 (12:00 +0100)
committerUros Bizjak <uros@gcc.gnu.org>
Tue, 27 Dec 2016 11:00:15 +0000 (12:00 +0100)
* config/i386/i386.md (andqi_ext_1): Use general_operand
predicate for operand 2.

From-SVN: r243934

gcc/ChangeLog
gcc/config/i386/i386.md

index 3b0e8161ae1a57fcb004a8e1bc81a9e81c6f1930..c15c1d3d8c0b52392ec0861a6db75d1a5e479365 100644 (file)
@@ -1,3 +1,8 @@
+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
index 3fd85974bb5cac86707c869e7dd6aecfdf22f70b..706e1c4a2b7a18e487a86abdef2ecee0521c9769 100644 (file)
        (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
            (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"
       (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