aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOleg Endo <olegendo@gcc.gnu.org>2013-05-06 19:49:57 +0000
committerOleg Endo <olegendo@gcc.gnu.org>2013-05-06 19:49:57 +0000
commita986d46838c658922d34b95f5878fbbca8b519c1 (patch)
treeabf6ed26da0d6966f10346e5def4d8d5d4c536f1
parent382522cb0336edecbfa2ee6445cd43407ebc6776 (diff)
downloadgcc-a986d46838c658922d34b95f5878fbbca8b519c1.zip
gcc-a986d46838c658922d34b95f5878fbbca8b519c1.tar.gz
gcc-a986d46838c658922d34b95f5878fbbca8b519c1.tar.bz2
re PR target/57108 ([4.7/4.8/4.9] SH internal compiler error: in int_mode_for_mode, at stor-layout.c:395)
PR target/57108 * config/sh/sh.md (tstsi_t_zero_extract_eq): Use QIHISIDI mode iterator. From-SVN: r198642
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config/sh/sh.md4
2 files changed, 7 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 48f69ac..97faf76 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2013-05-06 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/57108
+ * config/sh/sh.md (tstsi_t_zero_extract_eq): Use QIHISIDI mode iterator.
+
2013-05-06 Maxim Kuznetsov <maks.kuznetsov@gmail.com>
* final.c (do_assembler_dialects): Don't handle curly braces and
diff --git a/gcc/config/sh/sh.md b/gcc/config/sh/sh.md
index b4fbd58..4adff50 100644
--- a/gcc/config/sh/sh.md
+++ b/gcc/config/sh/sh.md
@@ -687,9 +687,9 @@
[(set_attr "type" "mt_group")])
;; Extract contiguous bits and compare them against zero.
-(define_insn "tstsi_t_zero_extract_eq"
+(define_insn "tst<mode>_t_zero_extract_eq"
[(set (reg:SI T_REG)
- (eq:SI (zero_extract:SI (match_operand:SI 0 "logical_operand" "z")
+ (eq:SI (zero_extract:SI (match_operand:QIHISIDI 0 "logical_operand" "z")
(match_operand:SI 1 "const_int_operand")
(match_operand:SI 2 "const_int_operand"))
(const_int 0)))]