Patchwork [2/3] target-arm : fix thumb2 parallel add/sub opcode decoding ref : DDI0406B_arm_architecture_reference_manual_errata_markup_4_0.pdf section A6.3.1[34]

login
register
mail settings
Submitter cmchao
Date June 28, 2010, 3:54 p.m.
Message ID <1277740446-8603-3-git-send-email-cmchao@gmail.com>
Download mbox | patch
Permalink /patch/57158/
State New
Headers show

Comments

cmchao - June 28, 2010, 3:54 p.m.
Signed-off-by: Chih-Min Chao <cmchao@gmail.com>
---
 target-arm/translate.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

Patch

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();