aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJosh Bleecher Snyder <josharian@gmail.com>2015-07-20 15:22:34 -0700
committerJosh Bleecher Snyder <josharian@gmail.com>2015-07-21 13:41:39 +0000
commit26f135d7c1a55cb7acaec1eac20e97b0f3b2cf10 (patch)
tree7c82c7905169a74e0a1fb6a63c33f87dd582c896 /src
parenta794074da0800fda3cb204b20b3f73af2175383b (diff)
downloadgo-26f135d7c1a55cb7acaec1eac20e97b0f3b2cf10.tar.xz
[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 <khr@golang.org>
Diffstat (limited to 'src')
-rw-r--r--src/cmd/compile/internal/gc/ssa.go8
1 files changed, 8 insertions, 0 deletions
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])