qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH] ARM: some more cleanups and potential bug fixes
@ 2008-12-07 17:23 Laurent Desnogues
  0 siblings, 0 replies; only message in thread
From: Laurent Desnogues @ 2008-12-07 17:23 UTC (permalink / raw)
  To: qemu-devel

[-- Attachment #1: Type: text/plain, Size: 439 bytes --]

Hello,

this patch fixes a few things in some ARM target files.

1. op_helper.c:  add_cc should used its parameters;  this
   worked because the helper is currently called with
   cpu_T[01], but if someone decides to remove cpu_T
   this will be wrong

2. translate.c
   - typos
   - extraneous semi colons
   - extraneous break
   - unused functions removal.

HTH,

Laurent

Signed-off-by: Laurent Desnogues <laurent.desnogues@gmail.com>

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: arm-cosmetics2.patch --]
[-- Type: text/x-patch; name=arm-cosmetics2.patch, Size: 4105 bytes --]

Index: target-arm/op_helper.c
===================================================================
--- target-arm/op_helper.c	(revision 5918)
+++ target-arm/op_helper.c	(working copy)
@@ -307,7 +307,7 @@
 uint32_t HELPER (add_cc)(uint32_t a, uint32_t b)
 {
     uint32_t result;
-    result = T0 + T1;
+    result = a + b;
     env->NF = env->ZF = result;
     env->CF = result < a;
     env->VF = (a ^ b ^ -1) & (a ^ result);
Index: target-arm/translate.c
===================================================================
--- target-arm/translate.c	(revision 5918)
+++ target-arm/translate.c	(working copy)
@@ -160,7 +160,7 @@
 {
     if (reg == 15) {
         uint32_t addr;
-        /* normaly, since we updated PC, we need only to add one insn */
+        /* normally, since we updated PC, we need only to add one insn */
         if (s->thumb)
             addr = (long)s->pc + 2;
         else
@@ -214,8 +214,8 @@
 #define gen_op_orl_T0_T1() tcg_gen_or_i32(cpu_T[0], cpu_T[0], cpu_T[1])
 #define gen_op_notl_T0() tcg_gen_not_i32(cpu_T[0], cpu_T[0])
 #define gen_op_notl_T1() tcg_gen_not_i32(cpu_T[1], cpu_T[1])
-#define gen_op_logic_T0_cc() gen_logic_CC(cpu_T[0]);
-#define gen_op_logic_T1_cc() gen_logic_CC(cpu_T[1]);
+#define gen_op_logic_T0_cc() gen_logic_CC(cpu_T[0])
+#define gen_op_logic_T1_cc() gen_logic_CC(cpu_T[1])
 
 #define gen_op_shll_T1_im(im) tcg_gen_shli_i32(cpu_T[1], cpu_T[1], im)
 #define gen_op_shrl_T1_im(im) tcg_gen_shri_i32(cpu_T[1], cpu_T[1], im)
@@ -534,7 +534,7 @@
         if (shift != 0) {
             if (flags)
                 shifter_out_im(var, shift - 1);
-            tcg_gen_rori_i32(var, var, shift); break;
+            tcg_gen_rori_i32(var, var, shift);
         } else {
             TCGv tmp = load_cpu_field(CF);
             if (flags)
@@ -545,7 +545,7 @@
             dead_tmp(tmp);
         }
     }
-};
+}
 
 static inline void gen_arm_shift_reg(TCGv var, int shiftop,
                                      TCGv shift, int flags)
@@ -803,14 +803,6 @@
     store_cpu_field(var, regs[15]);
 }
 
-/* TODO: This should be removed.  Use gen_bx instead.  */
-static inline void gen_bx_T0(DisasContext *s)
-{
-    TCGv tmp = new_tmp();
-    tcg_gen_mov_i32(tmp, cpu_T[0]);
-    gen_bx(s, tmp);
-}
-
 static inline TCGv gen_ld8s(TCGv addr, int index)
 {
     TCGv tmp = new_tmp();
@@ -867,11 +859,6 @@
     load_reg_var(s, cpu_T[1], reg);
 }
 
-static inline void gen_movl_T2_reg(DisasContext *s, int reg)
-{
-    load_reg_var(s, cpu_T[2], reg);
-}
-
 static inline void gen_set_pc_im(uint32_t val)
 {
     TCGv tmp = new_tmp();
@@ -3600,15 +3587,6 @@
   tcg_gen_ld_i32(cpu_T[0], cpu_env, offset);
 }
 
-static inline void
-gen_neon_movl_T1_scratch(int scratch)
-{
-  uint32_t offset;
-
-  offset = offsetof(CPUARMState, vfp.scratch[scratch]);
-  tcg_gen_ld_i32(cpu_T[1], cpu_env, offset);
-}
-
 static inline void gen_neon_get_scalar(int size, int reg)
 {
     if (size == 1) {
@@ -4446,7 +4424,7 @@
                     size--;
             }
             shift = (insn >> 16) & ((1 << (3 + size)) - 1);
-            /* To avoid excessive dumplication of ops we implement shift
+            /* To avoid excessive duplication of ops we implement shift
                by immediate using the variable shift operations.  */
             if (op < 8) {
                 /* Shift by immediate:
@@ -5042,7 +5020,7 @@
                         NEON_SET_REG(T0, rd, pass);
                     }
                     break;
-                case 2: /* VMLAL sclar */
+                case 2: /* VMLAL scalar */
                 case 3: /* VQDMLAL scalar */
                 case 6: /* VMLSL scalar */
                 case 7: /* VQDMLSL scalar */
@@ -8751,7 +8729,7 @@
     } else {
         /* While branches must always occur at the end of an IT block,
            there are a few other things that can cause us to terminate
-           the TB in the middel of an IT block:
+           the TB in the middle of an IT block:
             - Exception generating instructions (bkpt, swi, undefined).
             - Page boundaries.
             - Hardware watchpoints.

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2008-12-07 17:23 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-12-07 17:23 [Qemu-devel] [PATCH] ARM: some more cleanups and potential bug fixes Laurent Desnogues

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).