v8/test/unittests/compiler
Ng Zhi An 71df28cb63 [x64] Optimize F64x2PromoteLowF32x4 with S128Load64Zero
When the input to F64x2PromoteLowF32x4 is a S128Load64Zero, we can skip
the load + promote, and promote directly with a memory operand. The
tricky bit here is that on systems that rely on OOB trap handling, the
load is not eliminatable, so we always visit the S128Load64Zero, even
though after instruction-selector pattern-matching, it is unused. We
mark it as defined to skip visiting it, only if we matched it.

Bug: v8:12189
Change-Id: I0a805a3fce65c56ec52082b3625e1712ea1ee7cf
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3154347
Reviewed-by: Georg Neis <neis@chromium.org>
Reviewed-by: Deepti Gandluri <gdeepti@chromium.org>
Commit-Queue: Zhi An Ng <zhin@chromium.org>
Cr-Commit-Position: refs/heads/main@{#76917}
2021-09-17 16:52:23 +00:00
..
arm [wasm-simd][arm] Fuse extadd_pairwise and add SIMD on arm. 2021-06-28 14:26:00 +00:00
arm64 Revert "[arm64][wasm-simd] Use Cm(0) for integer comparison with 0" 2021-09-15 16:06:43 +00:00
backend [regalloc] Fix S128 slot interference check 2021-09-17 12:54:10 +00:00
ia32 [ia32] Use AVX for some Float ops if supported 2021-09-09 17:15:54 +00:00
loong64 [LOONG64] Add LoongArch64 backend 2021-08-16 13:05:19 +00:00
mips
mips64
ppc PPC: remove unused OWNERS files 2021-05-12 16:44:03 +00:00
regalloc [Turboprop] Ensure constant operands are only used when allowed. 2021-02-12 20:40:36 +00:00
riscv64 [ptr-compr][riscv64] Implement pointer compression 2021-05-28 10:06:15 +00:00
s390
x64 [x64] Optimize F64x2PromoteLowF32x4 with S128Load64Zero 2021-09-17 16:52:23 +00:00
branch-elimination-unittest.cc
bytecode-analysis-unittest.cc [cleanup] Replace redundant BytecodeArrayIterator class 2021-02-24 13:54:53 +00:00
checkpoint-elimination-unittest.cc
common-operator-reducer-unittest.cc
common-operator-unittest.cc
compiler-test-utils.h
constant-folding-reducer-unittest.cc
control-equivalence-unittest.cc
control-flow-optimizer-unittest.cc
csa-load-elimination-unittest.cc [turbofan] Fix CsaLoadElimination for small types 2021-03-11 11:09:06 +00:00
dead-code-elimination-unittest.cc [compiler] Remove most instances of DisallowHeapAccessIf scope 2021-06-25 08:52:24 +00:00
decompression-optimizer-unittest.cc
diamond-unittest.cc
effect-control-linearizer-unittest.cc [Compiler] Remove untrusted code mitigations. 2021-08-12 12:58:24 +00:00
frame-unittest.cc Reland "Reland "Reland "[compiler][wasm] Align Frame slots to value size""" 2021-03-05 19:49:19 +00:00
graph-reducer-unittest.cc
graph-reducer-unittest.h
graph-trimmer-unittest.cc
graph-unittest.cc [frames] Add UnoptimizedFrame 2021-02-15 14:35:04 +00:00
graph-unittest.h
int64-lowering-unittest.cc [turbofan] Disallow floating control in wasm 2021-05-12 15:26:33 +00:00
js-call-reducer-unittest.cc [compiler] Make JSFunction bg-serialized 2021-07-19 13:47:16 +00:00
js-create-lowering-unittest.cc [compiler] Change all JS operators to hold TinyRefs instead of handles 2021-08-05 12:32:38 +00:00
js-intrinsic-lowering-unittest.cc [interpreter] Remove unused interpreter intrinsics 2021-06-17 13:43:41 +00:00
js-native-context-specialization-unittest.cc [TurboFan] Fix max double string length in JSNativeContextSpecialization 2021-04-21 13:29:50 +00:00
js-operator-unittest.cc
js-typed-lowering-unittest.cc [compiler] Change all JS operators to hold TinyRefs instead of handles 2021-08-05 12:32:38 +00:00
linkage-tail-call-unittest.cc Add comments to undocumented functions and fix other comments 2021-06-30 18:57:07 +00:00
load-elimination-unittest.cc
loop-peeling-unittest.cc
machine-operator-reducer-unittest.cc [wasm] Optimize when Select's cond is a constant 2021-08-27 16:22:59 +00:00
machine-operator-unittest.cc [turbofan] Disallow floating control in wasm 2021-05-12 15:26:33 +00:00
node-cache-unittest.cc
node-matchers-unittest.cc
node-properties-unittest.cc
node-test-utils.cc [Compiler] Remove untrusted code mitigations. 2021-08-12 12:58:24 +00:00
node-test-utils.h [Compiler] Remove untrusted code mitigations. 2021-08-12 12:58:24 +00:00
node-unittest.cc
opcodes-unittest.cc
persistent-unittest.cc
redundancy-elimination-unittest.cc [runtime] Rename Builtins::Name to Builtin 1/2 2021-06-07 20:05:44 +00:00
schedule-unittest.cc
scheduler-rpo-unittest.cc
scheduler-unittest.cc
simplified-lowering-unittest.cc [Compiler] Remove untrusted code mitigations. 2021-08-12 12:58:24 +00:00
simplified-operator-reducer-unittest.cc
simplified-operator-unittest.cc
state-values-utils-unittest.cc
typed-optimization-unittest.cc
typer-unittest.cc
value-numbering-reducer-unittest.cc
zone-stats-unittest.cc