[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [qemu-s390x] [Qemu-devel] [PATCH v1 1/5] s390x/tcg: Implement VECTOR
From: |
David Hildenbrand |
Subject: |
Re: [qemu-s390x] [Qemu-devel] [PATCH v1 1/5] s390x/tcg: Implement VECTOR FIND ANY ELEMENT EQUAL |
Date: |
Wed, 22 May 2019 13:16:49 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.6.1 |
On 22.05.19 13:09, Richard Henderson wrote:
> On 5/22/19 7:01 AM, David Hildenbrand wrote:
>>
>>> I also think that, if we create a bunch more of these wrappers:
>>>
>>>> +DEF_VFAE_HELPER(8)
>>>> +DEF_VFAE_HELPER(16)
>>>> +DEF_VFAE_HELPER(32)
>>>
>>> then RT and ZS can be passed in as constant parameters to the above, and
>>> then
>>> the compiler will fold away all of the stuff that's not needed for each
>>> different case. Which, I think, is significant. These are practically
>>> different instructions with the different modifiers.
>>>
>>
>> So, we have 4 flags, resulting in 16 variants. Times 3 element sizes ...
>> 48 helpers in total. Do we really want to go down that path?
>
> Maybe?
Hope my fingers won't bleed from all the copy-pasting ;)
>
>> I can also go ahead any try to identify the most frequent users (in
>> Linux) and only specialize that one.
>
> Also plausible. I guess it would be good to know, anyway.
I'll dump the parameters when booting Linux. My gut feeling is that the
cc option is basically never used ...
>
> I think RT probably makes the largest difference to the layout of the
> function,
Yes. I think the RT and ZS make the biggest difference. IN - not really
that heavy.
Maybe use different variants for RT and ZS for the !CC casen only.
> so maybe that's the one we pick. We could also leave our options open and
> make
> the 3 non-CC flags be parameters to the inline function, just extract them
> from
> the M4 parameter at the one higher level.
That one, I have already done :)
--
Thanks,
David / dhildenb
- [qemu-s390x] [PATCH v1 0/5] s390x/tcg: Vector Instruction Support Part 3, David Hildenbrand, 2019/05/15
- [qemu-s390x] [PATCH v1 1/5] s390x/tcg: Implement VECTOR FIND ANY ELEMENT EQUAL, David Hildenbrand, 2019/05/15
- Re: [qemu-s390x] [Qemu-devel] [PATCH v1 1/5] s390x/tcg: Implement VECTOR FIND ANY ELEMENT EQUAL, Richard Henderson, 2019/05/17
- Re: [qemu-s390x] [Qemu-devel] [PATCH v1 1/5] s390x/tcg: Implement VECTOR FIND ANY ELEMENT EQUAL, David Hildenbrand, 2019/05/20
- Re: [qemu-s390x] [Qemu-devel] [PATCH v1 1/5] s390x/tcg: Implement VECTOR FIND ANY ELEMENT EQUAL, David Hildenbrand, 2019/05/22
- Re: [qemu-s390x] [Qemu-devel] [PATCH v1 1/5] s390x/tcg: Implement VECTOR FIND ANY ELEMENT EQUAL, Richard Henderson, 2019/05/22
- Re: [qemu-s390x] [Qemu-devel] [PATCH v1 1/5] s390x/tcg: Implement VECTOR FIND ANY ELEMENT EQUAL,
David Hildenbrand <=
- Re: [qemu-s390x] [Qemu-devel] [PATCH v1 1/5] s390x/tcg: Implement VECTOR FIND ANY ELEMENT EQUAL, Richard Henderson, 2019/05/22
- Re: [qemu-s390x] [Qemu-devel] [PATCH v1 1/5] s390x/tcg: Implement VECTOR FIND ANY ELEMENT EQUAL, David Hildenbrand, 2019/05/22
- Re: [qemu-s390x] [Qemu-devel] [PATCH v1 1/5] s390x/tcg: Implement VECTOR FIND ANY ELEMENT EQUAL, Richard Henderson, 2019/05/22
- Re: [qemu-s390x] [Qemu-devel] [PATCH v1 1/5] s390x/tcg: Implement VECTOR FIND ANY ELEMENT EQUAL, David Hildenbrand, 2019/05/23
- Re: [qemu-s390x] [Qemu-devel] [PATCH v1 1/5] s390x/tcg: Implement VECTOR FIND ANY ELEMENT EQUAL, Richard Henderson, 2019/05/23
- Re: [qemu-s390x] [Qemu-devel] [PATCH v1 1/5] s390x/tcg: Implement VECTOR FIND ANY ELEMENT EQUAL, David Hildenbrand, 2019/05/23
- Re: [qemu-s390x] [Qemu-devel] [PATCH v1 1/5] s390x/tcg: Implement VECTOR FIND ANY ELEMENT EQUAL, David Hildenbrand, 2019/05/23
- Re: [qemu-s390x] [Qemu-devel] [PATCH v1 1/5] s390x/tcg: Implement VECTOR FIND ANY ELEMENT EQUAL, Richard Henderson, 2019/05/23
- Re: [qemu-s390x] [Qemu-devel] [PATCH v1 1/5] s390x/tcg: Implement VECTOR FIND ANY ELEMENT EQUAL, Alex Bennée, 2019/05/23
[qemu-s390x] [PATCH v1 2/5] s390x/tcg: Implement VECTOR FIND ELEMENT EQUAL, David Hildenbrand, 2019/05/15