aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/compile/internal/ssa/decompose.go
diff options
context:
space:
mode:
authorMatthew Dempsky <mdempsky@google.com>2017-04-21 19:16:15 -0700
committerMatthew Dempsky <mdempsky@google.com>2017-04-23 02:07:26 +0000
commitfe885fbdb0abc567c1a9856a01a03de823bb00ca (patch)
tree3cfb374b72a55c35b6556264572a9980e7db92cb /src/cmd/compile/internal/ssa/decompose.go
parent06e5749f0175275cdf0c76836d82a2efd3096386 (diff)
downloadgo-fe885fbdb0abc567c1a9856a01a03de823bb00ca.tar.gz
go-fe885fbdb0abc567c1a9856a01a03de823bb00ca.zip
cmd/compile: cleanup after IntSize->PtrSize conversion
Also, replace "PtrSize == 4 && Arch != amd64p32" with "RegSize == 4". Passes toolstash-check -all. Updates #19954. Change-Id: I79b2ee9324f4fa53e34c9271d837ea288b5d7829 Reviewed-on: https://go-review.googlesource.com/41491 Run-TryBot: Matthew Dempsky <mdempsky@google.com> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Diffstat (limited to 'src/cmd/compile/internal/ssa/decompose.go')
-rw-r--r--src/cmd/compile/internal/ssa/decompose.go16
1 files changed, 6 insertions, 10 deletions
diff --git a/src/cmd/compile/internal/ssa/decompose.go b/src/cmd/compile/internal/ssa/decompose.go
index b629a64e15..beb89e3314 100644
--- a/src/cmd/compile/internal/ssa/decompose.go
+++ b/src/cmd/compile/internal/ssa/decompose.go
@@ -25,7 +25,7 @@ func decomposeBuiltIn(f *Func) {
for _, name := range f.Names {
t := name.Type
switch {
- case t.IsInteger() && t.Size() == 8 && f.Config.PtrSize == 4:
+ case t.IsInteger() && t.Size() > f.Config.RegSize:
var elemType Type
if t.IsSigned() {
elemType = f.Config.Types.Int32
@@ -95,8 +95,8 @@ func decomposeBuiltIn(f *Func) {
}
delete(f.NamedValues, name)
case t.IsFloat():
- // floats are never decomposed, even ones bigger than PtrSize
- case t.Size() > f.Config.PtrSize:
+ // floats are never decomposed, even ones bigger than RegSize
+ case t.Size() > f.Config.RegSize:
f.Fatalf("undecomposed named type %v %v", name, t)
default:
newNames = append(newNames, name)
@@ -107,11 +107,7 @@ func decomposeBuiltIn(f *Func) {
func decomposeBuiltInPhi(v *Value) {
switch {
- case v.Type.IsInteger() && v.Type.Size() == 8 && v.Block.Func.Config.PtrSize == 4:
- if v.Block.Func.Config.arch == "amd64p32" {
- // Even though ints are 32 bits, we have 64-bit ops.
- break
- }
+ case v.Type.IsInteger() && v.Type.Size() > v.Block.Func.Config.RegSize:
decomposeInt64Phi(v)
case v.Type.IsComplex():
decomposeComplexPhi(v)
@@ -122,8 +118,8 @@ func decomposeBuiltInPhi(v *Value) {
case v.Type.IsInterface():
decomposeInterfacePhi(v)
case v.Type.IsFloat():
- // floats are never decomposed, even ones bigger than PtrSize
- case v.Type.Size() > v.Block.Func.Config.PtrSize:
+ // floats are never decomposed, even ones bigger than RegSize
+ case v.Type.Size() > v.Block.Func.Config.RegSize:
v.Fatalf("undecomposed type %s", v.Type)
}
}