blob: 5e4406c1fa275a3a3033fa85be38b45740a872da [file] [log] [blame]
//===-- RegisterInfos_x86_64_with_base_shared.h -----------------*- C++ -*-===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//===----------------------------------------------------------------------===//
#include "Plugins/Process/Utility/lldb-x86-register-enums.h"
#include <stdint.h>
#ifndef lldb_RegisterInfos_x86_64_with_base_shared_h
#define lldb_RegisterInfos_x86_64_with_base_shared_h
#include "Plugins/Process/Utility/NativeRegisterContextRegisterInfo.h"
namespace lldb_private {
struct RegisterInfos_x86_64_with_base_shared {
static uint32_t g_contained_eax[];
static uint32_t g_contained_ebx[];
static uint32_t g_contained_ecx[];
static uint32_t g_contained_edx[];
static uint32_t g_contained_edi[];
static uint32_t g_contained_esi[];
static uint32_t g_contained_ebp[];
static uint32_t g_contained_esp[];
static uint32_t g_invalidate_eax[];
static uint32_t g_invalidate_ebx[];
static uint32_t g_invalidate_ecx[];
static uint32_t g_invalidate_edx[];
static uint32_t g_invalidate_edi[];
static uint32_t g_invalidate_esi[];
static uint32_t g_invalidate_ebp[];
static uint32_t g_invalidate_esp[];
static uint32_t g_contained_rax[];
static uint32_t g_contained_rbx[];
static uint32_t g_contained_rcx[];
static uint32_t g_contained_rdx[];
static uint32_t g_contained_rdi[];
static uint32_t g_contained_rsi[];
static uint32_t g_contained_rbp[];
static uint32_t g_contained_rsp[];
static uint32_t g_contained_r8[];
static uint32_t g_contained_r9[];
static uint32_t g_contained_r10[];
static uint32_t g_contained_r11[];
static uint32_t g_contained_r12[];
static uint32_t g_contained_r13[];
static uint32_t g_contained_r14[];
static uint32_t g_contained_r15[];
static uint32_t g_invalidate_rax[];
static uint32_t g_invalidate_rbx[];
static uint32_t g_invalidate_rcx[];
static uint32_t g_invalidate_rdx[];
static uint32_t g_invalidate_rdi[];
static uint32_t g_invalidate_rsi[];
static uint32_t g_invalidate_rbp[];
static uint32_t g_invalidate_rsp[];
static uint32_t g_invalidate_r8[];
static uint32_t g_invalidate_r9[];
static uint32_t g_invalidate_r10[];
static uint32_t g_invalidate_r11[];
static uint32_t g_invalidate_r12[];
static uint32_t g_invalidate_r13[];
static uint32_t g_invalidate_r14[];
static uint32_t g_invalidate_r15[];
static uint32_t g_contained_fip[];
static uint32_t g_contained_fdp[];
static uint32_t g_invalidate_fip[];
static uint32_t g_invalidate_fdp[];
static uint32_t g_contained_st0_32[];
static uint32_t g_contained_st1_32[];
static uint32_t g_contained_st2_32[];
static uint32_t g_contained_st3_32[];
static uint32_t g_contained_st4_32[];
static uint32_t g_contained_st5_32[];
static uint32_t g_contained_st6_32[];
static uint32_t g_contained_st7_32[];
static uint32_t g_invalidate_st0_32[];
static uint32_t g_invalidate_st1_32[];
static uint32_t g_invalidate_st2_32[];
static uint32_t g_invalidate_st3_32[];
static uint32_t g_invalidate_st4_32[];
static uint32_t g_invalidate_st5_32[];
static uint32_t g_invalidate_st6_32[];
static uint32_t g_invalidate_st7_32[];
static uint32_t g_contained_st0_64[];
static uint32_t g_contained_st1_64[];
static uint32_t g_contained_st2_64[];
static uint32_t g_contained_st3_64[];
static uint32_t g_contained_st4_64[];
static uint32_t g_contained_st5_64[];
static uint32_t g_contained_st6_64[];
static uint32_t g_contained_st7_64[];
static uint32_t g_invalidate_st0_64[];
static uint32_t g_invalidate_st1_64[];
static uint32_t g_invalidate_st2_64[];
static uint32_t g_invalidate_st3_64[];
static uint32_t g_invalidate_st4_64[];
static uint32_t g_invalidate_st5_64[];
static uint32_t g_invalidate_st6_64[];
static uint32_t g_invalidate_st7_64[];
};
struct RegInfo {
uint32_t num_registers;
uint32_t num_gpr_registers;
uint32_t num_fpr_registers;
uint32_t num_avx_registers;
uint32_t last_gpr;
uint32_t first_fpr;
uint32_t last_fpr;
uint32_t first_st;
uint32_t last_st;
uint32_t first_mm;
uint32_t last_mm;
uint32_t first_xmm;
uint32_t last_xmm;
uint32_t first_ymm;
uint32_t last_ymm;
uint32_t first_dr;
uint32_t gpr_flags;
};
RegInfo &GetRegInfoShared(llvm::Triple::ArchType arch_type, bool with_base);
} // namespace lldb_private
#endif // ifndef lldb_RegisterInfos_x86_64_with_base_shared_h