Commit 752e628c5afc4f3b15a1074c8b523f8b66aa7d63
1 parent
2eb323c7
Fix TANDC and TORC instructions.
Uninitialized register was used instead of proper TCG variable. Signed-off-by: Filip Navara <filip.navara@gmail.com>
Showing
1 changed file
with
2 additions
and
0 deletions
target-arm/translate.c
@@ -1899,6 +1899,7 @@ static int disas_iwmmxt_insn(CPUState *env, DisasContext *s, uint32_t insn) | @@ -1899,6 +1899,7 @@ static int disas_iwmmxt_insn(CPUState *env, DisasContext *s, uint32_t insn) | ||
1899 | if ((insn & 0x000ff00f) != 0x0003f000) | 1899 | if ((insn & 0x000ff00f) != 0x0003f000) |
1900 | return 1; | 1900 | return 1; |
1901 | gen_op_iwmmxt_movl_T1_wCx(ARM_IWMMXT_wCASF); | 1901 | gen_op_iwmmxt_movl_T1_wCx(ARM_IWMMXT_wCASF); |
1902 | + gen_op_movl_T0_T1(); | ||
1902 | switch ((insn >> 22) & 3) { | 1903 | switch ((insn >> 22) & 3) { |
1903 | case 0: | 1904 | case 0: |
1904 | for (i = 0; i < 7; i ++) { | 1905 | for (i = 0; i < 7; i ++) { |
@@ -1945,6 +1946,7 @@ static int disas_iwmmxt_insn(CPUState *env, DisasContext *s, uint32_t insn) | @@ -1945,6 +1946,7 @@ static int disas_iwmmxt_insn(CPUState *env, DisasContext *s, uint32_t insn) | ||
1945 | if ((insn & 0x000ff00f) != 0x0003f000) | 1946 | if ((insn & 0x000ff00f) != 0x0003f000) |
1946 | return 1; | 1947 | return 1; |
1947 | gen_op_iwmmxt_movl_T1_wCx(ARM_IWMMXT_wCASF); | 1948 | gen_op_iwmmxt_movl_T1_wCx(ARM_IWMMXT_wCASF); |
1949 | + gen_op_movl_T0_T1(); | ||
1948 | switch ((insn >> 22) & 3) { | 1950 | switch ((insn >> 22) & 3) { |
1949 | case 0: | 1951 | case 0: |
1950 | for (i = 0; i < 7; i ++) { | 1952 | for (i = 0; i < 7; i ++) { |