aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUros Bizjak <ubizjak@gmail.com>2010-08-19 00:37:03 +0200
committerUros Bizjak <uros@gcc.gnu.org>2010-08-19 00:37:03 +0200
commit0fb2f9b1f0d3586ed128995cd54063307c8f5b84 (patch)
tree262c641b431db490d65b13e28c6825082c5dbd93
parent80f9522847dffe96e819ac730d7caa46ddf101fe (diff)
downloadgcc-0fb2f9b1f0d3586ed128995cd54063307c8f5b84.zip
gcc-0fb2f9b1f0d3586ed128995cd54063307c8f5b84.tar.gz
gcc-0fb2f9b1f0d3586ed128995cd54063307c8f5b84.tar.bz2
re PR target/45327 (ICE: SIGSEGV in rtx_equal_p (rtl.c:496) with -O1 -funroll-loops -fnon-call-exceptions)
PR target/45327 * config/i386/i386.md (<any_or:code><SWI:mode>_3): Do not use ix86_binary_operator_ok. From-SVN: r163357
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/config/i386/i386.md2
2 files changed, 7 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 83ab94b..f7e5e33 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,11 @@
2010-08-18 Uros Bizjak <ubizjak@gmail.com>
+ PR target/45327
+ * config/i386/i386.md (<any_or:code><SWI:mode>_3): Do not use
+ ix86_binary_operator_ok.
+
+2010-08-18 Uros Bizjak <ubizjak@gmail.com>
+
* config/i386/i386.md (*add<mode>_1) <TYPE_LEA>: Split insn to lea.
<default>: Swap operands 1 and 2 for alternative 2 to use existing
code to output insn mnemonic. Fix comment.
diff --git a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md
index 8d61bb6..6215f19 100644
--- a/gcc/config/i386/i386.md
+++ b/gcc/config/i386/i386.md
@@ -8456,7 +8456,7 @@
(const_int 0)))
(clobber (match_scratch:SWI 0 "=<r>"))]
"ix86_match_ccmode (insn, CCNOmode)
- && ix86_binary_operator_ok (<CODE>, <MODE>mode, operands)"
+ && !(MEM_P (operands[1]) && MEM_P (operands[2]))"
"<logic>{<imodesuffix>}\t{%2, %0|%0, %2}"
[(set_attr "type" "alu")
(set_attr "mode" "<MODE>")])