summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gnu/usr.bin/binutils-2.17/gas/config/tc-arm.c16
-rw-r--r--gnu/usr.bin/binutils-2.17/opcodes/arm-dis.c20
2 files changed, 26 insertions, 10 deletions
diff --git a/gnu/usr.bin/binutils-2.17/gas/config/tc-arm.c b/gnu/usr.bin/binutils-2.17/gas/config/tc-arm.c
index 912fca0e29d..698ef778326 100644
--- a/gnu/usr.bin/binutils-2.17/gas/config/tc-arm.c
+++ b/gnu/usr.bin/binutils-2.17/gas/config/tc-arm.c
@@ -4661,6 +4661,7 @@ do_barrier (void)
if (inst.operands[0].present)
{
constraint ((inst.instruction & 0xf0) != 0x40
+ && (inst.instruction & 0xf0) != 0x50
&& inst.operands[0].imm != 0xf,
"bad barrier type");
inst.instruction |= inst.operands[0].imm;
@@ -6555,6 +6556,7 @@ do_t_barrier (void)
if (inst.operands[0].present)
{
constraint ((inst.instruction & 0xf0) != 0x40
+ && (inst.instruction & 0xf0) != 0x50
&& inst.operands[0].imm != 0xf,
"bad barrier type");
inst.instruction |= inst.operands[0].imm;
@@ -8826,10 +8828,16 @@ static const struct asm_cond conds[] =
static struct asm_barrier_opt barrier_opt_names[] =
{
- { "sy", 0xf },
- { "un", 0x7 },
- { "st", 0xe },
- { "unst", 0x6 }
+ { "oshst", 0x2 },
+ { "osh", 0x3 },
+ { "nshst", 0x6 },
+ { "unst", 0x6 },
+ { "nsh", 0x7 },
+ { "un", 0x7 },
+ { "ishst", 0xa },
+ { "ish", 0xb },
+ { "st", 0xe },
+ { "sy", 0xf }
};
/* Table of ARM-format instructions. */
diff --git a/gnu/usr.bin/binutils-2.17/opcodes/arm-dis.c b/gnu/usr.bin/binutils-2.17/opcodes/arm-dis.c
index bc5b52cf9c0..25d307f72b6 100644
--- a/gnu/usr.bin/binutils-2.17/opcodes/arm-dis.c
+++ b/gnu/usr.bin/binutils-2.17/opcodes/arm-dis.c
@@ -1951,10 +1951,14 @@ print_insn_arm (bfd_vma pc, struct disassemble_info *info, long given)
case 'U':
switch (given & 0xf)
{
- case 0xf: func(stream, "sy"); break;
- case 0x7: func(stream, "un"); break;
+ case 0x2: func(stream, "oshst"); break;
+ case 0x3: func(stream, "osh"); break;
+ case 0x6: func(stream, "nshst"); break;
+ case 0x7: func(stream, "nsh"); break;
+ case 0xa: func(stream, "ishst"); break;
+ case 0xb: func(stream, "ish"); break;
case 0xe: func(stream, "st"); break;
- case 0x6: func(stream, "unst"); break;
+ case 0xf: func(stream, "sy"); break;
default:
func(stream, "#%d", (int)given & 0xf);
break;
@@ -2713,10 +2717,14 @@ print_insn_thumb32 (bfd_vma pc, struct disassemble_info *info, long given)
case 'U':
switch (given & 0xf)
{
- case 0xf: func(stream, "sy"); break;
- case 0x7: func(stream, "un"); break;
+ case 0x2: func(stream, "oshst"); break;
+ case 0x3: func(stream, "osh"); break;
+ case 0x6: func(stream, "nshst"); break;
+ case 0x7: func(stream, "nsh"); break;
+ case 0xa: func(stream, "ishst"); break;
+ case 0xb: func(stream, "ish"); break;
case 0xe: func(stream, "st"); break;
- case 0x6: func(stream, "unst"); break;
+ case 0xf: func(stream, "sy"); break;
default:
func(stream, "#%d", (int)given & 0xf);
break;