go/ssa/interp: fix tests on Go 1.7 and Go 1.8
This mostly reverts commit 1c59bc354db124c4a797df6930a19c7a3cf8008c
(CL 43350) which had fixed Go tip but broken Go 1.7 and Go 1.8
builders.
Change-Id: I4e7bdfafde74c9e730bb870b9db05b663b4f56a3
Reviewed-on: https://go-review.googlesource.com/43391
Reviewed-by: Alan Donovan <adonovan@google.com>
diff --git a/go/ssa/interp/external.go b/go/ssa/interp/external.go
index 7241522..181ffa4 100644
--- a/go/ssa/interp/external.go
+++ b/go/ssa/interp/external.go
@@ -69,8 +69,10 @@
"(reflect.rtype).Out": ext۰reflect۰rtype۰Out,
"(reflect.rtype).Size": ext۰reflect۰rtype۰Size,
"(reflect.rtype).String": ext۰reflect۰rtype۰String,
+ "bytes.init": ext۰nop, // avoid asm dependency
"bytes.Equal": ext۰bytes۰Equal,
"bytes.IndexByte": ext۰bytes۰IndexByte,
+ "hash/crc32.haveSSE42": ext۰crc32۰haveSSE42,
"internal/cpu.cpuid": ext۰cpu۰cpuid,
"math.Abs": ext۰math۰Abs,
"math.Exp": ext۰math۰Exp,
@@ -81,6 +83,7 @@
"math.Ldexp": ext۰math۰Ldexp,
"math.Log": ext۰math۰Log,
"math.Min": ext۰math۰Min,
+ "math.hasSSE4": ext۰math۰hasSSE4,
"os.runtime_args": ext۰os۰runtime_args,
"os.runtime_beforeExit": ext۰nop,
"os/signal.init": ext۰nop,
@@ -110,6 +113,7 @@
"(*runtime.Func).Name": ext۰runtime۰Func۰Name,
"runtime.environ": ext۰runtime۰environ,
"runtime.getgoroot": ext۰runtime۰getgoroot,
+ "strings.init": ext۰nop, // avoid asm dependency
"strings.Count": ext۰strings۰Count,
"strings.Index": ext۰strings۰Index,
"strings.IndexByte": ext۰strings۰IndexByte,
@@ -190,6 +194,10 @@
return -1
}
+func ext۰crc32۰haveSSE42(fr *frame, args []value) value {
+ return false
+}
+
func ext۰math۰Float64frombits(fr *frame, args []value) value {
return math.Float64frombits(args[0].(uint64))
}
@@ -218,6 +226,10 @@
return math.Min(args[0].(float64), args[1].(float64))
}
+func ext۰math۰hasSSE4(fr *frame, args []value) value {
+ return false
+}
+
func ext۰math۰Ldexp(fr *frame, args []value) value {
return math.Ldexp(args[0].(float64), args[1].(int))
}
diff --git a/go/ssa/interp/interp_test.go b/go/ssa/interp/interp_test.go
index ea8fcca..6e9f7b2 100644
--- a/go/ssa/interp/interp_test.go
+++ b/go/ssa/interp/interp_test.go
@@ -158,7 +158,7 @@
"encoding/hex",
// "encoding/pem", // TODO(adonovan): implement (reflect.Value).SetString
// "testing", // TODO(adonovan): implement runtime.Goexit correctly
- "hash/crc32",
+ // "hash/crc32", // TODO(adonovan): implement hash/crc32.haveCLMUL
// "log", // TODO(adonovan): implement runtime.Callers correctly
// Too slow: