Dan Willemsen | 6ff2325 | 2015-09-15 13:49:18 -0700 | [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 x86 |
| 6 | |
| 7 | import ( |
| 8 | "cmd/compile/internal/gc" |
Dan Willemsen | 6ff2325 | 2015-09-15 13:49:18 -0700 | [diff] [blame] | 9 | "cmd/internal/obj/x86" |
Dan Willemsen | c78f714 | 2017-07-26 13:08:14 -0700 | [diff] [blame] | 10 | "cmd/internal/objabi" |
Dan Willemsen | 6ff2325 | 2015-09-15 13:49:18 -0700 | [diff] [blame] | 11 | "fmt" |
| 12 | "os" |
| 13 | ) |
| 14 | |
Dan Willemsen | c78f714 | 2017-07-26 13:08:14 -0700 | [diff] [blame] | 15 | func Init(arch *gc.Arch) { |
| 16 | arch.LinkArch = &x86.Link386 |
| 17 | arch.REGSP = x86.REGSP |
| 18 | switch v := objabi.GO386; v { |
Dan Willemsen | 6ff2325 | 2015-09-15 13:49:18 -0700 | [diff] [blame] | 19 | case "387": |
Dan Willemsen | c78f714 | 2017-07-26 13:08:14 -0700 | [diff] [blame] | 20 | arch.Use387 = true |
| 21 | arch.SSAGenValue = ssaGenValue387 |
| 22 | arch.SSAGenBlock = ssaGenBlock387 |
Dan Willemsen | 6ff2325 | 2015-09-15 13:49:18 -0700 | [diff] [blame] | 23 | case "sse2": |
Dan Willemsen | c78f714 | 2017-07-26 13:08:14 -0700 | [diff] [blame] | 24 | arch.SSAGenValue = ssaGenValue |
| 25 | arch.SSAGenBlock = ssaGenBlock |
Dan Willemsen | 6ff2325 | 2015-09-15 13:49:18 -0700 | [diff] [blame] | 26 | default: |
| 27 | fmt.Fprintf(os.Stderr, "unsupported setting GO386=%s\n", v) |
| 28 | gc.Exit(1) |
| 29 | } |
Dan Willemsen | c78f714 | 2017-07-26 13:08:14 -0700 | [diff] [blame] | 30 | arch.MAXWIDTH = (1 << 32) - 1 |
Dan Willemsen | 6ff2325 | 2015-09-15 13:49:18 -0700 | [diff] [blame] | 31 | |
Dan Willemsen | c78f714 | 2017-07-26 13:08:14 -0700 | [diff] [blame] | 32 | arch.ZeroRange = zerorange |
| 33 | arch.ZeroAuto = zeroAuto |
| 34 | arch.Ginsnop = ginsnop |
Colin Cross | 1371fe4 | 2019-03-19 21:08:48 -0700 | [diff] [blame] | 35 | arch.Ginsnopdefer = ginsnop |
Dan Willemsen | 6ff2325 | 2015-09-15 13:49:18 -0700 | [diff] [blame] | 36 | |
Dan Willemsen | c78f714 | 2017-07-26 13:08:14 -0700 | [diff] [blame] | 37 | arch.SSAMarkMoves = ssaMarkMoves |
Dan Willemsen | 6ff2325 | 2015-09-15 13:49:18 -0700 | [diff] [blame] | 38 | } |