Patchwork [11/35] tcg-s390: Tidy unimplemented opcodes.

login
register
mail settings
Submitter Richard Henderson
Date June 4, 2010, 7:14 p.m.
Message ID <1275678883-7082-12-git-send-email-rth@twiddle.net>
Download mbox | patch
Permalink /patch/54674/
State New
Headers show

Comments

Richard Henderson - June 4, 2010, 7:14 p.m.
Signed-off-by: Richard Henderson <rth@twiddle.net>
---
 tcg/s390/tcg-target.c |   25 ++++++++++---------------
 1 files changed, 10 insertions(+), 15 deletions(-)
Aurelien Jarno - June 10, 2010, 10:24 a.m.
On Fri, Jun 04, 2010 at 12:14:19PM -0700, Richard Henderson wrote:
> Signed-off-by: Richard Henderson <rth@twiddle.net>
> ---
>  tcg/s390/tcg-target.c |   25 ++++++++++---------------
>  1 files changed, 10 insertions(+), 15 deletions(-)
> 
> diff --git a/tcg/s390/tcg-target.c b/tcg/s390/tcg-target.c
> index 55f0fa9..5b2134b 100644
> --- a/tcg/s390/tcg-target.c
> +++ b/tcg/s390/tcg-target.c
> @@ -824,11 +824,6 @@ static inline void tcg_out_op(TCGContext *s, TCGOpcode opc,
>          }
>          break;
>  
> -    case INDEX_op_jmp:
> -        /* XXX */
> -        tcg_abort();
> -        break;
> -
>      case INDEX_op_ld8u_i32:
>      case INDEX_op_ld8u_i64:
>          /* ??? LLC (RXY format) is only present with the extended-immediate
> @@ -891,16 +886,6 @@ static inline void tcg_out_op(TCGContext *s, TCGOpcode opc,
>          tcg_out_st(s, TCG_TYPE_I64, args[0], args[1], args[2]);
>          break;
>  
> -    case INDEX_op_mov_i32:
> -        /* XXX */
> -        tcg_abort();
> -        break;
> -
> -    case INDEX_op_movi_i32:
> -        /* XXX */
> -        tcg_abort();
> -        break;
> -
>      case INDEX_op_add_i32:
>          if (const_args[2]) {
>              tcg_out_insn(s, RI, AHI, args[0], args[2]);
> @@ -1077,6 +1062,16 @@ static inline void tcg_out_op(TCGContext *s, TCGOpcode opc,
>          tcg_out_qemu_st(s, args, LD_UINT64);
>          break;
>  
> +    case INDEX_op_mov_i32:
> +    case INDEX_op_mov_i64:
> +    case INDEX_op_movi_i32:
> +    case INDEX_op_movi_i64:
> +        /* These are always emitted by TCG directly.  */

OTOH, these 4 ones are very easy to write in case TCG starts to emit
such opcodes at some point.

> +    case INDEX_op_jmp:
> +        /* This one is obsolete and never emitted.  */
> +        tcg_abort();

I am fine with this one.

> +        break;
> +
>      default:
>          fprintf(stderr,"unimplemented opc 0x%x\n",opc);
>          tcg_abort();
> -- 
> 1.7.0.1
> 
> 
>

Patch

diff --git a/tcg/s390/tcg-target.c b/tcg/s390/tcg-target.c
index 55f0fa9..5b2134b 100644
--- a/tcg/s390/tcg-target.c
+++ b/tcg/s390/tcg-target.c
@@ -824,11 +824,6 @@  static inline void tcg_out_op(TCGContext *s, TCGOpcode opc,
         }
         break;
 
-    case INDEX_op_jmp:
-        /* XXX */
-        tcg_abort();
-        break;
-
     case INDEX_op_ld8u_i32:
     case INDEX_op_ld8u_i64:
         /* ??? LLC (RXY format) is only present with the extended-immediate
@@ -891,16 +886,6 @@  static inline void tcg_out_op(TCGContext *s, TCGOpcode opc,
         tcg_out_st(s, TCG_TYPE_I64, args[0], args[1], args[2]);
         break;
 
-    case INDEX_op_mov_i32:
-        /* XXX */
-        tcg_abort();
-        break;
-
-    case INDEX_op_movi_i32:
-        /* XXX */
-        tcg_abort();
-        break;
-
     case INDEX_op_add_i32:
         if (const_args[2]) {
             tcg_out_insn(s, RI, AHI, args[0], args[2]);
@@ -1077,6 +1062,16 @@  static inline void tcg_out_op(TCGContext *s, TCGOpcode opc,
         tcg_out_qemu_st(s, args, LD_UINT64);
         break;
 
+    case INDEX_op_mov_i32:
+    case INDEX_op_mov_i64:
+    case INDEX_op_movi_i32:
+    case INDEX_op_movi_i64:
+        /* These are always emitted by TCG directly.  */
+    case INDEX_op_jmp:
+        /* This one is obsolete and never emitted.  */
+        tcg_abort();
+        break;
+
     default:
         fprintf(stderr,"unimplemented opc 0x%x\n",opc);
         tcg_abort();