diff --git a/src/cmd/compile/internal/gc/mpfloat.go b/src/cmd/compile/internal/gc/mpfloat.go
index 037907540620691d6d04b620e817d6fb91cc57c7..d15f26784edd0a6157430bc2fc2aa9150daee3cd 100644
--- a/src/cmd/compile/internal/gc/mpfloat.go
+++ b/src/cmd/compile/internal/gc/mpfloat.go
@@ -8,7 +8,6 @@ import (
 	"fmt"
 	"math"
 	"math/big"
-	"strings"
 )
 
 // implements float arithmetic
@@ -180,9 +179,6 @@ func (a *Mpflt) Neg() {
 }
 
 func (a *Mpflt) SetString(as string) {
-	// TODO(gri) remove this code once math/big.Float.Parse can handle separators
-	as = strings.Replace(as, "_", "", -1) // strip separators
-
 	// TODO(gri) why is this needed?
 	for len(as) > 0 && (as[0] == ' ' || as[0] == '\t') {
 		as = as[1:]
diff --git a/src/cmd/compile/internal/gc/mpint.go b/src/cmd/compile/internal/gc/mpint.go
index 81b60dd27822b81423c1b9713beae8ec614bc945..e4dd22d0a02e061ebceeb42428a495406a113ce0 100644
--- a/src/cmd/compile/internal/gc/mpint.go
+++ b/src/cmd/compile/internal/gc/mpint.go
@@ -7,7 +7,6 @@ package gc
 import (
 	"fmt"
 	"math/big"
-	"strings"
 )
 
 // implements integer arithmetic
@@ -282,9 +281,6 @@ func (a *Mpint) SetInt64(c int64) {
 }
 
 func (a *Mpint) SetString(as string) {
-	// TODO(gri) remove this code once math/big.Int.SetString can handle separators
-	as = strings.Replace(as, "_", "", -1) // strip separators
-
 	_, ok := a.Val.SetString(as, 0)
 	if !ok {
 		// required syntax is [+-][0[x]]d*