RFR: 8320347: Emulate vblendvp[sd] on ECore [v2]

Volodymyr Paprotski duke at openjdk.org
Tue Nov 21 19:35:09 UTC 2023


On Tue, 21 Nov 2023 17:17:10 GMT, Jatin Bhateja <jbhateja at openjdk.org> wrote:

>> Volodymyr Paprotski has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains three additional commits since the last revision:
>> 
>>  - Merge remote-tracking branch 'jdk/master' into vp-ecore2
>>  - review comments
>>  - emulate vblend on ecores
>
> src/hotspot/cpu/x86/c2_MacroAssembler_x86.cpp line 1112:
> 
>> 1110:   void (MacroAssembler::*vblend)(XMMRegister, XMMRegister, XMMRegister, XMMRegister, int, bool, XMMRegister);
>> 1111:   void (MacroAssembler::*vmaxmin)(XMMRegister, XMMRegister, XMMRegister, int);
>> 1112:   void (MacroAssembler::*vcmp)(XMMRegister, XMMRegister, XMMRegister, int, int);
> 
> We do support C++11 dialect, you can use following declarations.
> using vblend = void (*) (XMMRegister, XMMRegister, XMMRegister, XMMRegister, int, bool, XMMRegister);

Its a member-function pointer, not a regular function pointer.. but `using` function pointer declaration is definitely an improvement I wasn't aware of. Trying to find chapter-and-verse in C++ spec on declaration of member-function pointers and their use with `using`. Will fix.

-------------

PR Review Comment: https://git.openjdk.org/jdk/pull/16716#discussion_r1401074293


More information about the hotspot-compiler-dev mailing list