aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>2000-12-04 23:35:10 +0000
committerNick Clifton <nickc@gcc.gnu.org>2000-12-04 23:35:10 +0000
commita67ded0fdcf2ceb323d111995dafda1c73e73bca (patch)
tree30a76f5fb78b179951a2bb74b79ce4e6a892f127 /gcc
parentc84df4c5696d09b71bab1421d2cd0d8119dcfb7b (diff)
downloadgcc-a67ded0fdcf2ceb323d111995dafda1c73e73bca.zip
gcc-a67ded0fdcf2ceb323d111995dafda1c73e73bca.tar.gz
gcc-a67ded0fdcf2ceb323d111995dafda1c73e73bca.tar.bz2
Fix bogons from XScale contribution
From-SVN: r38018
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/config/arm/arm.c4
-rw-r--r--gcc/config/arm/arm.md2
3 files changed, 9 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 9538f2d..657a78e 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,11 @@
2000-12-04 Nick Clifton <nickc@redhat.com>
+ * config/arm/arm.c (arm_override_options): Test 'insn_flags' not
+ 'tune_flags' for XScale nature.
+
+ * config/arm/arm.md (umulsidi3adddi): Restore "=&r" register
+ contraint, accidentally changed during XScale contribution.
+
* config/arm/lib1funcs.asm (interwork_call_via_, call_via_): Do
not create these functions if the target architecture does not
support Thumb instructions.
diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c
index 32c772a..c5388ae 100644
--- a/gcc/config/arm/arm.c
+++ b/gcc/config/arm/arm.c
@@ -526,7 +526,7 @@ arm_override_options ()
target_flags &= ~ARM_FLAG_APCS_FRAME;
}
- if (TARGET_HARD_FLOAT && (tune_flags & FL_XSCALE))
+ if (TARGET_HARD_FLOAT && (insn_flags & FL_XSCALE))
{
warning ("XScale does not support hardware FP instructions.");
target_flags |= ARM_FLAG_SOFT_FLOAT;
@@ -587,11 +587,11 @@ arm_override_options ()
arm_fast_multiply = (insn_flags & FL_FAST_MULT) != 0;
arm_arch4 = (insn_flags & FL_ARCH4) != 0;
arm_arch5 = (insn_flags & FL_ARCH5) != 0;
+ arm_is_xscale = (insn_flags & FL_XSCALE) != 0;
arm_ld_sched = (tune_flags & FL_LDSCHED) != 0;
arm_is_strong = (tune_flags & FL_STRONG) != 0;
thumb_code = (TARGET_ARM == 0);
- arm_is_xscale = (tune_flags & FL_XSCALE) != 0;
arm_is_6_or_7 = (((tune_flags & (FL_MODE26 | FL_MODE32))
&& !(tune_flags & FL_ARCH4))) != 0;
diff --git a/gcc/config/arm/arm.md b/gcc/config/arm/arm.md
index 5971cfa..5e52625 100644
--- a/gcc/config/arm/arm.md
+++ b/gcc/config/arm/arm.md
@@ -1243,7 +1243,7 @@
;; Unnamed template to match long long unsigned multiply-accumlate (umlal)
(define_insn "*umulsidi3adddi"
- [(set (match_operand:DI 0 "s_register_operand" "+&r")
+ [(set (match_operand:DI 0 "s_register_operand" "=&r")
(plus:DI
(mult:DI
(zero_extend:DI (match_operand:SI 2 "s_register_operand" "%r"))