aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChih-Min Chao <cmchao@gmail.com>2010-06-28 23:54:05 +0800
committerAurelien Jarno <aurelien@aurel32.net>2010-07-01 23:45:29 +0200
commited89a2f1b11db03fbdb0ddab93c25913a16c0374 (patch)
tree2d046f6bf1dfe51a40eb5c2ee6b70053b510f975
parentbb42e28bdb56a05faca83bd760c1581af2f73a4b (diff)
downloadqemu-ed89a2f1b11db03fbdb0ddab93c25913a16c0374.zip
qemu-ed89a2f1b11db03fbdb0ddab93c25913a16c0374.tar.gz
qemu-ed89a2f1b11db03fbdb0ddab93c25913a16c0374.tar.bz2
target-arm : fix thumb2 parallel add/sub opcode decoding
Signed-off-by: Chih-Min Chao <cmchao@gmail.com> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
-rw-r--r--target-arm/translate.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/target-arm/translate.c b/target-arm/translate.c
index a28e2ff..6fcdd7e 100644
--- a/target-arm/translate.c
+++ b/target-arm/translate.c
@@ -561,7 +561,7 @@ static void gen_arm_parallel_addsub(int op1, int op2, TCGv a, TCGv b)
/* For unknown reasons Arm and Thumb-2 use arbitrarily different encodings. */
#define PAS_OP(pfx) \
- switch (op2) { \
+ switch (op1) { \
case 0: gen_pas_helper(glue(pfx,add8)); break; \
case 1: gen_pas_helper(glue(pfx,add16)); break; \
case 2: gen_pas_helper(glue(pfx,addsubx)); break; \
@@ -573,7 +573,7 @@ static void gen_thumb2_parallel_addsub(int op1, int op2, TCGv a, TCGv b)
{
TCGv_ptr tmp;
- switch (op1) {
+ switch (op2) {
#define gen_pas_helper(name) glue(gen_helper_,name)(a, a, b, tmp)
case 0:
tmp = tcg_temp_new_ptr();