aboutsummaryrefslogtreecommitdiff
path: root/gas/config/tc-arm.c
diff options
context:
space:
mode:
authorMatthew Gretton-Dann <matthew.gretton-dann@arm.com>2010-09-17 10:42:04 +0000
committerMatthew Gretton-Dann <matthew.gretton-dann@arm.com>2010-09-17 10:42:04 +0000
commit59b42a0df4c14288bd6bc922c187a9e218323d3d (patch)
tree64e51df54782eda1c5504c11643acbbce552220d /gas/config/tc-arm.c
parentdb472d6ff0f438a21b357249a9b48e4b74498076 (diff)
downloadgdb-59b42a0df4c14288bd6bc922c187a9e218323d3d.zip
gdb-59b42a0df4c14288bd6bc922c187a9e218323d3d.tar.gz
gdb-59b42a0df4c14288bd6bc922c187a9e218323d3d.tar.bz2
2010-09-17 Tejas Belagod <tejas.belagod@arm.com>
* config/tc-arm.c (parse_psr): Add condition for matching "APSR" on non-M-arch cpus. (psrs): Add entry for PSR flags, g, nzcvq, nzcvqg. 2010-09-17 Tejas Belagod <tejas.belagod@arm.com> * gas/arm/msr-reg.s: New file. * gas/arm/msr-reg.d: Likewise. * gas/arm/msr-imm.s: Likewise. * gas/arm/msr-imm.d: Likewise. * gas/arm/msr-imm-bad.d: Likewise. * gas/arm/msr-imm-bad.l: Likewise. * gas/arm/msr-reg-bad.d: Likewise. * gas/arm/msr-imm-bad.d: Likewise. * gas/arm/msr-reg-thumb.d: Likewise. * gas/arm/arch7.s: Add tests for xpsr. * gas/arm/arch7.d: Likewise.
Diffstat (limited to 'gas/config/tc-arm.c')
-rw-r--r--gas/config/tc-arm.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/gas/config/tc-arm.c b/gas/config/tc-arm.c
index cebf2df..9bba5e4 100644
--- a/gas/config/tc-arm.c
+++ b/gas/config/tc-arm.c
@@ -5321,7 +5321,9 @@ parse_psr (char **str)
p = *str;
if (strncasecmp (p, "SPSR", 4) == 0)
psr_field = SPSR_BIT;
- else if (strncasecmp (p, "CPSR", 4) == 0)
+ else if (strncasecmp (p, "CPSR", 4) == 0
+ || (strncasecmp (p, "APSR", 4) == 0
+ && !ARM_CPU_HAS_FEATURE (selected_cpu, arm_ext_m)))
psr_field = 0;
else
{
@@ -16214,6 +16216,8 @@ static const struct asm_psr psrs[] =
{"c", PSR_c},
{"x", PSR_x},
{"s", PSR_s},
+ {"g", PSR_s},
+
/* Combinations of flags. */
{"fs", PSR_f | PSR_s},
{"fx", PSR_f | PSR_x},
@@ -16275,6 +16279,10 @@ static const struct asm_psr psrs[] =
{"csxf", PSR_c | PSR_s | PSR_x | PSR_f},
{"cxfs", PSR_c | PSR_x | PSR_f | PSR_s},
{"cxsf", PSR_c | PSR_x | PSR_s | PSR_f},
+
+ /* APSR flags */
+ {"nzcvq", PSR_f},
+ {"nzcvqg", PSR_s | PSR_f}
};
/* Table of V7M psr names. */