Re: [Qemu-devel] [PATCH 11/35] tcg-s390: Tidy unimplemented opcodes.

2010-06-10 Thread Aurelien Jarno
On Fri, Jun 04, 2010 at 12:14:19PM -0700, Richard Henderson wrote:
 Signed-off-by: Richard Henderson r...@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
 
 
 

-- 
Aurelien Jarno  GPG: 1024D/F1BCDB73
aurel...@aurel32.net http://www.aurel32.net



[Qemu-devel] [PATCH 11/35] tcg-s390: Tidy unimplemented opcodes.

2010-06-04 Thread Richard Henderson
Signed-off-by: Richard Henderson r...@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.  */
+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();
-- 
1.7.0.1