OSDN Git Service

Only expand strlen to Pmode.
authorhjl <hjl@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 28 Jul 2011 12:32:23 +0000 (12:32 +0000)
committerhjl <hjl@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 28 Jul 2011 12:32:23 +0000 (12:32 +0000)
2011-07-28  H.J. Lu  <hongjiu.lu@intel.com>

PR target/47364
* config/i386/i386.md (strlen<mode>): Replace SWI48x with P.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176868 138bc75d-0d04-0410-961f-82ee72b054a4

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

index 8016e51..cd54848 100644 (file)
@@ -1,3 +1,8 @@
+2011-07-28  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR target/47364
+       * config/i386/i386.md (strlen<mode>): Replace SWI48x with P.
+
 2011-07-28  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
 
        * config/arm/vfp.md ("*movdf_vfp"): Handle the VFP constraints
index a4435c2..fce4268 100644 (file)
    (set_attr "prefix_rep" "1")])
 
 (define_expand "strlen<mode>"
-  [(set (match_operand:SWI48x 0 "register_operand" "")
-       (unspec:SWI48x [(match_operand:BLK 1 "general_operand" "")
-                       (match_operand:QI 2 "immediate_operand" "")
-                       (match_operand 3 "immediate_operand" "")]
-                      UNSPEC_SCAS))]
+  [(set (match_operand:P 0 "register_operand" "")
+       (unspec:P [(match_operand:BLK 1 "general_operand" "")
+                  (match_operand:QI 2 "immediate_operand" "")
+                  (match_operand 3 "immediate_operand" "")]
+                 UNSPEC_SCAS))]
   ""
 {
  if (ix86_expand_strlen (operands[0], operands[1], operands[2], operands[3]))