summaryrefslogtreecommitdiff
path: root/target-arm/translate.c
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
commit7914b731821f42c95592e277ab19d47e71eb2b8f (patch)
tree2d046f6bf1dfe51a40eb5c2ee6b70053b510f975 /target-arm/translate.c
parent785980e633c1a39bad334c5419a2947c9ecb7f0f (diff)
downloadqemu-7914b731821f42c95592e277ab19d47e71eb2b8f.tar.gz
qemu-7914b731821f42c95592e277ab19d47e71eb2b8f.tar.bz2
qemu-7914b731821f42c95592e277ab19d47e71eb2b8f.zip
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>
Diffstat (limited to 'target-arm/translate.c')
-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 a28e2ff333..6fcdd7e544 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();