Files
avo/tests/fixedbugs/issue50/asm.go
Michael McLoughlin 220969f8c8 internal/load: support additional MOVQ forms
The Go assembler merges MOVD/MOVQ instruction forms. The logic in the
avo instruction loader was discarding the MOVD forms. This diff should
merge them correctly.

Updates #50
2019-01-20 22:34:52 -08:00

22 lines
397 B
Go

// +build ignore
package main
import (
. "github.com/mmcloughlin/avo/build"
)
func main() {
TEXT("Issue50", NOSPLIT, "func(x uint32) uint32")
Doc(
"Issue50 reported that MOVD/MOVQ was missing the r32, xmm form.",
"This function deliberately exercises this instruction form.",
)
x := Load(Param("x"), GP32())
xmm := XMM()
MOVQ(x, xmm)
Store(xmm, ReturnIndex(0))
RET()
Generate()
}