diff options
| author | Peter Zijlstra <peterz@infradead.org> | 2025-09-25 10:19:05 +0200 |
|---|---|---|
| committer | Peter Zijlstra <peterz@infradead.org> | 2025-10-16 11:13:48 +0200 |
| commit | 45e1dccc0653c50e377dae57ef086a8d0f71061d (patch) | |
| tree | 6427c4f437a4cf84a7edd2823a620c93f89368c9 /arch/x86/lib/insn-eval.c | |
| parent | 8a5c6cbfe4a35c6a22d2f8bbaf49b8cc3f45fcc6 (diff) | |
x86/insn: Simplify for_each_insn_prefix()
Use the new-found freedom of allowing variable declarions inside
for() to simplify the for_each_insn_prefix() iterator to no longer
need an external temporary.
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Diffstat (limited to 'arch/x86/lib/insn-eval.c')
| -rw-r--r-- | arch/x86/lib/insn-eval.c | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/arch/x86/lib/insn-eval.c b/arch/x86/lib/insn-eval.c index c991dac1a38e..e03eeec55cfe 100644 --- a/arch/x86/lib/insn-eval.c +++ b/arch/x86/lib/insn-eval.c @@ -63,11 +63,10 @@ static bool is_string_insn(struct insn *insn) bool insn_has_rep_prefix(struct insn *insn) { insn_byte_t p; - int i; insn_get_prefixes(insn); - for_each_insn_prefix(insn, i, p) { + for_each_insn_prefix(insn, p) { if (p == 0xf2 || p == 0xf3) return true; } @@ -92,13 +91,13 @@ bool insn_has_rep_prefix(struct insn *insn) static int get_seg_reg_override_idx(struct insn *insn) { int idx = INAT_SEG_REG_DEFAULT; - int num_overrides = 0, i; + int num_overrides = 0; insn_byte_t p; insn_get_prefixes(insn); /* Look for any segment override prefixes. */ - for_each_insn_prefix(insn, i, p) { + for_each_insn_prefix(insn, p) { insn_attr_t attr; attr = inat_get_opcode_attribute(p); @@ -1701,7 +1700,6 @@ bool insn_is_nop(struct insn *insn) u8 sib = 0, sib_scale, sib_index, sib_base; u8 nrex, rex; u8 p, rep = 0; - int i; if ((nrex = insn->rex_prefix.nbytes)) { rex = insn->rex_prefix.bytes[nrex-1]; @@ -1741,7 +1739,7 @@ bool insn_is_nop(struct insn *insn) modrm_rm = sib_base; } - for_each_insn_prefix(insn, i, p) { + for_each_insn_prefix(insn, p) { if (p == 0xf3) /* REPE */ rep = 1; } @@ -1789,7 +1787,7 @@ bool insn_is_nop(struct insn *insn) if (sib && (sib_scale != 0 || sib_index != 4)) /* (%reg, %eiz, 1) */ return false; - for_each_insn_prefix(insn, i, p) { + for_each_insn_prefix(insn, p) { if (p != 0x3e) /* DS */ return false; } |
