On 09/28/2011 03:07 PM, Jan Kiszka wrote:
> On 2011-09-28 17:19, Richard Henderson wrote:
>> On 09/28/2011 07:33 AM, Jan Kiszka wrote:
>>>> I don't particularly care for the 3 different opcodes.  Perhaps
>>>> we'd be better off with an inline predicate for when the deposit
>>>> opcode is "valid"?
>>>
>>> We still need to dispatch at tcg generation time which variant is valid. Or 
>>> what do you have in mind?
>>
>> Yes, but we'd know at tcg generation time that it *does* fit one of
>> the few patterns you point out.
>>
>> The predicate would be used in e.g. tcg_gen_deposit_i32 to select
>> either INDEX_op_deposit_i32 or the and/shift/and/or fallback.
> 
> I think I'm slowly starting to understand:
> 
> #define TCG_TARGET_HAS_deposit_i32(ofs, len) \
>     (((ofs) == 0 && (len) == 8 && TCG_TARGET_HAS_deposit8l_i32) || \
>      ...)
> 
> defined by the i386 tcg target, right?

Something like that.  Except without the TCG_TARGET_HAS_deposit8l_i32.


r~

Reply via email to