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},