summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authornickc <nickc@138bc75d-0d04-0410-961f-82ee72b054a4>2000-12-04 23:35:10 +0000
committernickc <nickc@138bc75d-0d04-0410-961f-82ee72b054a4>2000-12-04 23:35:10 +0000
commit8ead09f9038fc78c7b080337aa7f64e1640b90bd (patch)
tree30a76f5fb78b179951a2bb74b79ce4e6a892f127
parentb7e0df07b14d78f7cd646aa40eef4aa001acf4a1 (diff)
downloadppe42-gcc-8ead09f9038fc78c7b080337aa7f64e1640b90bd.tar.gz
ppe42-gcc-8ead09f9038fc78c7b080337aa7f64e1640b90bd.zip
Fix bogons from XScale contribution
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@38018 138bc75d-0d04-0410-961f-82ee72b054a4
-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 9538f2d9dbb..657a78efac9 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 32c772ab0ab..c5388aee442 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 5971cfab0eb..5e5262563c2 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"))
OpenPOWER on IntegriCloud