DescriptionMIPS64: Port `ARM64: [turbofan] Avoid zero-extension after a 32-bit load`
Port f07d2cdd6a3e73f49b7e15976062f6448f70983a
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
Committed: https://crrev.com/4125ba8bbd856ecb0a95476f4a51cf0715d62ac1
Cr-Commit-Position: refs/heads/master@{#40758}
Patch Set 1 #
Messages
Total messages: 11 (6 generated)
|