From 40b9321d846877a8c56f0cbda91ab977d982d527 Mon Sep 17 00:00:00 2001
From: "H.J. Lu" <hongjiu.lu@intel.com>
Date: Thu, 28 Jul 2011 12:32:23 +0000
Subject: [PATCH] Only expand strlen to Pmode.

2011-07-28  H.J. Lu  <hongjiu.lu@intel.com>

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

From-SVN: r176868
---
 gcc/ChangeLog           |  5 +++++
 gcc/config/i386/i386.md | 10 +++++-----
 2 files changed, 10 insertions(+), 5 deletions(-)

diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 8016e51d9c76..cd54848866e6 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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
diff --git a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md
index a4435c2d232d..fce426868beb 100644
--- a/gcc/config/i386/i386.md
+++ b/gcc/config/i386/i386.md
@@ -15824,11 +15824,11 @@
    (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]))
-- 
GitLab