RFR: 8286972: Support the new loop induction variable related PopulateIndex IR node on x86 [v3]
Jatin Bhateja
jbhateja at openjdk.java.net
Fri May 20 06:07:46 UTC 2022
On Fri, 20 May 2022 05:10:59 GMT, Sandhya Viswanathan <sviswanathan at openjdk.org> wrote:
>> src/hotspot/cpu/x86/c2_MacroAssembler_x86.cpp line 2311:
>>
>>> 2309: case T_SHORT: evpbroadcastw(dst, src, vlen_enc); return;
>>> 2310: case T_FLOAT: case T_INT: evpbroadcastd(dst, src, vlen_enc); return;
>>> 2311: case T_DOUBLE: case T_LONG: evpbroadcastq(dst, src, vlen_enc); return;
>>
>> Can't we use single and double precision broadcasts for floating point types, like you have done in else part
>> It may save domain switch over penalty (Section 3.5.2.2 Bypass between Execution Domains, Intel® 64 and IA-32 Architectures Optimization Reference Manual)
>
> The floating point broadcast doesn't take the gpr as second source.
A prior move as in else part may be emitted for consistency or you want to keep floating point broadcasts only for else part.
-------------
PR: https://git.openjdk.java.net/jdk/pull/8778
More information about the hotspot-compiler-dev
mailing list