Commit 56e6250e authored by Richard Henderson's avatar Richard Henderson Committed by Peter Maydell
Browse files

target/arm: Convert T16, nop hints



Reviewed-by: default avatarPeter Maydell <peter.maydell@linaro.org>
Signed-off-by: default avatarRichard Henderson <richard.henderson@linaro.org>
Reviewed-by: default avatarPhilippe Mathieu-Daudé <philmd@redhat.com>
Message-id: 20190904193059.26202-60-richard.henderson@linaro.org
Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
parent ae3002b0
Loading
Loading
Loading
Loading
+17 −0
Original line number Diff line number Diff line
@@ -19,6 +19,7 @@
# This file is processed by scripts/decodetree.py
#

&empty           !extern
&s_rrr_shi       !extern s rd rn rm shim shty
&s_rrr_shr       !extern s rn rd rm rs shty
&s_rri_rot       !extern s rn rd imm rot
@@ -204,3 +205,19 @@ SETEND 1011 0110 010 1 E:1 000 &setend
REV             1011 1010 00 ... ...            @rdm
REV16           1011 1010 01 ... ...            @rdm
REVSH           1011 1010 11 ... ...            @rdm

# Hints

{
  YIELD         1011 1111 0001 0000
  WFE           1011 1111 0010 0000
  WFI           1011 1111 0011 0000

  # TODO: Implement SEV, SEVL; may help SMP performance.
  # SEV         1011 1111 0100 0000
  # SEVL        1011 1111 0101 0000

  # The canonical nop has the second nibble as 0000, but the whole of the
  # rest of the space is a reserved hint, behaves as nop.
  NOP           1011 1111 ---- 0000
}
+1 −2
Original line number Diff line number Diff line
@@ -10891,8 +10891,7 @@ static void disas_thumb_insn(DisasContext *s, uint32_t insn)

        case 15: /* IT, nop-hint.  */
            if ((insn & 0xf) == 0) {
                gen_nop_hint(s, (insn >> 4) & 0xf);
                break;
                goto illegal_op; /* nop hint, in decodetree */
            }
            /*
             * IT (If-Then)