...
Source file src/pkg/cmd/compile/internal/x86/galign.go
1
2
3
4
5 package x86
6
7 import (
8 "cmd/compile/internal/gc"
9 "cmd/internal/obj/x86"
10 "cmd/internal/objabi"
11 "fmt"
12 "os"
13 )
14
15 func Init(arch *gc.Arch) {
16 arch.LinkArch = &x86.Link386
17 arch.REGSP = x86.REGSP
18 switch v := objabi.GO386; v {
19 case "387":
20 arch.Use387 = true
21 arch.SSAGenValue = ssaGenValue387
22 arch.SSAGenBlock = ssaGenBlock387
23 case "sse2":
24 arch.SSAGenValue = ssaGenValue
25 arch.SSAGenBlock = ssaGenBlock
26 default:
27 fmt.Fprintf(os.Stderr, "unsupported setting GO386=%s\n", v)
28 gc.Exit(1)
29 }
30 arch.MAXWIDTH = (1 << 32) - 1
31
32 arch.ZeroRange = zerorange
33 arch.ZeroAuto = zeroAuto
34 arch.Ginsnop = ginsnop
35 arch.Ginsnopdefer = ginsnop
36
37 arch.SSAMarkMoves = ssaMarkMoves
38 }
39
View as plain text