aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2019-09-27 17:48:51 +0200
committerJakub Jelinek <jakub@gcc.gnu.org>2019-09-27 17:48:51 +0200
commit88e032f105da53ef628f0eecd1f5a6fc372d022b (patch)
tree36fc359495e21c65c23f8195ca79585a708390a6
parent29f26978866f32bddd656847441a3a953ffd7a21 (diff)
downloadgcc-88e032f105da53ef628f0eecd1f5a6fc372d022b.zip
gcc-88e032f105da53ef628f0eecd1f5a6fc372d022b.tar.gz
gcc-88e032f105da53ef628f0eecd1f5a6fc372d022b.tar.bz2
re PR target/91919 (arm-linux-eabi ICE with building kernel)
PR target/91919 * config/arm/arm.md (<US>mlal): Remove SE wrappers around operands of SImode MULT. * gcc.c-torture/compile/pr91919.c: New.test From-SVN: r276183
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/config/arm/arm.md4
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/pr91919.c7
4 files changed, 20 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 0258bfc..8e4e143 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2019-09-27 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/91919
+ * config/arm/arm.md (<US>mlal): Remove SE wrappers around operands
+ of SImode MULT.
+
2019-09-27 Richard Biener <rguenther@suse.de>
* tree-vectorizer.h (_stmt_vec_info::reduc_fn): New.
diff --git a/gcc/config/arm/arm.md b/gcc/config/arm/arm.md
index d3ee59a..f861c72 100644
--- a/gcc/config/arm/arm.md
+++ b/gcc/config/arm/arm.md
@@ -1812,8 +1812,8 @@
[(set (match_operand:SI 0 "s_register_operand" "=r,&r")
(plus:SI
(mult:SI
- (SE:DI (match_operand:SI 4 "s_register_operand" "%r,r"))
- (SE:DI (match_operand:SI 5 "s_register_operand" "r,r")))
+ (match_operand:SI 4 "s_register_operand" "%r,r")
+ (match_operand:SI 5 "s_register_operand" "r,r"))
(match_operand:SI 1 "s_register_operand" "0,0")))
(set (match_operand:SI 2 "s_register_operand" "=r,&r")
(plus:SI
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index d53d67a..8386c33 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2019-09-27 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/91919
+ * gcc.c-torture/compile/pr91919.c: New.test
+
2019-09-27 Manfred Schwarb <manfred99@gmx.ch>
* gfortran.dg/associate_48.f90: Fix a dg directive.
diff --git a/gcc/testsuite/gcc.c-torture/compile/pr91919.c b/gcc/testsuite/gcc.c-torture/compile/pr91919.c
new file mode 100644
index 0000000..9d0c95e
--- /dev/null
+++ b/gcc/testsuite/gcc.c-torture/compile/pr91919.c
@@ -0,0 +1,7 @@
+/* PR target/91919 */
+
+unsigned int
+foo (unsigned int x, int y)
+{
+ return (x * 3355443200ULL + (y * 1801439851ULL >> 29) >> 25);
+}