Commit 0831403b authored by Richard Henderson's avatar Richard Henderson Committed by Peter Maydell
Browse files

target/arm: Clean up disas_thumb_insn



Now that everything is converted, remove the rest of
the legacy decode.

Reviewed-by: default avatarPeter Maydell <peter.maydell@linaro.org>
Signed-off-by: default avatarRichard Henderson <richard.henderson@linaro.org>
Message-id: 20190904193059.26202-69-richard.henderson@linaro.org
Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
parent 67b54c55
Loading
Loading
Loading
Loading
+2 −25
Original line number Diff line number Diff line
@@ -10770,33 +10770,10 @@ static void disas_thumb2_insn(DisasContext *s, uint32_t insn)

static void disas_thumb_insn(DisasContext *s, uint32_t insn)
{
    if (disas_t16(s, insn)) {
        return;
    }
    /* fall back to legacy decoder */

    switch (insn >> 12) {
    case 0: case 1: /* add/sub (3reg, 2reg imm), shift imm; in decodetree */
    case 2: case 3: /* add, sub, cmp, mov (reg, imm), in decodetree */
    case 4: /* ldr lit, data proc (2reg), data proc ext, bx; in decodetree */
    case 5: /* load/store register offset, in decodetree */
    case 6: /* load/store word immediate offset, in decodetree */
    case 7: /* load/store byte immediate offset, in decodetree */
    case 8: /* load/store halfword immediate offset, in decodetree */
    case 9: /* load/store from stack, in decodetree */
    case 10: /* add PC/SP (immediate), in decodetree */
    case 11: /* misc, in decodetree */
    case 12: /* load/store multiple, in decodetree */
    case 13: /* conditional branch or swi, in decodetree */
    case 14:
    case 15:
        /* branches, in decodetree */
        goto illegal_op;
    }
    return;
illegal_op:
    if (!disas_t16(s, insn)) {
        unallocated_encoding(s);
    }
}

static bool insn_crosses_page(CPUARMState *env, DisasContext *s)
{