cris: Move sign extension.
authorEdgar E. Iglesias <edgar.iglesias@gmail.com>
Wed, 16 Jun 2010 11:46:15 +0000 (13:46 +0200)
committerEdgar E. Iglesias <edgar.iglesias@gmail.com>
Wed, 16 Jun 2010 11:46:15 +0000 (13:46 +0200)
Move it in preparation for further changes.
No functional change.

Signed-off-by: Edgar E. Iglesias <edgar.iglesias@axis.com>
target-cris/translate.c

index 898aba6490323cf879519a83eba2bd4676e6ca9d..45c76827066f87c9b4cd3c49f3fc47200bb14d86 100644 (file)
@@ -227,6 +227,19 @@ static inline void t_gen_mov_preg_TN(DisasContext *dc, int r, TCGv tn)
        }
 }
 
+/* Sign extend at translation time.  */
+static int sign_extend(unsigned int val, unsigned int width)
+{
+       int sval;
+
+       /* LSL.  */
+       val <<= 31 - width;
+       sval = val;
+       /* ASR.  */
+       sval >>= 31 - width;
+       return sval;
+}
+
 static int cris_fetch(DisasContext *dc, uint32_t addr,
                      unsigned int size, unsigned int sign)
 {
@@ -594,19 +607,6 @@ static void gen_goto_tb(DisasContext *dc, int n, target_ulong dest)
        }
 }
 
-/* Sign extend at translation time.  */
-static int sign_extend(unsigned int val, unsigned int width)
-{
-       int sval;
-
-       /* LSL.  */
-       val <<= 31 - width;
-       sval = val;
-       /* ASR.  */
-       sval >>= 31 - width;
-       return sval;
-}
-
 static inline void cris_clear_x_flag(DisasContext *dc)
 {
        if (dc->flagx_known && dc->flags_x)