From: Josh Bleecher Snyder Date: Mon, 20 Jul 2015 22:22:34 +0000 (-0700) Subject: [dev.ssa] cmd/compile: mark LoadReg8 and StoreReg8 of flags as unimplemented X-Git-Tag: go1.7beta1~1623^2^2~373 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=26f135d7c1a55cb7acaec1eac20e97b0f3b2cf10;p=gostls13.git [dev.ssa] cmd/compile: mark LoadReg8 and StoreReg8 of flags as unimplemented It is not clear to me what the right implementation is. LoadReg8 and StoreReg8 are introduced during regalloc, so after the amd64 rewrites. But implementing them in genValue seems silly. Change-Id: Ia708209c4604867bddcc0e5d75ecd17cf32f52c3 Reviewed-on: https://go-review.googlesource.com/12437 Reviewed-by: Keith Randall --- diff --git a/src/cmd/compile/internal/gc/ssa.go b/src/cmd/compile/internal/gc/ssa.go index 4700b2939c..aa44dc0798 100644 --- a/src/cmd/compile/internal/gc/ssa.go +++ b/src/cmd/compile/internal/gc/ssa.go @@ -1330,6 +1330,10 @@ func genValue(v *ssa.Value) { p.To.Reg = y } case ssa.OpLoadReg8: + if v.Type.IsFlags() { + v.Unimplementedf("load flags not implemented: %v", v.LongString()) + return + } p := Prog(x86.AMOVQ) p.From.Type = obj.TYPE_MEM p.From.Reg = x86.REG_SP @@ -1337,6 +1341,10 @@ func genValue(v *ssa.Value) { p.To.Type = obj.TYPE_REG p.To.Reg = regnum(v) case ssa.OpStoreReg8: + if v.Type.IsFlags() { + v.Unimplementedf("store flags not implemented: %v", v.LongString()) + return + } p := Prog(x86.AMOVQ) p.From.Type = obj.TYPE_REG p.From.Reg = regnum(v.Args[0])