diff options
Diffstat (limited to 'compiler/utils/arm64/assembler_arm64.h')
-rw-r--r-- | compiler/utils/arm64/assembler_arm64.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/compiler/utils/arm64/assembler_arm64.h b/compiler/utils/arm64/assembler_arm64.h index 9e01a70ea9..594c6b4b75 100644 --- a/compiler/utils/arm64/assembler_arm64.h +++ b/compiler/utils/arm64/assembler_arm64.h @@ -25,6 +25,7 @@ #include "base/arena_containers.h" #include "base/macros.h" +#include "dwarf/register.h" #include "offsets.h" #include "utils/arm64/managed_register_arm64.h" #include "utils/assembler.h" @@ -42,6 +43,15 @@ class Arm64InstructionSetFeatures; namespace arm64 { +static inline dwarf::Reg DWARFReg(vixl::aarch64::CPURegister reg) { + if (reg.IsFPRegister()) { + return dwarf::Reg::Arm64Fp(reg.GetCode()); + } else { + DCHECK_LT(reg.GetCode(), 31u); // X0 - X30. + return dwarf::Reg::Arm64Core(reg.GetCode()); + } +} + #define MEM_OP(...) vixl::aarch64::MemOperand(__VA_ARGS__) enum LoadOperandType { |