Module Name: src
Committed By: matt
Date: Thu Feb 7 01:18:09 UTC 2013
Modified Files:
src/gnu/dist/binutils/gas/config [matt-nb6-plus]: tc-arm.c
Log Message:
Support the movt instruction
To generate a diff of this commit:
cvs rdiff -u -r1.6.6.5 -r1.6.6.6 src/gnu/dist/binutils/gas/config/tc-arm.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/gnu/dist/binutils/gas/config/tc-arm.c
diff -u src/gnu/dist/binutils/gas/config/tc-arm.c:1.6.6.5 src/gnu/dist/binutils/gas/config/tc-arm.c:1.6.6.6
--- src/gnu/dist/binutils/gas/config/tc-arm.c:1.6.6.5 Mon Dec 24 22:16:18 2012
+++ src/gnu/dist/binutils/gas/config/tc-arm.c Thu Feb 7 01:18:07 2013
@@ -6757,7 +6757,7 @@ do_dsb (char * str)
}
static void
-do_movw (char * str)
+do_movwt (char * str)
{
expressionS expr;
int reg;
@@ -6791,7 +6791,7 @@ do_movw (char * str)
return;
}
- if ((expr.X_add_number >> 16) != 0)
+ if ((expr.X_add_number & 0xffff0000) != 0)
{
inst.error = _("invalid unsigned 16-bit value");
return;
@@ -10245,7 +10245,8 @@ static const struct asm_opcode insns[] =
{ "dmb", 0xf57ff05f, 0, ARM_EXT_V7A, do_dsb},
{ "dsb", 0xf57ff04f, 0, ARM_EXT_V7A, do_dsb},
{ "isb", 0xf57ff06f, 0, ARM_EXT_V7A, do_dsb},
- { "movw", 0xe3000000, 2, ARM_EXT_V7A, do_movw},
+ { "movw", 0xe3000000, 2, ARM_EXT_V7A, do_movwt},
+ { "movt", 0xe3400000, 2, ARM_EXT_V7A, do_movwt},
{ "sbfx", 0xe7a00050, 4, ARM_EXT_V7A, do_bfx},
{ "ubfx", 0xe7e00050, 4, ARM_EXT_V7A, do_bfx},