aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorH.J. Lu <hongjiu.lu@intel.com>2009-03-12 16:08:02 +0000
committerH.J. Lu <hjl@gcc.gnu.org>2009-03-12 09:08:02 -0700
commitbbb52802a1e636e8eecece65c600ef1bc4dcf6aa (patch)
tree2b98f2339f2e1be5ceac9b0594a9d62c3618a21d
parenta812fb0792e401759f58c48482d43d4534cb178a (diff)
downloadgcc-bbb52802a1e636e8eecece65c600ef1bc4dcf6aa.zip
gcc-bbb52802a1e636e8eecece65c600ef1bc4dcf6aa.tar.gz
gcc-bbb52802a1e636e8eecece65c600ef1bc4dcf6aa.tar.bz2
re PR target/38824 (performance regression of sse code from 4.2/4.3)
2009-03-12 H.J. Lu <hongjiu.lu@intel.com> PR target/38824 * config/i386/i386.md: Compare REGNO on the new peephole2 patterns. From-SVN: r144817
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/config/i386/i386.md4
2 files changed, 8 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index e59756b..92f1679 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2009-03-12 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/38824
+ * config/i386/i386.md: Compare REGNO on the new peephole2
+ patterns.
+
2009-03-12 Vladimir Makarov <vmakarov@redhat.com>
PR debug/39432
diff --git a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md
index 761a5e7..d68d0c8 100644
--- a/gcc/config/i386/i386.md
+++ b/gcc/config/i386/i386.md
@@ -20813,7 +20813,7 @@
[(match_dup 0)
(match_operand:SI 2 "memory_operand" "")]))
(clobber (reg:CC FLAGS_REG))])]
- "operands[0] != operands[1]
+ "REGNO (operands[0]) != REGNO (operands[1])
&& GENERAL_REGNO_P (REGNO (operands[0]))
&& GENERAL_REGNO_P (REGNO (operands[1]))"
[(set (match_dup 0) (match_dup 4))
@@ -20829,7 +20829,7 @@
(match_operator 3 "commutative_operator"
[(match_dup 0)
(match_operand 2 "memory_operand" "")]))]
- "operands[0] != operands[1]
+ "REGNO (operands[0]) != REGNO (operands[1])
&& ((MMX_REG_P (operands[0]) && MMX_REG_P (operands[1]))
|| (SSE_REG_P (operands[0]) && SSE_REG_P (operands[1])))"
[(set (match_dup 0) (match_dup 2))