RFR: 8262355: Support for AVX-512 opmask register allocation. [v8]
Jatin Bhateja
jbhateja at openjdk.java.net
Tue Mar 16 19:27:11 UTC 2021
On Tue, 16 Mar 2021 13:01:02 GMT, Vladimir Ivanov <vlivanov at openjdk.org> wrote:
>> Jatin Bhateja has updated the pull request incrementally with one additional commit since the last revision:
>>
>> 8262355: Removing object re-materialization handling for mask-generating nodes during de-opt, it will be added separately.
>
> src/hotspot/cpu/x86/x86.ad line 2623:
>
>> 2621: // =================================EVEX special===============================
>> 2622:
>> 2623: instruct setMask(rRegI dst, rRegI src, kReg_K1 mask) %{
>
> Why can't other instructions destroy `k1` by getting `k1` assigned as a temp? Currenlty, `kReg` includes the whole range of k-registers (k0-k7).
I think post-loop vectorization handling currently expects mask to be present in K1, I just pulled it out till the instruction level, RA allocates opmask registers in reverse order i.e. K7-K1, thus temps should all be allocated K7 registers first.
-------------
PR: https://git.openjdk.java.net/jdk/pull/2768
More information about the hotspot-compiler-dev
mailing list