Commit d397d4bf authored by Matthew Dempsky's avatar Matthew Dempsky

cmd/compile: handle TPTR32 like TPTR64 in smallintconst

In preparation for followup CL merging TPTR32 and TPTR64, move TPTR32
from the small-types fast path to the generic 64-bit fallback code so
that it's in the same case clause as TPTR64.

This should be safe, but theoretically it could change semantics
because TPTR32 used to always be assumed to be "small", whereas now it
will only be considered small for values less than 1<<31.

This change is done in a separate CL so that it's more easily
identified by git bisection in case it does introduce regressions.

Change-Id: I6c7bb253d4e4d95c530a6e05a1147905674b55ca
Reviewed-on: https://go-review.googlesource.com/c/139517
Run-TryBot: Matthew Dempsky <mdempsky@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: default avatarRobert Griesemer <gri@golang.org>
parent 5e8beed1
......@@ -1479,11 +1479,10 @@ func smallintconst(n *Node) bool {
TUINT16,
TINT32,
TUINT32,
TBOOL,
TPTR32:
TBOOL:
return true
case TIDEAL, TINT64, TUINT64, TPTR64:
case TIDEAL, TINT64, TUINT64, TPTR32, TPTR64:
v, ok := n.Val().U.(*Mpint)
if ok && v.Cmp(minintval[TINT32]) > 0 && v.Cmp(maxintval[TINT32]) < 0 {
return true
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment