1226584Sdim//===-- PPCFixupKinds.h - PPC Specific Fixup Entries ------------*- C++ -*-===//
2226584Sdim//
3226584Sdim//                     The LLVM Compiler Infrastructure
4226584Sdim//
5226584Sdim// This file is distributed under the University of Illinois Open Source
6226584Sdim// License. See LICENSE.TXT for details.
7226584Sdim//
8226584Sdim//===----------------------------------------------------------------------===//
9226584Sdim
10226584Sdim#ifndef LLVM_PPC_PPCFIXUPKINDS_H
11226584Sdim#define LLVM_PPC_PPCFIXUPKINDS_H
12226584Sdim
13226584Sdim#include "llvm/MC/MCFixup.h"
14226584Sdim
15249423Sdim#undef PPC
16249423Sdim
17226584Sdimnamespace llvm {
18226584Sdimnamespace PPC {
19226584Sdimenum Fixups {
20226584Sdim  // fixup_ppc_br24 - 24-bit PC relative relocation for direct branches like 'b'
21226584Sdim  // and 'bl'.
22226584Sdim  fixup_ppc_br24 = FirstTargetFixupKind,
23226584Sdim
24226584Sdim  /// fixup_ppc_brcond14 - 14-bit PC relative relocation for conditional
25226584Sdim  /// branches.
26226584Sdim  fixup_ppc_brcond14,
27226584Sdim
28226584Sdim  /// fixup_ppc_lo16 - A 16-bit fixup corresponding to lo16(_foo) for instrs
29226584Sdim  /// like 'li'.
30226584Sdim  fixup_ppc_lo16,
31226584Sdim
32226584Sdim  /// fixup_ppc_ha16 - A 16-bit fixup corresponding to ha16(_foo) for instrs
33226584Sdim  /// like 'lis'.
34226584Sdim  fixup_ppc_ha16,
35226584Sdim
36249423Sdim  /// fixup_ppc_lo16_ds - A 14-bit fixup corresponding to lo16(_foo) with
37249423Sdim  /// implied 2 zero bits for instrs like 'std'.
38249423Sdim  fixup_ppc_lo16_ds,
39243830Sdim
40249423Sdim  /// fixup_ppc_tlsreg - Insert thread-pointer register number.
41249423Sdim  fixup_ppc_tlsreg,
42243830Sdim
43249423Sdim  /// fixup_ppc_nofixup - Not a true fixup, but ties a symbol to a call
44249423Sdim  /// to __tls_get_addr for the TLS general and local dynamic models.
45249423Sdim  fixup_ppc_nofixup,
46226584Sdim
47226584Sdim  // Marker
48226584Sdim  LastTargetFixupKind,
49226584Sdim  NumTargetFixupKinds = LastTargetFixupKind - FirstTargetFixupKind
50226584Sdim};
51226584Sdim}
52226584Sdim}
53226584Sdim
54226584Sdim#endif
55