aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/internal/obj/arm64
diff options
context:
space:
mode:
authorRuss Cox <rsc@golang.org>2015-03-16 15:54:44 -0400
committerRuss Cox <rsc@golang.org>2015-03-20 04:47:08 +0000
commit532ccae1547580e572cf5cd0f687f4508ceeddb9 (patch)
tree0bf2149cc9ed14425e7cc6f83dd597372597aad2 /src/cmd/internal/obj/arm64
parent631d6a33bf2889c5c648555ab993687a48f9c287 (diff)
downloadgo-532ccae1547580e572cf5cd0f687f4508ceeddb9.tar.xz
cmd/internal/obj: replace Addr.U struct {...} with Val interface{}
An interface{} is more in the spirit of the original union. By my calculations, on 64-bit systems this reduces Addr from 120 to 80 bytes, and Prog from 592 to 424 bytes. Change-Id: I0d7b0981513c2a3c94c9ac76bb4f8816485b5a3c Reviewed-on: https://go-review.googlesource.com/7744 Reviewed-by: Rob Pike <r@golang.org>
Diffstat (limited to 'src/cmd/internal/obj/arm64')
-rw-r--r--src/cmd/internal/obj/arm64/asm7.go2
-rw-r--r--src/cmd/internal/obj/arm64/obj7.go6
2 files changed, 4 insertions, 4 deletions
diff --git a/src/cmd/internal/obj/arm64/asm7.go b/src/cmd/internal/obj/arm64/asm7.go
index ba56f82df0..d8f39fe405 100644
--- a/src/cmd/internal/obj/arm64/asm7.go
+++ b/src/cmd/internal/obj/arm64/asm7.go
@@ -2625,7 +2625,7 @@ func asmout(ctxt *obj.Link, p *obj.Prog, o *Optab, out []uint32) {
var rf int
if p.From.Type == obj.TYPE_CONST {
- rf = chipfloat7(ctxt, p.From.U.Dval)
+ rf = chipfloat7(ctxt, p.From.Val.(float64))
if rf < 0 || true {
ctxt.Diag("invalid floating-point immediate\n%v", p)
rf = 0
diff --git a/src/cmd/internal/obj/arm64/obj7.go b/src/cmd/internal/obj/arm64/obj7.go
index 0b92cfcaf1..dfba86ccb9 100644
--- a/src/cmd/internal/obj/arm64/obj7.go
+++ b/src/cmd/internal/obj/arm64/obj7.go
@@ -240,7 +240,7 @@ func progedit(ctxt *obj.Link, p *obj.Prog) {
switch p.As {
case AFMOVS:
if p.From.Type == obj.TYPE_FCONST {
- f32 := float32(p.From.U.Dval)
+ f32 := float32(p.From.Val.(float64))
i32 := math.Float32bits(f32)
literal := fmt.Sprintf("$f32.%08x", uint32(i32))
s := obj.Linklookup(ctxt, literal, 0)
@@ -253,7 +253,7 @@ func progedit(ctxt *obj.Link, p *obj.Prog) {
case AFMOVD:
if p.From.Type == obj.TYPE_FCONST {
- i64 := math.Float64bits(p.From.U.Dval)
+ i64 := math.Float64bits(p.From.Val.(float64))
literal := fmt.Sprintf("$f64.%016x", uint64(i64))
s := obj.Linklookup(ctxt, literal, 0)
s.Size = 8
@@ -480,7 +480,7 @@ func preprocess(ctxt *obj.Link, cursym *obj.LSym) {
textstksiz := p.To.Offset
aoffset := int32(textstksiz)
- cursym.Args = p.To.U.Argsize
+ cursym.Args = p.To.Val.(int32)
cursym.Locals = int32(textstksiz)
/*