RFR: 8282162: [vector] Optimize vector negation API [v2]
Xiaohong Gong
xgong at openjdk.java.net
Mon Mar 28 07:49:49 UTC 2022
On Mon, 28 Mar 2022 07:40:48 GMT, Jie Fu <jiefu at openjdk.org> wrote:
>> The compiler can get the real type info from `Op_NegVI` that can also handle the `BYTE ` and `SHORT ` basic type. I just don't want to add more new IRs which also need more match rules in the ad files.
>>
>>> Is there any performance drop for byte/short negation operation if both of them are handled as a NegVI vector?
>>
>> From the benchmark results I showed in the commit message, I didn't see not any performance drop for byte/short. Thanks!
>
>> The compiler can get the real type info from `Op_NegVI` that can also handle the `BYTE ` and `SHORT ` basic type. I just don't want to add more new IRs which also need more match rules in the ad files.
>>
>> > Is there any performance drop for byte/short negation operation if both of them are handled as a NegVI vector?
>>
>> From the benchmark results I showed in the commit message, I didn't see not any performance drop for byte/short. Thanks!
>
> There seems no vectorized negation instructions for {byte, short, int, long} on x86, so this should be fine on x86.
> I tested the patch on x86 and the performance number looks good.
Thanks for doing this! Yeah, I think the performance for masked negation operations might improve on non avx-512 systems.
-------------
PR: https://git.openjdk.java.net/jdk/pull/7782
More information about the hotspot-compiler-dev
mailing list