RFR: 8283232: x86: Improve vector broadcast operations [v12]
    Jatin Bhateja 
    jbhateja at openjdk.org
       
    Fri Jul 29 08:27:49 UTC 2022
    
    
  
On Fri, 29 Jul 2022 08:00:21 GMT, Jatin Bhateja <jbhateja at openjdk.org> wrote:
>> src/hotspot/share/opto/machnode.cpp line 478:
>> 
>>> 476:   // Stretching lots of inputs - don't do it.
>>> 477:   // A MachContant has the last input being the constant base
>>> 478:   if (req() > (is_MachConstant() ? 3U : 2U)) {
>> 
>> Earlier some of the nodes like add/sub/mul/divF_imm which were carrying 3 inputs were not getting cloned, now with change we may see them getting rematerialized before uses which may increase code size but of course it will reduced interferences. With earlier cap of 2 only Replicates were passing this check.
>
> Saving a spill at the cost of re-materialization using a comparatively cheaper instruction like add/sub/mul looks better for divD may be costly.
There are other machine nodes which just accept constants as a mode, like vround* and vcompu* nodes which will now qualify for rematerlization leading to emitting high cost instructions.
-------------
PR: https://git.openjdk.org/jdk/pull/7832
    
    
More information about the hotspot-dev
mailing list