aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStuart Henderson <shenders@gcc.gnu.org>2011-05-03 15:09:19 +0000
committerStuart Henderson <shenders@gcc.gnu.org>2011-05-03 15:09:19 +0000
commit9f1112095c7ac4989e19db95602027681c698050 (patch)
treee8c4c8a6fe49cb4811ec2bfeaf44b0a59ab96f55
parent0ecca7a6a6185daa25fa3253962155ae42c086b2 (diff)
downloadgcc-9f1112095c7ac4989e19db95602027681c698050.zip
gcc-9f1112095c7ac4989e19db95602027681c698050.tar.gz
gcc-9f1112095c7ac4989e19db95602027681c698050.tar.bz2
re PR target/39768 (internal compiler error: RTL check: expected code 'const_int', have 'reg' in gen_rotlsi3, at config/bfin/bfin.md:1616)
2011-05-03 Stuart Henderson <shenders@gcc.gnu.org> From Bernd Schmidt * config/bfin/bfin.md (rotrsi, rotlsi): Don't take INTVAL of anything that's not CONST_INT. Seemingly redundant check is due to PR39768. From-SVN: r173310
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/config/bfin/bfin.md8
2 files changed, 10 insertions, 4 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index b2404b9..28f35e7 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,11 @@
2011-05-03 Stuart Henderson <shenders@gcc.gnu.org>
+ From Bernd Schmidt
+ * config/bfin/bfin.md (rotrsi, rotlsi): Don't take INTVAL of anything
+ that's not CONST_INT. Seemingly redundant check is due to PR39768.
+
+2011-05-03 Stuart Henderson <shenders@gcc.gnu.org>
+
From Jie Zhang:
* config/bfin/uclinux.h (LINK_GCC_C_SEQUENCE_SPEC): Make sure
libbffastfp overrides libgcc when -mfast-fp.
diff --git a/gcc/config/bfin/bfin.md b/gcc/config/bfin/bfin.md
index 4d22df5..6f2c7a6 100644
--- a/gcc/config/bfin/bfin.md
+++ b/gcc/config/bfin/bfin.md
@@ -1688,20 +1688,20 @@
(define_expand "rotlsi3"
[(set (match_operand:SI 0 "register_operand" "")
(rotate:SI (match_operand:SI 1 "register_operand" "")
- (match_operand:SI 2 "immediate_operand" "")))]
+ (match_operand:SI 2 "const_int_operand" "")))]
""
{
- if (INTVAL (operands[2]) != 16)
+ if (GET_CODE (operands[2]) != CONST_INT || INTVAL (operands[2]) != 16)
FAIL;
})
(define_expand "rotrsi3"
[(set (match_operand:SI 0 "register_operand" "")
(rotatert:SI (match_operand:SI 1 "register_operand" "")
- (match_operand:SI 2 "immediate_operand" "")))]
+ (match_operand:SI 2 "const_int_operand" "")))]
""
{
- if (INTVAL (operands[2]) != 16)
+ if (GET_CODE (operands[2]) != CONST_INT || INTVAL (operands[2]) != 16)
FAIL;
emit_insn (gen_rotl16 (operands[0], operands[1]));
DONE;