[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 08/12] tcg-s390: Remove constraint letters for a
From: |
Richard Henderson |
Subject: |
Re: [Qemu-devel] [PATCH 08/12] tcg-s390: Remove constraint letters for and |
Date: |
Thu, 28 Mar 2013 08:08:23 -0700 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130311 Thunderbird/17.0.4 |
On 03/28/2013 08:03 AM, Aurelien Jarno wrote:
>> Since we have a free temporary and can always just load the constant, we
>> > ought to do so, rather than spending the same effort constraining the
>> > const.
> Is it really a good idea doing so? If a constraint can't be satisfied
> the TCG code will also load the constant in a register, with the
> difference that the register is not trashed and might be reused later
> instead of reloading the constant again. Of course it means one more
> register available, but the S390 target doesn't really have issues
> with the number of available registers.
>
My main thinking is along the lines you yourself pointed out when the code
was first written -- it's really quite hard to figure out what constants are
implementable for AND.
It gets even worse with a patch further in the series that uses ROTATE AND
INSERT SELECTED BITS.
It's complicated enough that it *seems* better to just go ahead and accept
all constants. Even from a maintainence point of view -- we no longer have
to have two big functions match up.
r~
- [Qemu-devel] [PATCH 02/12] tcg-s390: Properly allocate a stack frame., (continued)
- [Qemu-devel] [PATCH 02/12] tcg-s390: Properly allocate a stack frame., Richard Henderson, 2013/03/27
- [Qemu-devel] [PATCH 03/12] tcg-s390: Remove useless preprocessor conditions, Richard Henderson, 2013/03/27
- [Qemu-devel] [PATCH 04/12] tcg-s390: Implement add2/sub2 opcodes, Richard Henderson, 2013/03/27
- [Qemu-devel] [PATCH 05/12] tcg-s390: Implement mulu2_i64 opcode, Richard Henderson, 2013/03/27
- [Qemu-devel] [PATCH 06/12] tcg-s390: Implement movcond opcodes, Richard Henderson, 2013/03/27
- [Qemu-devel] [PATCH 07/12] tcg-s390: Implement deposit opcodes, Richard Henderson, 2013/03/27
- [Qemu-devel] [PATCH 08/12] tcg-s390: Remove constraint letters for and, Richard Henderson, 2013/03/27
- [Qemu-devel] [PATCH 10/12] tcg-s390: Cleanup argument shuffling fixme in softmmu code, Richard Henderson, 2013/03/27
- [Qemu-devel] [PATCH 09/12] tcg-s390: Use risbgz for andi, Richard Henderson, 2013/03/27
- [Qemu-devel] [PATCH 12/12] tcg-s390: Use all 20 bits of the offset in tcg_out_mem, Richard Henderson, 2013/03/27
- [Qemu-devel] [PATCH 11/12] tcg-s390: Use load-address for addition, Richard Henderson, 2013/03/27