llvm-6502/lib/Target/AArch64/MCTargetDesc/AArch64FixupKinds.h
Tim Northover 29f94c7201 AArch64/ARM64: move ARM64 into AArch64's place
This commit starts with a "git mv ARM64 AArch64" and continues out
from there, renaming the C++ classes, intrinsics, and other
target-local objects for consistency.

"ARM64" test directories are also moved, and tests that began their
life in ARM64 use an arm64 triple, those from AArch64 use an aarch64
triple. Both should be equivalent though.

This finishes the AArch64 merge, and everyone should feel free to
continue committing as normal now.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@209577 91177308-0d34-0410-b5e6-96231b3b80d8
2014-05-24 12:50:23 +00:00

77 lines
2.5 KiB
C++

//===-- AArch64FixupKinds.h - AArch64 Specific Fixup Entries ----*- C++ -*-===//
//
// The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
#ifndef LLVM_AArch64FIXUPKINDS_H
#define LLVM_AArch64FIXUPKINDS_H
#include "llvm/MC/MCFixup.h"
namespace llvm {
namespace AArch64 {
enum Fixups {
// fixup_aarch64_pcrel_adr_imm21 - A 21-bit pc-relative immediate inserted into
// an ADR instruction.
fixup_aarch64_pcrel_adr_imm21 = FirstTargetFixupKind,
// fixup_aarch64_pcrel_adrp_imm21 - A 21-bit pc-relative immediate inserted into
// an ADRP instruction.
fixup_aarch64_pcrel_adrp_imm21,
// fixup_aarch64_imm12 - 12-bit fixup for add/sub instructions.
// No alignment adjustment. All value bits are encoded.
fixup_aarch64_add_imm12,
// fixup_aarch64_ldst_imm12_* - unsigned 12-bit fixups for load and
// store instructions.
fixup_aarch64_ldst_imm12_scale1,
fixup_aarch64_ldst_imm12_scale2,
fixup_aarch64_ldst_imm12_scale4,
fixup_aarch64_ldst_imm12_scale8,
fixup_aarch64_ldst_imm12_scale16,
// fixup_aarch64_ldr_pcrel_imm19 - The high 19 bits of a 21-bit pc-relative
// immediate. Same encoding as fixup_aarch64_pcrel_adrhi, except this is used by
// pc-relative loads and generates relocations directly when necessary.
fixup_aarch64_ldr_pcrel_imm19,
// FIXME: comment
fixup_aarch64_movw,
// fixup_aarch64_pcrel_imm14 - The high 14 bits of a 21-bit pc-relative
// immediate.
fixup_aarch64_pcrel_branch14,
// fixup_aarch64_pcrel_branch19 - The high 19 bits of a 21-bit pc-relative
// immediate. Same encoding as fixup_aarch64_pcrel_adrhi, except this is use by
// b.cc and generates relocations directly when necessary.
fixup_aarch64_pcrel_branch19,
// fixup_aarch64_pcrel_branch26 - The high 26 bits of a 28-bit pc-relative
// immediate.
fixup_aarch64_pcrel_branch26,
// fixup_aarch64_pcrel_call26 - The high 26 bits of a 28-bit pc-relative
// immediate. Distinguished from branch26 only on ELF.
fixup_aarch64_pcrel_call26,
// fixup_aarch64_tlsdesc_call - zero-space placeholder for the ELF
// R_AARCH64_TLSDESC_CALL relocation.
fixup_aarch64_tlsdesc_call,
// Marker
LastTargetFixupKind,
NumTargetFixupKinds = LastTargetFixupKind - FirstTargetFixupKind
};
} // end namespace AArch64
} // end namespace llvm
#endif