• Leszek Swirski's avatar
    [maglev] Add more Int32/Float64 arithmetic nodes · 47090774
    Leszek Swirski authored
    Add Int32/Float64 nodes for:
    
      * Subtract
      * Multiply
      * Divide
    
    and additionally Int32 nodes for
    
      * BitwiseOr/And/Xor
      * ShiftLeft/Right/RightLogical
    
    The latter ones don't have Float64 equivalents since they're implicitly
    Int32 operations. In the future we'll add support for Number feedback by
    adding Float64-to-Int32 conversions and using the Int32 nodes.
    
    The divide node does an Int32 division and deopts if there's a remainder
    to the division -- we may want to make it output a Float64 instead if we
    think that's more likely in real-world code. There's also no peephole
    optimisations for constant operations, which would generate much better
    code, especially for shifts.
    
    Bug: v8:7700
    Change-Id: Ief1d24b46557cf4d2b7929ed50956df7b0d25992
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3652301
    Commit-Queue: Leszek Swirski <leszeks@chromium.org>
    Reviewed-by: 's avatarToon Verwaest <verwaest@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#80670}
    47090774
Name
Last commit
Last update
..
DEPS Loading commit data...
OWNERS Loading commit data...
maglev-basic-block.h Loading commit data...
maglev-code-gen-state.h Loading commit data...
maglev-code-generator.cc Loading commit data...
maglev-code-generator.h Loading commit data...
maglev-compilation-info.cc Loading commit data...
maglev-compilation-info.h Loading commit data...
maglev-compilation-unit.cc Loading commit data...
maglev-compilation-unit.h Loading commit data...
maglev-compiler.cc Loading commit data...
maglev-compiler.h Loading commit data...
maglev-concurrent-dispatcher.cc Loading commit data...
maglev-concurrent-dispatcher.h Loading commit data...
maglev-graph-builder.cc Loading commit data...
maglev-graph-builder.h Loading commit data...
maglev-graph-labeller.h Loading commit data...
maglev-graph-printer.cc Loading commit data...
maglev-graph-printer.h Loading commit data...
maglev-graph-processor.h Loading commit data...
maglev-graph-verifier.h Loading commit data...
maglev-graph.h Loading commit data...
maglev-interpreter-frame-state.h Loading commit data...
maglev-ir.cc Loading commit data...
maglev-ir.h Loading commit data...
maglev-regalloc-data.h Loading commit data...
maglev-regalloc.cc Loading commit data...
maglev-regalloc.h Loading commit data...
maglev-register-frame-array.h Loading commit data...
maglev-vreg-allocator.h Loading commit data...
maglev.cc Loading commit data...
maglev.h Loading commit data...