SparcFixupKinds.h revision 285830
1255130Srpaulo//===-- SparcFixupKinds.h - Sparc Specific Fixup Entries --------*- C++ -*-===//
2255130Srpaulo//
3255130Srpaulo//                     The LLVM Compiler Infrastructure
4255130Srpaulo//
5255130Srpaulo// This file is distributed under the University of Illinois Open Source
6255130Srpaulo// License. See LICENSE.TXT for details.
7255130Srpaulo//
8255130Srpaulo//===----------------------------------------------------------------------===//
9255130Srpaulo
10255130Srpaulo#ifndef LLVM_SPARC_FIXUPKINDS_H
11255130Srpaulo#define LLVM_SPARC_FIXUPKINDS_H
12255130Srpaulo
13255130Srpaulo#include "llvm/MC/MCFixup.h"
14255130Srpaulo
15255130Srpaulonamespace llvm {
16255130Srpaulo  namespace Sparc {
17255130Srpaulo    enum Fixups {
18255130Srpaulo      // fixup_sparc_call30 - 30-bit PC relative relocation for call
19255130Srpaulo      fixup_sparc_call30 = FirstTargetFixupKind,
20255130Srpaulo
21255130Srpaulo      /// fixup_sparc_br22 - 22-bit PC relative relocation for
22255130Srpaulo      /// branches
23255130Srpaulo      fixup_sparc_br22,
24255130Srpaulo
25255130Srpaulo      /// fixup_sparc_br19 - 19-bit PC relative relocation for
26255130Srpaulo      /// branches on icc/xcc
27255130Srpaulo      fixup_sparc_br19,
28255130Srpaulo
29255130Srpaulo      /// fixup_sparc_hi22  - 22-bit fixup corresponding to %hi(foo)
30255130Srpaulo      /// for sethi
31255130Srpaulo      fixup_sparc_hi22,
32255130Srpaulo
33255130Srpaulo      /// fixup_sparc_lo10  - 10-bit fixup corresponding to %lo(foo)
34255130Srpaulo      fixup_sparc_lo10,
35255130Srpaulo
36255130Srpaulo      /// fixup_sparc_h44  - 22-bit fixup corresponding to %h44(foo)
37255130Srpaulo      fixup_sparc_h44,
38255130Srpaulo
39255130Srpaulo      /// fixup_sparc_m44  - 10-bit fixup corresponding to %m44(foo)
40255130Srpaulo      fixup_sparc_m44,
41255130Srpaulo
42255130Srpaulo      /// fixup_sparc_l44  - 12-bit fixup corresponding to %l44(foo)
43255130Srpaulo      fixup_sparc_l44,
44255130Srpaulo
45255130Srpaulo      /// fixup_sparc_hh  -  22-bit fixup corresponding to %hh(foo)
46255130Srpaulo      fixup_sparc_hh,
47255130Srpaulo
48255130Srpaulo      /// fixup_sparc_hm  -  10-bit fixup corresponding to %hm(foo)
49255130Srpaulo      fixup_sparc_hm,
50255130Srpaulo
51255130Srpaulo      /// fixup_sparc_pc22 - 22-bit fixup corresponding to %pc22(foo)
52255130Srpaulo      fixup_sparc_pc22,
53255130Srpaulo
54255130Srpaulo      /// fixup_sparc_pc10 - 10-bit fixup corresponding to %pc10(foo)
55255130Srpaulo      fixup_sparc_pc10,
56255130Srpaulo
57255130Srpaulo      /// fixup_sparc_got22 - 22-bit fixup corresponding to %got22(foo)
58255130Srpaulo      fixup_sparc_got22,
59255130Srpaulo
60255130Srpaulo      /// fixup_sparc_got10 - 10-bit fixup corresponding to %got10(foo)
61255130Srpaulo      fixup_sparc_got10,
62255130Srpaulo
63255130Srpaulo      /// fixup_sparc_wplt30
64255130Srpaulo      fixup_sparc_wplt30,
65255130Srpaulo
66255130Srpaulo      /// fixups for Thread Local Storage
67255130Srpaulo      fixup_sparc_tls_gd_hi22,
68255130Srpaulo      fixup_sparc_tls_gd_lo10,
69255130Srpaulo      fixup_sparc_tls_gd_add,
70255130Srpaulo      fixup_sparc_tls_gd_call,
71255130Srpaulo      fixup_sparc_tls_ldm_hi22,
72255130Srpaulo      fixup_sparc_tls_ldm_lo10,
73256804Sian      fixup_sparc_tls_ldm_add,
74255130Srpaulo      fixup_sparc_tls_ldm_call,
75256804Sian      fixup_sparc_tls_ldo_hix22,
76255130Srpaulo      fixup_sparc_tls_ldo_lox10,
77255130Srpaulo      fixup_sparc_tls_ldo_add,
78255130Srpaulo      fixup_sparc_tls_ie_hi22,
79255130Srpaulo      fixup_sparc_tls_ie_lo10,
80255130Srpaulo      fixup_sparc_tls_ie_ld,
81255130Srpaulo      fixup_sparc_tls_ie_ldx,
82255130Srpaulo      fixup_sparc_tls_ie_add,
83255130Srpaulo      fixup_sparc_tls_le_hix22,
84255130Srpaulo      fixup_sparc_tls_le_lox10,
85255130Srpaulo
86255130Srpaulo      // Marker
87255130Srpaulo      LastTargetFixupKind,
88255130Srpaulo      NumTargetFixupKinds = LastTargetFixupKind - FirstTargetFixupKind
89255130Srpaulo    };
90255130Srpaulo  }
91255130Srpaulo}
92255130Srpaulo
93257393Sian#endif
94257393Sian