• bjaideep's avatar
    PPC: [turbofan] Introduce TruncateTaggedToWord32 simplified operator. · ff243a95
    bjaideep authored
    Port 0231a7ef
    
    Original commit message:
    
        This allows us to get rid of the "push TruncateFloat64ToInt32 into Phi"
        trick that was used in the MachineOperatorReducer to combine the
        ChangeTaggedToFloat64 and TruncateFloat64ToInt32 operations. Instead of
        doing that later, we can just introduce the proper operator during the
        representation selection directly.
    
        Also separate the TruncateFloat64ToInt32 machine operator, which had two
        different meanings depending on a flag (either JavaScript truncation or
        C++ style round to zero). Now there's a TruncateFloat64ToWord32 which
        represents the JavaScript truncation (implemented via TruncateDoubleToI
        macro + code stub) and the RoundFloat64ToInt32, which implements the C++
        round towards zero operation (in the same style as the other WebAssembly
        driven Round* machine operators).
    
    R=bmeurer@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com, mbrandy@us.ibm.com
    
    BUG=
    LOG=N
    
    Review URL: https://codereview.chromium.org/1921733003
    
    Cr-Commit-Position: refs/heads/master@{#35771}
    ff243a95
instruction-selector-ppc.cc 61 KB