cmd/5g: avoid clash between R13 and F3 registers.

Fixes #6247.

R=golang-dev, lucio.dere, bradfitz
CC=golang-dev
https://golang.org/cl/13216043
This commit is contained in:
Rémy Oudompheng 2013-08-27 21:09:16 +02:00
parent daed1fee8b
commit 4fc7ff497d
2 changed files with 18 additions and 1 deletions

View file

@ -51,7 +51,7 @@ struct Prog
#define REGALLOC_R0 0
#define REGALLOC_RMAX REGEXT
#define REGALLOC_F0 (REGALLOC_RMAX+1)
#define REGALLOC_F0 NREG
#define REGALLOC_FMAX (REGALLOC_F0 + FREGEXT)
EXTERN int32 dynloc;

View file

@ -0,0 +1,17 @@
// compile
// Copyright 2013 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
// Issue 6247: 5g used to be confused by the numbering
// of floating-point registers.
package main
var p map[string]interface{}
var v interface{}
func F() {
p["hello"] = v.(complex128) * v.(complex128)
}