v8/test/unittests/compiler
ivica.bogosavljevic 4125ba8bbd MIPS64: Port ARM64: [turbofan] Avoid zero-extension after a 32-bit load
Port f07d2cdd6a

Original commit message:
A load instruction will implicitely clear the top 32 bits when writing to a W
register. This patch avoids generating a `mov` instruction to zero-extend the
result in this case.

For example, this occurs in the generated code for dispatching to the next
bytecode in the interpreter:

  kind = BYTECODE_HANDLER
  name = LdaZero
  compiler = turbofan
  Instructions (size = 36)
  0x32e64c60     0  add x19, x19, #0x1 (1)
  0x32e64c64     4  ldrb w0, [x20, x19]
  0x32e64c68     8  mov w0, w0
                    ^^^^^^^^^^
  0x32e64c6c    12  lsl x0, x0, #3
  0x32e64c70    16  ldr x1, [x21, x0]
  0x32e64c74    20  movz x0, #0x0
  0x32e64c78    24  br x1

Review-Url: https://codereview.chromium.org/2469253002
Cr-Commit-Position: refs/heads/master@{#40758}
2016-11-04 10:51:04 +00:00
..
arm [arm] Improve generation of flag setting instructions. 2016-09-05 16:18:42 +00:00
arm64 [arm64] Check sign with TBZ/TBNZ. 2016-09-22 10:24:57 +00:00
ia32 [turbofan] Remove the FloatXXSubPreserveNan operators. 2016-08-08 12:09:50 +00:00
mips MIPS: Fix compilation failures due to warnings on mips32r1 2016-09-23 13:23:52 +00:00
mips64 MIPS64: Port ARM64: [turbofan] Avoid zero-extension after a 32-bit load 2016-11-04 10:51:04 +00:00
ppc Update PPC OWNERS 2015-07-27 21:37:55 +00:00
s390 S390: Initial test changes and files checkin. 2016-03-15 18:09:36 +00:00
x64 [turbofan][X64] Movzxbl/Movsxbl/Movzxwl/Movsxwl also zero extend to 64bit. 2016-10-18 03:40:37 +00:00
branch-elimination-unittest.cc [turbofan] Support variable size argument removal in TF-generated functions 2016-11-02 13:15:57 +00:00
checkpoint-elimination-unittest.cc [turbofan] Rename {CheckPoint} to {Checkpoint} everywhere. 2016-06-01 09:07:19 +00:00
common-operator-reducer-unittest.cc [turbofan] Support variable size argument removal in TF-generated functions 2016-11-02 13:15:57 +00:00
common-operator-unittest.cc [turbofan] Support variable size argument removal in TF-generated functions 2016-11-02 13:15:57 +00:00
compiler-test-utils.h [turbofan] Drop V8_TURBOFAN_BACKEND and V8_TURBOFAN_TARGET defines. 2015-08-10 07:17:34 +00:00
control-equivalence-unittest.cc Moved zones and zone related stuff in its own directory. 2016-09-20 16:08:07 +00:00
control-flow-optimizer-unittest.cc [turbofan] Move TryCloneBranch in the EffectControlLinearizer pass. 2016-07-12 15:23:36 +00:00
dead-code-elimination-unittest.cc [turbofan] Remove IfExceptionHint from exception projections. 2016-08-02 14:49:10 +00:00
diamond-unittest.cc [turbofan] Make MachineType a pair of enums. 2015-12-10 09:03:53 +00:00
effect-control-linearizer-unittest.cc [turbofan] Support variable size argument removal in TF-generated functions 2016-11-02 13:15:57 +00:00
escape-analysis-unittest.cc [turbofan] Support variable size argument removal in TF-generated functions 2016-11-02 13:15:57 +00:00
graph-reducer-unittest.cc [turbofan] Support variable size argument removal in TF-generated functions 2016-11-02 13:15:57 +00:00
graph-reducer-unittest.h [turbofan] Add AdvancedReducer::ReplaceWithValue() method and convert JSInlining to an AdvancedReducer. 2015-05-12 12:41:36 +00:00
graph-trimmer-unittest.cc [turbofan] Proper dead code elimination as regular reducer. 2015-06-19 12:07:26 +00:00
graph-unittest.cc [turbofan] Assign proper types to Parameter nodes. 2016-11-02 09:34:08 +00:00
graph-unittest.h [turbofan] Enforce native context specialization. 2016-10-10 05:53:51 +00:00
instruction-selector-unittest.cc [turbofan] Support variable size argument removal in TF-generated functions 2016-11-02 13:15:57 +00:00
instruction-selector-unittest.h [turbofan] Add MachineType to LinkageLocation 2016-07-11 10:39:34 +00:00
instruction-sequence-unittest.cc [Turbofan] Add concept of FP register aliasing on ARM 32. 2016-10-26 16:04:33 +00:00
instruction-sequence-unittest.h [Turbofan] Add concept of FP register aliasing on ARM 32. 2016-10-26 16:04:33 +00:00
instruction-unittest.cc [Turbofan] Add concept of FP register aliasing on ARM 32. 2016-10-26 16:04:33 +00:00
int64-lowering-unittest.cc [turbofan] Support variable size argument removal in TF-generated functions 2016-11-02 13:15:57 +00:00
js-builtin-reducer-unittest.cc [compiler] Delete extra map check. 2016-11-03 21:25:59 +00:00
js-create-lowering-unittest.cc [turbofan] Enforce native context specialization. 2016-10-10 05:53:51 +00:00
js-intrinsic-lowering-unittest.cc [turbofan] Avoid introducing machine operators during typed lowering. 2016-07-25 10:38:00 +00:00
js-operator-unittest.cc Store the ScopeInfo in WithContexts 2016-09-06 08:27:52 +00:00
js-typed-lowering-unittest.cc [turbofan] Remove unsafe JSToBoolean lowering. 2016-09-27 13:55:25 +00:00
linkage-tail-call-unittest.cc Fix compilation failure when v8 compiled with GCC 5.x due to -Werror=unused-variable 2016-08-05 12:56:40 +00:00
live-range-builder.h [turbofan] Make MachineType a pair of enums. 2015-12-10 09:03:53 +00:00
live-range-unittest.cc [turbofan] Make MachineType a pair of enums. 2015-12-10 09:03:53 +00:00
liveness-analyzer-unittest.cc [ignition/turbo] Add liveness analysis for the accumulator 2016-10-17 11:48:04 +00:00
load-elimination-unittest.cc [turbofan] Properly look through FinishRegion in alias analysis. 2016-09-01 10:50:27 +00:00
loop-peeling-unittest.cc [turbofan] Support variable size argument removal in TF-generated functions 2016-11-02 13:15:57 +00:00
machine-operator-reducer-unittest.cc [turbofan] Reduces x << y ^ x >>> (32 - y) to x ror (32 - y). 2016-09-27 10:15:44 +00:00
machine-operator-unittest.cc [turbofan] Make Float32Neg and Float64Neg mandatory operators. 2016-08-05 18:52:05 +00:00
move-optimizer-unittest.cc [Turbofan] Add concept of FP register aliasing on ARM 32. 2016-10-26 16:04:33 +00:00
node-cache-unittest.cc [test] Turn compiler/test-node-cache into a unit test. 2015-04-29 14:40:05 +00:00
node-matchers-unittest.cc [turbofan] Support subtraction displacements in BaseWithIndexAndDisplacementMatcher 2016-07-13 08:03:38 +00:00
node-properties-unittest.cc [turbofan] Remove IfExceptionHint from exception projections. 2016-08-02 14:49:10 +00:00
node-test-utils.cc [turbofan] Support variable size argument removal in TF-generated functions 2016-11-02 13:15:57 +00:00
node-test-utils.h [turbofan] Introduces the BitcastWordToTaggedSigned and BitcastTaggedToWord opcodes. 2016-09-27 10:26:24 +00:00
node-unittest.cc [turbofan] Speed up structural graph verification. 2016-07-12 09:31:12 +00:00
opcodes-unittest.cc [unittests] Reduce compilation overhead of opcodes-unittest.cc. 2016-09-13 05:16:18 +00:00
register-allocator-unittest.cc [Turbofan] Add concept of FP register aliasing on ARM 32. 2016-10-26 16:04:33 +00:00
schedule-unittest.cc Model exceptional edges from call nodes in TurboFan. 2015-02-20 09:55:00 +00:00
scheduler-rpo-unittest.cc Replace SmartPointer<T> with unique_ptr<T> 2016-07-25 11:14:34 +00:00
scheduler-unittest.cc [turbofan] Support variable size argument removal in TF-generated functions 2016-11-02 13:15:57 +00:00
simplified-operator-reducer-unittest.cc [turbofan] ChangeFloat64ToTagged shouldn't canonicalize. 2016-09-28 06:07:57 +00:00
simplified-operator-unittest.cc [turbofan] Introduce TruncateTaggedToBit operator for ToBoolean truncation. 2016-09-14 13:12:28 +00:00
state-values-utils-unittest.cc [turbofan] Move SimplifiedOperatorBuilder into JSGraph. 2015-10-16 12:38:52 +00:00
tail-call-optimization-unittest.cc [turbofan] Support variable size argument removal in TF-generated functions 2016-11-02 13:15:57 +00:00
typed-optimization-unittest.cc [Turbofan] Introduce OtherNumberConstant. 2016-10-06 14:13:53 +00:00
typer-unittest.cc [Turbofan] Introduce OtherNumberConstant. 2016-10-06 14:13:53 +00:00
value-numbering-reducer-unittest.cc [turbofan] Make sure value numbering only narrows types. 2016-07-14 08:10:21 +00:00
zone-stats-unittest.cc Named all zones in the project 2016-10-17 12:12:42 +00:00