xref: /aosp_15_r20/external/llvm/lib/Target/Sparc/MCTargetDesc/SparcFixupKinds.h (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker //===-- SparcFixupKinds.h - Sparc Specific Fixup Entries --------*- C++ -*-===//
2*9880d681SAndroid Build Coastguard Worker //
3*9880d681SAndroid Build Coastguard Worker //                     The LLVM Compiler Infrastructure
4*9880d681SAndroid Build Coastguard Worker //
5*9880d681SAndroid Build Coastguard Worker // This file is distributed under the University of Illinois Open Source
6*9880d681SAndroid Build Coastguard Worker // License. See LICENSE.TXT for details.
7*9880d681SAndroid Build Coastguard Worker //
8*9880d681SAndroid Build Coastguard Worker //===----------------------------------------------------------------------===//
9*9880d681SAndroid Build Coastguard Worker 
10*9880d681SAndroid Build Coastguard Worker #ifndef LLVM_LIB_TARGET_SPARC_MCTARGETDESC_SPARCFIXUPKINDS_H
11*9880d681SAndroid Build Coastguard Worker #define LLVM_LIB_TARGET_SPARC_MCTARGETDESC_SPARCFIXUPKINDS_H
12*9880d681SAndroid Build Coastguard Worker 
13*9880d681SAndroid Build Coastguard Worker #include "llvm/MC/MCFixup.h"
14*9880d681SAndroid Build Coastguard Worker 
15*9880d681SAndroid Build Coastguard Worker namespace llvm {
16*9880d681SAndroid Build Coastguard Worker   namespace Sparc {
17*9880d681SAndroid Build Coastguard Worker     enum Fixups {
18*9880d681SAndroid Build Coastguard Worker       // fixup_sparc_call30 - 30-bit PC relative relocation for call
19*9880d681SAndroid Build Coastguard Worker       fixup_sparc_call30 = FirstTargetFixupKind,
20*9880d681SAndroid Build Coastguard Worker 
21*9880d681SAndroid Build Coastguard Worker       /// fixup_sparc_br22 - 22-bit PC relative relocation for
22*9880d681SAndroid Build Coastguard Worker       /// branches
23*9880d681SAndroid Build Coastguard Worker       fixup_sparc_br22,
24*9880d681SAndroid Build Coastguard Worker 
25*9880d681SAndroid Build Coastguard Worker       /// fixup_sparc_br19 - 19-bit PC relative relocation for
26*9880d681SAndroid Build Coastguard Worker       /// branches on icc/xcc
27*9880d681SAndroid Build Coastguard Worker       fixup_sparc_br19,
28*9880d681SAndroid Build Coastguard Worker 
29*9880d681SAndroid Build Coastguard Worker       /// fixup_sparc_bpr  - 16-bit fixup for bpr
30*9880d681SAndroid Build Coastguard Worker       fixup_sparc_br16_2,
31*9880d681SAndroid Build Coastguard Worker       fixup_sparc_br16_14,
32*9880d681SAndroid Build Coastguard Worker 
33*9880d681SAndroid Build Coastguard Worker       /// fixup_sparc_hi22  - 22-bit fixup corresponding to %hi(foo)
34*9880d681SAndroid Build Coastguard Worker       /// for sethi
35*9880d681SAndroid Build Coastguard Worker       fixup_sparc_hi22,
36*9880d681SAndroid Build Coastguard Worker 
37*9880d681SAndroid Build Coastguard Worker       /// fixup_sparc_lo10  - 10-bit fixup corresponding to %lo(foo)
38*9880d681SAndroid Build Coastguard Worker       fixup_sparc_lo10,
39*9880d681SAndroid Build Coastguard Worker 
40*9880d681SAndroid Build Coastguard Worker       /// fixup_sparc_h44  - 22-bit fixup corresponding to %h44(foo)
41*9880d681SAndroid Build Coastguard Worker       fixup_sparc_h44,
42*9880d681SAndroid Build Coastguard Worker 
43*9880d681SAndroid Build Coastguard Worker       /// fixup_sparc_m44  - 10-bit fixup corresponding to %m44(foo)
44*9880d681SAndroid Build Coastguard Worker       fixup_sparc_m44,
45*9880d681SAndroid Build Coastguard Worker 
46*9880d681SAndroid Build Coastguard Worker       /// fixup_sparc_l44  - 12-bit fixup corresponding to %l44(foo)
47*9880d681SAndroid Build Coastguard Worker       fixup_sparc_l44,
48*9880d681SAndroid Build Coastguard Worker 
49*9880d681SAndroid Build Coastguard Worker       /// fixup_sparc_hh  -  22-bit fixup corresponding to %hh(foo)
50*9880d681SAndroid Build Coastguard Worker       fixup_sparc_hh,
51*9880d681SAndroid Build Coastguard Worker 
52*9880d681SAndroid Build Coastguard Worker       /// fixup_sparc_hm  -  10-bit fixup corresponding to %hm(foo)
53*9880d681SAndroid Build Coastguard Worker       fixup_sparc_hm,
54*9880d681SAndroid Build Coastguard Worker 
55*9880d681SAndroid Build Coastguard Worker       /// fixup_sparc_pc22 - 22-bit fixup corresponding to %pc22(foo)
56*9880d681SAndroid Build Coastguard Worker       fixup_sparc_pc22,
57*9880d681SAndroid Build Coastguard Worker 
58*9880d681SAndroid Build Coastguard Worker       /// fixup_sparc_pc10 - 10-bit fixup corresponding to %pc10(foo)
59*9880d681SAndroid Build Coastguard Worker       fixup_sparc_pc10,
60*9880d681SAndroid Build Coastguard Worker 
61*9880d681SAndroid Build Coastguard Worker       /// fixup_sparc_got22 - 22-bit fixup corresponding to %got22(foo)
62*9880d681SAndroid Build Coastguard Worker       fixup_sparc_got22,
63*9880d681SAndroid Build Coastguard Worker 
64*9880d681SAndroid Build Coastguard Worker       /// fixup_sparc_got10 - 10-bit fixup corresponding to %got10(foo)
65*9880d681SAndroid Build Coastguard Worker       fixup_sparc_got10,
66*9880d681SAndroid Build Coastguard Worker 
67*9880d681SAndroid Build Coastguard Worker       /// fixup_sparc_wplt30
68*9880d681SAndroid Build Coastguard Worker       fixup_sparc_wplt30,
69*9880d681SAndroid Build Coastguard Worker 
70*9880d681SAndroid Build Coastguard Worker       /// fixups for Thread Local Storage
71*9880d681SAndroid Build Coastguard Worker       fixup_sparc_tls_gd_hi22,
72*9880d681SAndroid Build Coastguard Worker       fixup_sparc_tls_gd_lo10,
73*9880d681SAndroid Build Coastguard Worker       fixup_sparc_tls_gd_add,
74*9880d681SAndroid Build Coastguard Worker       fixup_sparc_tls_gd_call,
75*9880d681SAndroid Build Coastguard Worker       fixup_sparc_tls_ldm_hi22,
76*9880d681SAndroid Build Coastguard Worker       fixup_sparc_tls_ldm_lo10,
77*9880d681SAndroid Build Coastguard Worker       fixup_sparc_tls_ldm_add,
78*9880d681SAndroid Build Coastguard Worker       fixup_sparc_tls_ldm_call,
79*9880d681SAndroid Build Coastguard Worker       fixup_sparc_tls_ldo_hix22,
80*9880d681SAndroid Build Coastguard Worker       fixup_sparc_tls_ldo_lox10,
81*9880d681SAndroid Build Coastguard Worker       fixup_sparc_tls_ldo_add,
82*9880d681SAndroid Build Coastguard Worker       fixup_sparc_tls_ie_hi22,
83*9880d681SAndroid Build Coastguard Worker       fixup_sparc_tls_ie_lo10,
84*9880d681SAndroid Build Coastguard Worker       fixup_sparc_tls_ie_ld,
85*9880d681SAndroid Build Coastguard Worker       fixup_sparc_tls_ie_ldx,
86*9880d681SAndroid Build Coastguard Worker       fixup_sparc_tls_ie_add,
87*9880d681SAndroid Build Coastguard Worker       fixup_sparc_tls_le_hix22,
88*9880d681SAndroid Build Coastguard Worker       fixup_sparc_tls_le_lox10,
89*9880d681SAndroid Build Coastguard Worker 
90*9880d681SAndroid Build Coastguard Worker       // Marker
91*9880d681SAndroid Build Coastguard Worker       LastTargetFixupKind,
92*9880d681SAndroid Build Coastguard Worker       NumTargetFixupKinds = LastTargetFixupKind - FirstTargetFixupKind
93*9880d681SAndroid Build Coastguard Worker     };
94*9880d681SAndroid Build Coastguard Worker   }
95*9880d681SAndroid Build Coastguard Worker }
96*9880d681SAndroid Build Coastguard Worker 
97*9880d681SAndroid Build Coastguard Worker #endif
98