Shenghou Ma | f00c19a | 2015-03-08 04:32:55 -0400 | [diff] [blame] | 1 | // Copyright 2009 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 main |
| 6 | |
| 7 | import ( |
| 8 | "cmd/internal/gc" |
| 9 | "cmd/internal/obj" |
Aram Hăvărneanu | 02c1a9d | 2015-03-08 14:16:29 +0100 | [diff] [blame] | 10 | "cmd/internal/obj/arm64" |
Shenghou Ma | f00c19a | 2015-03-08 04:32:55 -0400 | [diff] [blame] | 11 | ) |
| 12 | |
Aram Hăvărneanu | 02c1a9d | 2015-03-08 14:16:29 +0100 | [diff] [blame] | 13 | var thechar int = '7' |
Shenghou Ma | f00c19a | 2015-03-08 04:32:55 -0400 | [diff] [blame] | 14 | |
Aram Hăvărneanu | 02c1a9d | 2015-03-08 14:16:29 +0100 | [diff] [blame] | 15 | var thestring string = "arm64" |
Shenghou Ma | f00c19a | 2015-03-08 04:32:55 -0400 | [diff] [blame] | 16 | |
Aram Hăvărneanu | 02c1a9d | 2015-03-08 14:16:29 +0100 | [diff] [blame] | 17 | var thelinkarch *obj.LinkArch = &arm64.Linkarm64 |
Shenghou Ma | f00c19a | 2015-03-08 04:32:55 -0400 | [diff] [blame] | 18 | |
| 19 | func linkarchinit() { |
Shenghou Ma | f00c19a | 2015-03-08 04:32:55 -0400 | [diff] [blame] | 20 | } |
| 21 | |
| 22 | var MAXWIDTH int64 = 1 << 50 |
| 23 | |
| 24 | /* |
| 25 | * go declares several platform-specific type aliases: |
Brad Fitzpatrick | 8b27d28 | 2015-04-13 18:04:02 -0500 | [diff] [blame] | 26 | * int, uint, and uintptr |
Shenghou Ma | f00c19a | 2015-03-08 04:32:55 -0400 | [diff] [blame] | 27 | */ |
| 28 | var typedefs = []gc.Typedef{ |
| 29 | gc.Typedef{"int", gc.TINT, gc.TINT64}, |
| 30 | gc.Typedef{"uint", gc.TUINT, gc.TUINT64}, |
| 31 | gc.Typedef{"uintptr", gc.TUINTPTR, gc.TUINT64}, |
| 32 | } |
| 33 | |
| 34 | func betypeinit() { |
| 35 | gc.Widthptr = 8 |
| 36 | gc.Widthint = 8 |
| 37 | gc.Widthreg = 8 |
Shenghou Ma | f00c19a | 2015-03-08 04:32:55 -0400 | [diff] [blame] | 38 | } |
| 39 | |
| 40 | func main() { |
| 41 | gc.Thearch.Thechar = thechar |
| 42 | gc.Thearch.Thestring = thestring |
| 43 | gc.Thearch.Thelinkarch = thelinkarch |
| 44 | gc.Thearch.Typedefs = typedefs |
Aram Hăvărneanu | 02c1a9d | 2015-03-08 14:16:29 +0100 | [diff] [blame] | 45 | gc.Thearch.REGSP = arm64.REGSP |
| 46 | gc.Thearch.REGCTXT = arm64.REGCTXT |
Russ Cox | b115c35 | 2015-03-18 17:26:36 -0400 | [diff] [blame] | 47 | gc.Thearch.REGCALLX = arm64.REGRT1 |
| 48 | gc.Thearch.REGCALLX2 = arm64.REGRT2 |
| 49 | gc.Thearch.REGRETURN = arm64.REG_R0 |
| 50 | gc.Thearch.REGMIN = arm64.REG_R0 |
| 51 | gc.Thearch.REGMAX = arm64.REG_R31 |
Dave Cheney | 888d44d | 2015-04-09 21:25:48 +1000 | [diff] [blame] | 52 | gc.Thearch.REGZERO = arm64.REGZERO |
Russ Cox | b115c35 | 2015-03-18 17:26:36 -0400 | [diff] [blame] | 53 | gc.Thearch.FREGMIN = arm64.REG_F0 |
| 54 | gc.Thearch.FREGMAX = arm64.REG_F31 |
Shenghou Ma | f00c19a | 2015-03-08 04:32:55 -0400 | [diff] [blame] | 55 | gc.Thearch.MAXWIDTH = MAXWIDTH |
Russ Cox | b115c35 | 2015-03-18 17:26:36 -0400 | [diff] [blame] | 56 | gc.Thearch.ReservedRegs = resvd |
| 57 | |
Shenghou Ma | f00c19a | 2015-03-08 04:32:55 -0400 | [diff] [blame] | 58 | gc.Thearch.Betypeinit = betypeinit |
Russ Cox | b115c35 | 2015-03-18 17:26:36 -0400 | [diff] [blame] | 59 | gc.Thearch.Cgen_hmul = cgen_hmul |
| 60 | gc.Thearch.Cgen_shift = cgen_shift |
Shenghou Ma | f00c19a | 2015-03-08 04:32:55 -0400 | [diff] [blame] | 61 | gc.Thearch.Clearfat = clearfat |
| 62 | gc.Thearch.Defframe = defframe |
Russ Cox | b115c35 | 2015-03-18 17:26:36 -0400 | [diff] [blame] | 63 | gc.Thearch.Dodiv = dodiv |
Shenghou Ma | f00c19a | 2015-03-08 04:32:55 -0400 | [diff] [blame] | 64 | gc.Thearch.Excise = excise |
| 65 | gc.Thearch.Expandchecks = expandchecks |
Russ Cox | 92c826b | 2015-04-03 12:23:28 -0400 | [diff] [blame] | 66 | gc.Thearch.Getg = getg |
Shenghou Ma | f00c19a | 2015-03-08 04:32:55 -0400 | [diff] [blame] | 67 | gc.Thearch.Gins = gins |
Russ Cox | f8d14fc | 2015-05-06 12:28:19 -0400 | [diff] [blame^] | 68 | gc.Thearch.Ginscmp = ginscmp |
Russ Cox | b115c35 | 2015-03-18 17:26:36 -0400 | [diff] [blame] | 69 | gc.Thearch.Ginscon = ginscon |
| 70 | gc.Thearch.Ginsnop = ginsnop |
Russ Cox | b960263 | 2015-03-18 12:29:40 -0400 | [diff] [blame] | 71 | gc.Thearch.Gmove = gmove |
Shenghou Ma | f00c19a | 2015-03-08 04:32:55 -0400 | [diff] [blame] | 72 | gc.Thearch.Linkarchinit = linkarchinit |
| 73 | gc.Thearch.Peep = peep |
| 74 | gc.Thearch.Proginfo = proginfo |
Shenghou Ma | f00c19a | 2015-03-08 04:32:55 -0400 | [diff] [blame] | 75 | gc.Thearch.Regtyp = regtyp |
| 76 | gc.Thearch.Sameaddr = sameaddr |
| 77 | gc.Thearch.Smallindir = smallindir |
| 78 | gc.Thearch.Stackaddr = stackaddr |
Shenghou Ma | e7dd288 | 2015-04-08 13:34:42 -0400 | [diff] [blame] | 79 | gc.Thearch.Blockcopy = blockcopy |
Russ Cox | b115c35 | 2015-03-18 17:26:36 -0400 | [diff] [blame] | 80 | gc.Thearch.Sudoaddable = sudoaddable |
| 81 | gc.Thearch.Sudoclean = sudoclean |
Shenghou Ma | f00c19a | 2015-03-08 04:32:55 -0400 | [diff] [blame] | 82 | gc.Thearch.Excludedregs = excludedregs |
| 83 | gc.Thearch.RtoB = RtoB |
| 84 | gc.Thearch.FtoB = RtoB |
| 85 | gc.Thearch.BtoR = BtoR |
| 86 | gc.Thearch.BtoF = BtoF |
| 87 | gc.Thearch.Optoas = optoas |
| 88 | gc.Thearch.Doregbits = doregbits |
| 89 | gc.Thearch.Regnames = regnames |
| 90 | |
| 91 | gc.Main() |
| 92 | gc.Exit(0) |
| 93 | } |