aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>2005-06-04 14:06:01 +0000
committerNick Clifton <nickc@redhat.com>2005-06-04 14:06:01 +0000
commit6a86118a50c3f67c313f1b71790cf7c5d27666b0 (patch)
tree493bfa8468f633092e670fc61f6f8512dfd20052
parenta5c380b8f83d5f0acd225760e05a34e3a2c8203a (diff)
downloadgdb-6a86118a50c3f67c313f1b71790cf7c5d27666b0.zip
gdb-6a86118a50c3f67c313f1b71790cf7c5d27666b0.tar.gz
gdb-6a86118a50c3f67c313f1b71790cf7c5d27666b0.tar.bz2
(CE, C3, CM, UE, UF): Redefine without reference to their Thumb-enabled
equivalents.
-rw-r--r--gas/ChangeLog5
-rw-r--r--gas/config/tc-arm.c43
2 files changed, 43 insertions, 5 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index e1c8ce3..83a9a02 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,3 +1,8 @@
+2005-06-04 Nick Clifton <nickc@redhat.com>
+
+ * config/tc-arm.c (CE, C3, CM, UE, UF): Redefine without reference
+ to their Thumb-enabled equivalents.
+
2005-06-01 Maciej W. Rozycki <macro@linux-mips.org>
* config/tc-mips.c (load_register): Add leading "0x" to the
diff --git a/gas/config/tc-arm.c b/gas/config/tc-arm.c
index 0d222d8..13108ed 100644
--- a/gas/config/tc-arm.c
+++ b/gas/config/tc-arm.c
@@ -8027,11 +8027,44 @@ static const struct asm_cond conds[] =
THUMB_VARIANT, do_##ae, do_##te }
/* ARM-only variants of all the above. */
-#define CE(mnem, op, nops, ops, ae) TCE(mnem, op, 0, nops, ops, ae, 0)
-#define C3(mnem, op, nops, ops, ae) TC3(mnem, op, 0, nops, ops, ae, 0)
-#define CM(m1,m2, op, nops, ops, ae) TCM(m1,m2, op, 0, nops, ops, ae, 0)
-#define UE(mnem, op, nops, ops, ae) TUE(mnem, op, 0, nops, ops, ae, 0)
-#define UF(mnem, op, nops, ops, ae) TUF(mnem, op, 0, nops, ops, ae, 0)
+#define CE(mnem, op, nops, ops, ae) \
+ { #mnem, OPS##nops ops, OT_csuffix, 0x##op, 0x0, ARM_VARIANT, 0, do_##ae, NULL }
+
+#define C3(mnem, op, nops, ops, ae) \
+ { #mnem, OPS##nops ops, OT_cinfix3, 0x##op, 0x0, ARM_VARIANT, 0, do_##ae, NULL }
+
+#define xCM_(m1, m2, m3, op, nops, ops, ae) \
+ { #m1 #m2 #m3, OPS##nops ops, \
+ sizeof(#m2) == 1 ? OT_odd_infix_unc : OT_odd_infix_0 + sizeof(#m1) - 1, \
+ 0x##op, 0x0, ARM_VARIANT, 0, do_##ae, NULL }
+
+#define CM(m1, m2, op, nops, ops, ae) \
+ xCM_(m1, , m2, op, nops, ops, ae), \
+ xCM_(m1, eq, m2, op, nops, ops, ae), \
+ xCM_(m1, ne, m2, op, nops, ops, ae), \
+ xCM_(m1, cs, m2, op, nops, ops, ae), \
+ xCM_(m1, hs, m2, op, nops, ops, ae), \
+ xCM_(m1, cc, m2, op, nops, ops, ae), \
+ xCM_(m1, ul, m2, op, nops, ops, ae), \
+ xCM_(m1, lo, m2, op, nops, ops, ae), \
+ xCM_(m1, mi, m2, op, nops, ops, ae), \
+ xCM_(m1, pl, m2, op, nops, ops, ae), \
+ xCM_(m1, vs, m2, op, nops, ops, ae), \
+ xCM_(m1, vc, m2, op, nops, ops, ae), \
+ xCM_(m1, hi, m2, op, nops, ops, ae), \
+ xCM_(m1, ls, m2, op, nops, ops, ae), \
+ xCM_(m1, ge, m2, op, nops, ops, ae), \
+ xCM_(m1, lt, m2, op, nops, ops, ae), \
+ xCM_(m1, gt, m2, op, nops, ops, ae), \
+ xCM_(m1, le, m2, op, nops, ops, ae), \
+ xCM_(m1, al, m2, op, nops, ops, ae)
+
+#define UE(mnem, op, nops, ops, ae) \
+ { #mnem, OPS##nops ops, OT_unconditional, 0x##op, 0, ARM_VARIANT, 0, do_##ae, NULL }
+
+#define UF(mnem, op, nops, ops, ae) \
+ { #mnem, OPS##nops ops, OT_unconditionalF, 0x##op, 0, ARM_VARIANT, 0, do_##ae, NULL }
+
#define do_0 0
/* Thumb-only, unconditional. */