• georgia.kouveli's avatar
    [arm64] Generate adds/ands. · 317dc057
    georgia.kouveli authored
    Perform the following transformation:
    
        | Before           | After               |
        |------------------+---------------------|
        | add w2, w0, w1   | adds w2, w0, w1     |
        | cmp w2, #0x0     | b.<cond'> <addr>    |
        | b.<cond> <addr>  |                     |
        |------------------+---------------------|
        | add w2, w0, w1   | adds w2, w0, w1     |
        | cmp #0x0, w2     | b.<cond'> <addr>    |
        | b.<cond> <addr>  |                     |
    
    and the same for and instructions instead of add.  When the result of the
    add/and is not used, generate cmn/tst instead. We need to take care with which
    conditions we can handle and what new condition we map them to.
    
    BUG=
    
    Review-Url: https://codereview.chromium.org/2065243005
    Cr-Commit-Position: refs/heads/master@{#37400}
    317dc057
Name
Last commit
Last update
..
arm Loading commit data...
arm64 Loading commit data...
ia32 Loading commit data...
mips Loading commit data...
mips64 Loading commit data...
ppc Loading commit data...
s390 Loading commit data...
x64 Loading commit data...
branch-elimination-unittest.cc Loading commit data...
checkpoint-elimination-unittest.cc Loading commit data...
common-operator-reducer-unittest.cc Loading commit data...
common-operator-unittest.cc Loading commit data...
compiler-test-utils.h Loading commit data...
control-equivalence-unittest.cc Loading commit data...
control-flow-optimizer-unittest.cc Loading commit data...
dead-code-elimination-unittest.cc Loading commit data...
diamond-unittest.cc Loading commit data...
effect-control-linearizer-unittest.cc Loading commit data...
escape-analysis-unittest.cc Loading commit data...
graph-reducer-unittest.cc Loading commit data...
graph-reducer-unittest.h Loading commit data...
graph-trimmer-unittest.cc Loading commit data...
graph-unittest.cc Loading commit data...
graph-unittest.h Loading commit data...
instruction-selector-unittest.cc Loading commit data...
instruction-selector-unittest.h Loading commit data...
instruction-sequence-unittest.cc Loading commit data...
instruction-sequence-unittest.h Loading commit data...
int64-lowering-unittest.cc Loading commit data...
js-builtin-reducer-unittest.cc Loading commit data...
js-create-lowering-unittest.cc Loading commit data...
js-intrinsic-lowering-unittest.cc Loading commit data...
js-operator-unittest.cc Loading commit data...
js-type-feedback-unittest.cc Loading commit data...
js-typed-lowering-unittest.cc Loading commit data...
linkage-tail-call-unittest.cc Loading commit data...
live-range-builder.h Loading commit data...
live-range-unittest.cc Loading commit data...
liveness-analyzer-unittest.cc Loading commit data...
load-elimination-unittest.cc Loading commit data...
loop-peeling-unittest.cc Loading commit data...
machine-operator-reducer-unittest.cc Loading commit data...
machine-operator-unittest.cc Loading commit data...
move-optimizer-unittest.cc Loading commit data...
node-cache-unittest.cc Loading commit data...
node-matchers-unittest.cc Loading commit data...
node-properties-unittest.cc Loading commit data...
node-test-utils.cc Loading commit data...
node-test-utils.h Loading commit data...
node-unittest.cc Loading commit data...
opcodes-unittest.cc Loading commit data...
register-allocator-unittest.cc Loading commit data...
schedule-unittest.cc Loading commit data...
scheduler-rpo-unittest.cc Loading commit data...
scheduler-unittest.cc Loading commit data...
simplified-operator-reducer-unittest.cc Loading commit data...
simplified-operator-unittest.cc Loading commit data...
state-values-utils-unittest.cc Loading commit data...
tail-call-optimization-unittest.cc Loading commit data...
typer-unittest.cc Loading commit data...
value-numbering-reducer-unittest.cc Loading commit data...
zone-pool-unittest.cc Loading commit data...