[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 29/62] tcg-s390: Use LOAD COMPLIMENT for negate.
From: |
Richard Henderson |
Subject: |
[Qemu-devel] [PATCH 29/62] tcg-s390: Use LOAD COMPLIMENT for negate. |
Date: |
Thu, 27 May 2010 13:46:11 -0700 |
Signed-off-by: Richard Henderson <address@hidden>
---
tcg/s390/tcg-target.c | 10 ++--------
1 files changed, 2 insertions(+), 8 deletions(-)
diff --git a/tcg/s390/tcg-target.c b/tcg/s390/tcg-target.c
index f85063e..97ac66d 100644
--- a/tcg/s390/tcg-target.c
+++ b/tcg/s390/tcg-target.c
@@ -1028,16 +1028,10 @@ static inline void tcg_out_op(TCGContext *s, TCGOpcode
opc,
break;
case INDEX_op_neg_i32:
- /* FIXME: optimize args[0] != args[1] case */
- tcg_out_insn(s, RR, LR, 13, args[1]);
- tcg_out_movi(s, TCG_TYPE_I32, args[0], 0);
- tcg_out_insn(s, RR, SR, args[0], 13);
+ tcg_out_insn(s, RR, LCR, args[0], args[1]);
break;
case INDEX_op_neg_i64:
- /* FIXME: optimize args[0] != args[1] case */
- tcg_out_mov(s, TCG_REG_R13, args[1]);
- tcg_out_movi(s, TCG_TYPE_I64, args[0], 0);
- tcg_out_insn(s, RRE, SGR, args[0], TCG_REG_R13);
+ tcg_out_insn(s, RRE, LCGR, args[0], args[1]);
break;
case INDEX_op_mul_i32:
--
1.7.0.1
- [Qemu-devel] [PATCH 15/62] tcg-s390: Update disassembler from binutils head., (continued)
- [Qemu-devel] [PATCH 15/62] tcg-s390: Update disassembler from binutils head., Richard Henderson, 2010/05/27
- [Qemu-devel] [PATCH 17/62] tcg-s390: Reorganize instruction emission, Richard Henderson, 2010/05/27
- [Qemu-devel] [PATCH 21/62] tcg-s390: Generalize the direct load/store emission., Richard Henderson, 2010/05/27
- [Qemu-devel] [PATCH 22/62] tcg-s390: Tidy branches., Richard Henderson, 2010/05/27
- [Qemu-devel] [PATCH 23/62] tcg-s390: Add tgen_calli., Richard Henderson, 2010/05/27
- [Qemu-devel] [PATCH 25/62] tcg-s390: Re-implement tcg_out_movi., Richard Henderson, 2010/05/27
- [Qemu-devel] [PATCH 24/62] tcg-s390: Implement div2., Richard Henderson, 2010/05/27
- [Qemu-devel] [PATCH 26/62] tcg-s390: Implement sign and zero-extension operations., Richard Henderson, 2010/05/27
- [Qemu-devel] [PATCH 27/62] tcg-s390: Implement bswap operations., Richard Henderson, 2010/05/27
- [Qemu-devel] [PATCH 28/62] tcg-s390: Implement rotates., Richard Henderson, 2010/05/27
- [Qemu-devel] [PATCH 29/62] tcg-s390: Use LOAD COMPLIMENT for negate.,
Richard Henderson <=
- [Qemu-devel] [PATCH 30/62] tcg-s390: Tidy unimplemented opcodes., Richard Henderson, 2010/05/27
- [Qemu-devel] [PATCH 31/62] tcg-s390: Use the extended-immediate facility for add/sub., Richard Henderson, 2010/05/27
- [Qemu-devel] [PATCH 32/62] tcg-s390: Implement immediate ANDs., Richard Henderson, 2010/05/27
- [Qemu-devel] [PATCH 33/62] tcg-s390: Implement immediate ORs., Richard Henderson, 2010/05/27
- [Qemu-devel] [PATCH 34/62] tcg-s390: Implement immediate MULs., Richard Henderson, 2010/05/27
- [Qemu-devel] [PATCH 35/62] tcg-s390: Implement immediate XORs., Richard Henderson, 2010/05/27
- [Qemu-devel] [PATCH 37/62] tcg-s390: Define TCG_TMP0., Richard Henderson, 2010/05/27
- [Qemu-devel] [PATCH 38/62] tcg-s390: Tidy regset initialization; use R14 as temporary., Richard Henderson, 2010/05/27
- [Qemu-devel] [PATCH 39/62] tcg-s390: Rearrange register allocation order., Richard Henderson, 2010/05/27
- [Qemu-devel] [PATCH 36/62] tcg-s390: Icache flush is a no-op., Richard Henderson, 2010/05/27