diff options
| author | Josh Bleecher Snyder <josharian@gmail.com> | 2015-07-20 15:22:34 -0700 |
|---|---|---|
| committer | Josh Bleecher Snyder <josharian@gmail.com> | 2015-07-21 13:41:39 +0000 |
| commit | 26f135d7c1a55cb7acaec1eac20e97b0f3b2cf10 (patch) | |
| tree | 7c82c7905169a74e0a1fb6a63c33f87dd582c896 /src/cmd | |
| parent | a794074da0800fda3cb204b20b3f73af2175383b (diff) | |
| download | go-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/cmd')
| -rw-r--r-- | src/cmd/compile/internal/gc/ssa.go | 8 |
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]) |
