github.com/shogo82148/std@v1.22.1-0.20240327122250-4e474527810c/cmd/internal/obj/loong64/a.out.go (about) 1 // Copyright 2022 The Go Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style 3 // license that can be found in the LICENSE file. 4 5 package loong64 6 7 import ( 8 "github.com/shogo82148/std/cmd/internal/obj" 9 ) 10 11 const ( 12 NSNAME = 8 13 NSYM = 50 14 NREG = 32 15 NFREG = 32 16 ) 17 18 const ( 19 REG_R0 = obj.RBaseLOONG64 + iota 20 REG_R1 21 REG_R2 22 REG_R3 23 REG_R4 24 REG_R5 25 REG_R6 26 REG_R7 27 REG_R8 28 REG_R9 29 REG_R10 30 REG_R11 31 REG_R12 32 REG_R13 33 REG_R14 34 REG_R15 35 REG_R16 36 REG_R17 37 REG_R18 38 REG_R19 39 REG_R20 40 REG_R21 41 REG_R22 42 REG_R23 43 REG_R24 44 REG_R25 45 REG_R26 46 REG_R27 47 REG_R28 48 REG_R29 49 REG_R30 50 REG_R31 51 52 REG_F0 53 REG_F1 54 REG_F2 55 REG_F3 56 REG_F4 57 REG_F5 58 REG_F6 59 REG_F7 60 REG_F8 61 REG_F9 62 REG_F10 63 REG_F11 64 REG_F12 65 REG_F13 66 REG_F14 67 REG_F15 68 REG_F16 69 REG_F17 70 REG_F18 71 REG_F19 72 REG_F20 73 REG_F21 74 REG_F22 75 REG_F23 76 REG_F24 77 REG_F25 78 REG_F26 79 REG_F27 80 REG_F28 81 REG_F29 82 REG_F30 83 REG_F31 84 85 REG_FCSR0 86 REG_FCSR1 87 REG_FCSR2 88 REG_FCSR3 89 REG_FCSR4 90 REG_FCSR5 91 REG_FCSR6 92 REG_FCSR7 93 REG_FCSR8 94 REG_FCSR9 95 REG_FCSR10 96 REG_FCSR11 97 REG_FCSR12 98 REG_FCSR13 99 REG_FCSR14 100 REG_FCSR15 101 REG_FCSR16 102 REG_FCSR17 103 REG_FCSR18 104 REG_FCSR19 105 REG_FCSR20 106 REG_FCSR21 107 REG_FCSR22 108 REG_FCSR23 109 REG_FCSR24 110 REG_FCSR25 111 REG_FCSR26 112 REG_FCSR27 113 REG_FCSR28 114 REG_FCSR29 115 REG_FCSR30 116 REG_FCSR31 117 118 REG_FCC0 119 REG_FCC1 120 REG_FCC2 121 REG_FCC3 122 REG_FCC4 123 REG_FCC5 124 REG_FCC6 125 REG_FCC7 126 REG_FCC8 127 REG_FCC9 128 REG_FCC10 129 REG_FCC11 130 REG_FCC12 131 REG_FCC13 132 REG_FCC14 133 REG_FCC15 134 REG_FCC16 135 REG_FCC17 136 REG_FCC18 137 REG_FCC19 138 REG_FCC20 139 REG_FCC21 140 REG_FCC22 141 REG_FCC23 142 REG_FCC24 143 REG_FCC25 144 REG_FCC26 145 REG_FCC27 146 REG_FCC28 147 REG_FCC29 148 REG_FCC30 149 REG_FCC31 150 151 REG_LAST = REG_FCC31 152 153 REG_SPECIAL = REG_FCSR0 154 155 REGZERO = REG_R0 156 REGLINK = REG_R1 157 REGSP = REG_R3 158 REGRET = REG_R20 159 REGARG = -1 160 REGRT1 = REG_R20 161 REGRT2 = REG_R21 162 REGCTXT = REG_R29 163 REGG = REG_R22 164 REGTMP = REG_R30 165 FREGRET = REG_F0 166 ) 167 168 var LOONG64DWARFRegisters = map[int16]int16{} 169 170 const ( 171 BIG = 2046 172 ) 173 174 const ( 175 // mark flags 176 LABEL = 1 << 0 177 LEAF = 1 << 1 178 SYNC = 1 << 2 179 BRANCH = 1 << 3 180 ) 181 182 const ( 183 C_NONE = iota 184 C_REG 185 C_FREG 186 C_FCSRREG 187 C_FCCREG 188 C_ZCON 189 C_SCON 190 C_UCON 191 C_ADD0CON 192 C_AND0CON 193 C_ADDCON 194 C_ANDCON 195 C_LCON 196 C_DCON 197 C_SACON 198 C_SECON 199 C_LACON 200 C_LECON 201 C_DACON 202 C_STCON 203 C_SBRA 204 C_LBRA 205 C_SAUTO 206 C_LAUTO 207 C_SEXT 208 C_LEXT 209 C_ZOREG 210 C_SOREG 211 C_LOREG 212 C_GOK 213 C_ADDR 214 C_TLS_LE 215 C_TLS_IE 216 C_GOTADDR 217 C_TEXTSIZE 218 219 C_NCLASS 220 ) 221 222 const ( 223 AABSD = obj.ABaseLoong64 + obj.A_ARCHSPECIFIC + iota 224 AABSF 225 AADD 226 AADDD 227 AADDF 228 AADDU 229 230 AADDW 231 AAND 232 ABEQ 233 ABGEZ 234 ABLEZ 235 ABGTZ 236 ABLTZ 237 ABFPF 238 ABFPT 239 240 ABNE 241 ABREAK 242 ACLO 243 ACLZ 244 245 ACMPEQD 246 ACMPEQF 247 248 ACMPGED 249 ACMPGEF 250 ACMPGTD 251 ACMPGTF 252 253 ALU12IW 254 ALU32ID 255 ALU52ID 256 APCALAU12I 257 APCADDU12I 258 AJIRL 259 ABGE 260 ABLT 261 ABLTU 262 ABGEU 263 264 ADIV 265 ADIVD 266 ADIVF 267 ADIVU 268 ADIVW 269 270 ALL 271 ALLV 272 273 ALUI 274 275 AMOVB 276 AMOVBU 277 278 AMOVD 279 AMOVDF 280 AMOVDW 281 AMOVF 282 AMOVFD 283 AMOVFW 284 285 AMOVH 286 AMOVHU 287 AMOVW 288 289 AMOVWD 290 AMOVWF 291 292 AMOVWL 293 AMOVWR 294 295 AMUL 296 AMULD 297 AMULF 298 AMULU 299 AMULH 300 AMULHU 301 AMULW 302 ANEGD 303 ANEGF 304 305 ANEGW 306 ANEGV 307 308 ANOOP 309 ANOR 310 AOR 311 AREM 312 AREMU 313 314 ARFE 315 316 ASC 317 ASCV 318 319 ASGT 320 ASGTU 321 322 ASLL 323 ASQRTD 324 ASQRTF 325 ASRA 326 ASRL 327 AROTR 328 ASUB 329 ASUBD 330 ASUBF 331 332 ASUBU 333 ASUBW 334 ADBAR 335 ASYSCALL 336 337 ATEQ 338 ATNE 339 340 AWORD 341 342 AXOR 343 344 AMASKEQZ 345 AMASKNEZ 346 347 // 64-bit 348 AMOVV 349 AMOVVL 350 AMOVVR 351 352 ASLLV 353 ASRAV 354 ASRLV 355 AROTRV 356 ADIVV 357 ADIVVU 358 359 AREMV 360 AREMVU 361 362 AMULV 363 AMULVU 364 AMULHV 365 AMULHVU 366 AADDV 367 AADDVU 368 ASUBV 369 ASUBVU 370 371 // 64-bit FP 372 ATRUNCFV 373 ATRUNCDV 374 ATRUNCFW 375 ATRUNCDW 376 377 AMOVWU 378 AMOVFV 379 AMOVDV 380 AMOVVF 381 AMOVVD 382 383 // 2.2.10. Other Miscellaneous Instructions 384 ARDTIMELW 385 ARDTIMEHW 386 ARDTIMED 387 388 ALAST 389 390 // aliases 391 AJMP = obj.AJMP 392 AJAL = obj.ACALL 393 ARET = obj.ARET 394 )