aboutsummaryrefslogtreecommitdiff
path: root/opcodes
diff options
context:
space:
mode:
authorYufeng Zhang <yufeng.zhang@arm.com>2012-10-15 14:52:06 +0000
committerYufeng Zhang <yufeng.zhang@arm.com>2012-10-15 14:52:06 +0000
commit9de794e14842cdc778c4ee490e613c7163c5a976 (patch)
tree1b81633e536e6e41fa9a0b12acf5bbef9c83bf59 /opcodes
parentf05682d46014082c3afe2bff6d04a1d203bce119 (diff)
downloadfsf-binutils-gdb-9de794e14842cdc778c4ee490e613c7163c5a976.zip
fsf-binutils-gdb-9de794e14842cdc778c4ee490e613c7163c5a976.tar.gz
fsf-binutils-gdb-9de794e14842cdc778c4ee490e613c7163c5a976.tar.bz2
Added missing alignment check to load/store uimm12 immediate offset.
opcodes/ * aarch64-opc.c (operand_general_constraint_met_p): Change to check the alignment of addr.offset.imm instead of that of shifter.amount for operand type AARCH64_OPND_ADDR_UIMM12. gas/testsuite/ * gas/aarch64/illegal-2.s: Add test case. * gas/aarch64/illegal-2.l: Likewise.
Diffstat (limited to 'opcodes')
-rw-r--r--opcodes/aarch64-opc.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/opcodes/aarch64-opc.c b/opcodes/aarch64-opc.c
index 2d66a25..8c70938 100644
--- a/opcodes/aarch64-opc.c
+++ b/opcodes/aarch64-opc.c
@@ -1426,7 +1426,7 @@ operand_general_constraint_met_p (const aarch64_opnd_info *opnds, int idx,
0, 4095 * size);
return 0;
}
- if (!value_aligned_p (opnd->shifter.amount, size))
+ if (!value_aligned_p (opnd->addr.offset.imm, size))
{
set_unaligned_error (mismatch_detail, idx, size);
return 0;