All of lore.kernel.org
 help / color / mirror / Atom feed
From: Richard Henderson <rth@twiddle.net>
To: "Alex Bennée" <alex.bennee@linaro.org>
Cc: qemu-devel@nongnu.org, aurelien@aurel32.net
Subject: Re: [Qemu-devel] [PATCH 01/16] tcg: Merge opcode arguments into TCGOp
Date: Mon, 26 Jun 2017 07:55:36 -0700	[thread overview]
Message-ID: <d0e45622-b256-2e5a-2600-768b0b9559cb@twiddle.net> (raw)
In-Reply-To: <878tkeyfjp.fsf@linaro.org>

On 06/26/2017 07:44 AM, Alex Bennée wrote:
>> -/* The layout here is designed to avoid crossing of a 32-bit boundary.
>> -   If we do so, gcc adds padding, expanding the size to 12.  */
>> +/* The layout here is designed to avoid crossing of a 32-bit
>> boundary.  */
> 
> This isn't correct now? Do we mean we now aim to be cache line aligned?

I still avoid having a bitfield cross a 32-bit boundary.  Perhaps I should not 
have trimmed quite so much from the comment.

>>   /* Make sure operands fit in the bitfields above.  */
>>   QEMU_BUILD_BUG_ON(NB_OPS > (1 << 8));
>> -QEMU_BUILD_BUG_ON(OPC_BUF_SIZE > (1 << 10));
>> -QEMU_BUILD_BUG_ON(OPPARAM_BUF_SIZE > (1 << 14));
>> -
>> -/* Make sure that we don't overflow 64 bits without noticing.  */
>> -QEMU_BUILD_BUG_ON(sizeof(TCGOp) > 8);
>> +QEMU_BUILD_BUG_ON(OPC_BUF_SIZE > (1 << 16));
> 
> OPC_BUF_SIZE is statically assigned, we don't seem to be taking notice
> of sizeof(TCGOp) anymore here. In fact OPC_BUF_SIZE is really
> MAX_TCG_OPS right?

Yes, I dropped the sizeof(TCGOp) check.  I could perhaps adjust it, but the 
expression would be a bit unwieldy, since it'll vary by host now.

I suppose you could think of OPC_BUF_SIZE as MAX_TCG_OPS, yes.  I suppose that 
might be a decent renaming as well.

> I see TCGArg is currently target_ulong. Is this because we never leak
> the host size details into generated code safe for the statically
> assigned env_ptr?

You mis-read.  TCGArg is tcg_target_ulong, which is a host specific value.

> I mention this because in looking at modelling SIMD registers I'm going
> to need to carry a host ptr around in TCG registers that can be passed
> to helpers and the like.

You'll always be able to do that.


r~

  reply	other threads:[~2017-06-26 14:55 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-06-21  2:48 [Qemu-devel] [PATCH 00/16] Cleanups within TCG middle-end Richard Henderson
2017-06-21  2:48 ` [Qemu-devel] [PATCH 01/16] tcg: Merge opcode arguments into TCGOp Richard Henderson
2017-06-26 14:44   ` Alex Bennée
2017-06-26 14:55     ` Richard Henderson [this message]
2017-06-21  2:48 ` [Qemu-devel] [PATCH 02/16] tcg: Propagate args to op->args in optimizer Richard Henderson
2017-06-26 14:53   ` Alex Bennée
2017-06-21  2:48 ` [Qemu-devel] [PATCH 03/16] tcg: Propagate args to op->args in tcg.c Richard Henderson
2017-06-26 15:02   ` Alex Bennée
2017-06-26 15:07     ` Richard Henderson
2017-06-21  2:48 ` [Qemu-devel] [PATCH 04/16] tcg: Propagate TCGOp down to allocators Richard Henderson
2017-06-26 15:08   ` Alex Bennée
2017-06-21  2:48 ` [Qemu-devel] [PATCH 05/16] tcg: Introduce arg_temp Richard Henderson
2017-06-26 16:37   ` Alex Bennée
2017-06-21  2:48 ` [Qemu-devel] [PATCH 06/16] tcg: Add temp_global bit to TCGTemp Richard Henderson
2017-06-27  8:39   ` Alex Bennée
2017-06-27 16:17     ` Richard Henderson
2017-06-28  8:52       ` Alex Bennée
2017-06-21  2:48 ` [Qemu-devel] [PATCH 07/16] tcg: Return NULL temp for TCG_CALL_DUMMY_ARG Richard Henderson
2017-06-27  8:47   ` Alex Bennée
2017-06-27 16:36     ` Richard Henderson
2017-06-21  2:48 ` [Qemu-devel] [PATCH 08/16] tcg: Introduce temp_arg Richard Henderson
2017-06-21  2:48 ` [Qemu-devel] [PATCH 09/16] tcg: Use per-temp state data in liveness Richard Henderson
2017-06-27  8:57   ` Alex Bennée
2017-06-27 16:39     ` Richard Henderson
2017-06-21  2:48 ` [Qemu-devel] [PATCH 10/16] tcg: Avoid loops against variable bounds Richard Henderson
2017-06-27  9:01   ` Alex Bennée
2017-06-21  2:48 ` [Qemu-devel] [PATCH 11/16] tcg: Change temp_allocate_frame arg to TCGTemp Richard Henderson
2017-06-21  2:48 ` [Qemu-devel] [PATCH 12/16] tcg: Remove unused TCG_CALL_DUMMY_TCGV Richard Henderson
2017-06-27  9:42   ` Alex Bennée
2017-06-21  2:48 ` [Qemu-devel] [PATCH 13/16] tcg: Export temp_idx Richard Henderson
2017-06-27  9:46   ` Alex Bennée
2017-06-27 16:43     ` Richard Henderson
2017-06-21  2:48 ` [Qemu-devel] [PATCH 14/16] tcg: Use per-temp state data in optimize Richard Henderson
2017-06-27  9:59   ` Alex Bennée
2017-06-21  2:48 ` [Qemu-devel] [PATCH 15/16] tcg: Define separate structures for TCGv_* Richard Henderson
2017-06-21  2:48 ` [Qemu-devel] [PATCH 16/16] tcg: Store pointers to temporaries directly in TCGArg Richard Henderson
2017-06-21  3:43 ` [Qemu-devel] [PATCH 00/16] Cleanups within TCG middle-end no-reply
2017-06-26 16:49 ` Alex Bennée
2017-06-26 17:47   ` Richard Henderson
2017-06-26 19:19     ` Alex Bennée

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=d0e45622-b256-2e5a-2600-768b0b9559cb@twiddle.net \
    --to=rth@twiddle.net \
    --cc=alex.bennee@linaro.org \
    --cc=aurelien@aurel32.net \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.