summaryrefslogtreecommitdiff
path: root/runtime/class_table.h
diff options
context:
space:
mode:
author Ulya Trafimovich <skvadrik@google.com> 2021-07-12 16:40:16 +0100
committer Ulyana Trafimovich <skvadrik@google.com> 2021-07-14 10:04:35 +0000
commitcd8286f6e69aeeb1abb69b7807effee2f1539508 (patch)
tree35a79e6834359dd8cd50eaa6bd170f8edbd8e8ff /runtime/class_table.h
parent0910d891d729ca984baa31d4e3ed51da8b0cad7d (diff)
x86_64: Implement missing variants of XCHG. Add tests for them.
Also, clean up the handling of a special case when at least one of the operands for XCHG is RAX/EAX/AX. Add a helper function that deduplicates the code for different operand sizes. This patch also extends `EmitOptionalByteRegNormalizingRex32` function to handle the case when an instruction has both operands in byte registers, and so it needs REX prefix if either of them is in a special register (an example of such instruction is `xchg bpl, al`: if only the source register is checked, no REX would be emitted). Previously `EmitOptionalByteRegNormalizingRex32` handled only the case when the source register is special (an example of such instruction is `movzxb rax, bpl`). Bug: 65872996 Test: m test-art-host-gtest Change-Id: I20c5e9375bbd15d799e5748b127d154ddcc0fc11
Diffstat (limited to 'runtime/class_table.h')
0 files changed, 0 insertions, 0 deletions