]> Cypherpunks repositories - gostls13.git/commitdiff
[dev.ssa] cmd/compile: mark LoadReg8 and StoreReg8 of flags as unimplemented
authorJosh Bleecher Snyder <josharian@gmail.com>
Mon, 20 Jul 2015 22:22:34 +0000 (15:22 -0700)
committerJosh Bleecher Snyder <josharian@gmail.com>
Tue, 21 Jul 2015 13:41:39 +0000 (13:41 +0000)
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>
src/cmd/compile/internal/gc/ssa.go

index 4700b2939c3474ef4ca3a5e8b0de3d2cf928fcfa..aa44dc079870f21ee160dcfbacea3f2db75c3480 100644 (file)
@@ -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])