<pre class="notranslate">What steps will reproduce the problem?
1. hg clone <a href="https://code.google.com/p/go" rel="nofollow">https://code.google.com/p/go</a>
2. cd go/src
3. ./all.bash
4. go vet strconv

What is the expected output?
Output from go vet.

What do you see instead?
go tool: no such tool "vet"; to install:
    go install code.google.com/p/go.tools/cmd/vet

Which compiler are you using (5g, 6g, 8g, gccgo)?
6g

Which operating system are you using?
linux

Which version are you using?  (run 'go version')
go version devel +4bd7beaedee8 Tue May 21 21:18:10 2013 -0700 linux/amd64

Please provide any additional information below.
Preferably ./all.bash in combination with cmd/dist will download and install vet from
go.tools.

If manual installation is the intended behavior then the error message should state
"go get code.google.com/p/go.tools/cmd/vet" rather than "go
install", since we need to checkout the repo.</pre>
<pre class="notranslate">Currently in sys_windows_amd64.s line 41-ish

loadregs:
  // Load first 4 args into correspondent registers.                                                                                          
  MOVQ  0(SI), CX
  MOVQ  8(SI), DX
  MOVQ  16(SI), R8
  MOVQ  24(SI), R9

But if an arg is a float32/float64 it should be loaded into an xmm register instead

<a href="http://msdn.microsoft.com/en-us/library/ms235286.aspx" rel="nofollow">http://msdn.microsoft.com/en-us/library/ms235286.aspx</a>

In the "Calling Convention" section.
"
The arguments are passed in registers RCX, RDX, R8, and R9. If the arguments are
float/double, they are passed in XMM0L, XMM1L, XMM2L, and XMM3L.
"

Perhaps the easy thing is to just load them into both sets of 4?
Then you wouldn't have to type check going out...

Figured I shouldn't try submitting a patch for something so low level without any
previous submissions.

I am no windows pro, so I may just be confused here.

I discovered this trying to call glClearColor (which takes only 4 floats) with
syscall.Syscall6.  I got random colors every run, which was fairly interesting.
Used a fake opengl32.dll (from GLIntercept) and a Printf right before Syscall6 to
discover my values were not being pushed all the way through unless they were integers.

I didn't look into 32bit windows and float args. It may have similar problem.
Hopefully this makes sense my brain hurts. I hate windows.</pre>