Adds a regression test based on klauspost/compress#186. This necessitated some related changes: * Mark "RET" as a terminal instruction * printer refactor to maintain compatibility with asmfmt * Tweaks to other regression tests to ensure they are run correctly in CI Updates #100 #65 #8
23 lines
336 B
Go
23 lines
336 B
Go
// +build ignore
|
|
|
|
package main
|
|
|
|
import (
|
|
. "github.com/mmcloughlin/avo/build"
|
|
. "github.com/mmcloughlin/avo/operand"
|
|
)
|
|
|
|
func main() {
|
|
TEXT("Issue100", NOSPLIT, "func() uint64")
|
|
x := GP64()
|
|
XORQ(x, x)
|
|
for i := 1; i <= 100; i++ {
|
|
t := GP64()
|
|
MOVQ(U32(i), t)
|
|
ADDQ(t.As64(), x)
|
|
}
|
|
Store(x, ReturnIndex(0))
|
|
RET()
|
|
Generate()
|
|
}
|