aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/compile/internal/ssa/stackalloc.go
diff options
context:
space:
mode:
authorMichael Matloob <matloob@google.com>2015-06-14 11:38:46 -0700
committerMichael Matloob <michaelmatloob@gmail.com>2015-06-17 00:13:58 +0000
commit73054f572940c8d4c905f2ba996a3c6aaeeb28df (patch)
tree022cb28b4140f2720ba565f0a57b46852da6dc75 /src/cmd/compile/internal/ssa/stackalloc.go
parent0991ec454b8a53bf11c4c01f75dd2fa7a34362cc (diff)
downloadgo-73054f572940c8d4c905f2ba996a3c6aaeeb28df.tar.xz
[dev.ssa] cmd/compile/internal/ssa: adds for 8,16,32 bit ints
Change-Id: I33025a4a41fd91f6ee317d33a6eebf27fa00ab51 Reviewed-on: https://go-review.googlesource.com/11115 Reviewed-by: Keith Randall <khr@golang.org>
Diffstat (limited to 'src/cmd/compile/internal/ssa/stackalloc.go')
-rw-r--r--src/cmd/compile/internal/ssa/stackalloc.go5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/cmd/compile/internal/ssa/stackalloc.go b/src/cmd/compile/internal/ssa/stackalloc.go
index cb1688f51c..5db7316dca 100644
--- a/src/cmd/compile/internal/ssa/stackalloc.go
+++ b/src/cmd/compile/internal/ssa/stackalloc.go
@@ -93,7 +93,10 @@ func stackalloc(f *Func) {
// (ADDQ (FP) x) -> (LEAQ [n] (SP) x)
v.Op = OpAMD64LEAQ
v.AuxInt = n
- case OpAMD64LEAQ, OpAMD64MOVQload, OpAMD64MOVQstore, OpAMD64MOVBload, OpAMD64MOVQloadidx8:
+ case OpAMD64ADDQconst:
+ // TODO(matloob): Add LEAQconst op
+ v.AuxInt = addOff(v.AuxInt, n)
+ case OpAMD64LEAQ, OpAMD64MOVQload, OpAMD64MOVQstore, OpAMD64MOVLload, OpAMD64MOVLstore, OpAMD64MOVWload, OpAMD64MOVWstore, OpAMD64MOVBload, OpAMD64MOVBstore, OpAMD64MOVQloadidx8:
if v.Op == OpAMD64MOVQloadidx8 && i == 1 {
// Note: we could do it, but it is probably an error
log.Panicf("can't do FP->SP adjust on index slot of load %s", v.Op)