aboutsummaryrefslogtreecommitdiff
path: root/opcodes/aarch64-asm.c
diff options
context:
space:
mode:
authorRichard Sandiford <richard.sandiford@arm.com>2016-09-21 16:51:09 +0100
committerRichard Sandiford <richard.sandiford@arm.com>2016-09-21 16:51:09 +0100
commit42408347b86745fdbd4bec9ee3a6a3fee31c4dee (patch)
tree5134e249ebca1ba93871174da6773e65965ae96d /opcodes/aarch64-asm.c
parent4989adac848eb8f2fee8b98d9615d2fded22623b (diff)
downloadgdb-42408347b86745fdbd4bec9ee3a6a3fee31c4dee.zip
gdb-42408347b86745fdbd4bec9ee3a6a3fee31c4dee.tar.gz
gdb-42408347b86745fdbd4bec9ee3a6a3fee31c4dee.tar.bz2
[AArch64][SVE 14/32] Make aarch64_logical_immediate_p take an element size
SVE supports logical immediate operations on 8-bit, 16-bit and 32-bit elements, treating them as aliases of operations on 64-bit elements in which the immediate is replicated. This patch therefore replaces the "32-bit/64-bit" input to aarch64_logical_immediate_p with a more general "number of bytes" input. opcodes/ * aarch64-opc.c (aarch64_logical_immediate_p): Replace is32 with an esize parameter. (operand_general_constraint_met_p): Update accordingly. Fix misindented code. * aarch64-asm.c (aarch64_ins_limm): Update call to aarch64_logical_immediate_p.
Diffstat (limited to 'opcodes/aarch64-asm.c')
-rw-r--r--opcodes/aarch64-asm.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/opcodes/aarch64-asm.c b/opcodes/aarch64-asm.c
index 2430be5..8fbd66f 100644
--- a/opcodes/aarch64-asm.c
+++ b/opcodes/aarch64-asm.c
@@ -436,11 +436,11 @@ aarch64_ins_limm (const aarch64_operand *self, const aarch64_opnd_info *info,
{
aarch64_insn value;
uint64_t imm = info->imm.value;
- int is32 = aarch64_get_qualifier_esize (inst->operands[0].qualifier) == 4;
+ int esize = aarch64_get_qualifier_esize (inst->operands[0].qualifier);
if (inst->opcode->op == OP_BIC)
imm = ~imm;
- if (aarch64_logical_immediate_p (imm, is32, &value) == FALSE)
+ if (aarch64_logical_immediate_p (imm, esize, &value) == FALSE)
/* The constraint check should have guaranteed this wouldn't happen. */
assert (0);