inst,ir: cancelling inputs (#92)
Adds support for a `CancellingInputs` instruction flag, to indicate cases like `XORQ R10, R10` where the instruction actually does not depend on the value of `R10` at all. Closes #89
This commit is contained in:
committed by
GitHub
parent
8f97788836
commit
d43efabdbe
209
tests/fixedbugs/issue89/issue89.s
Normal file
209
tests/fixedbugs/issue89/issue89.s
Normal file
@@ -0,0 +1,209 @@
|
||||
// Code generated by command: go run asm.go -out issue89.s -stubs stub.go. DO NOT EDIT.
|
||||
|
||||
#include "textflag.h"
|
||||
|
||||
// func Issue89() uint64
|
||||
TEXT ·Issue89(SB), NOSPLIT, $0-8
|
||||
MOVQ $0x0000002a, AX
|
||||
XORQ CX, CX
|
||||
ADDQ CX, AX
|
||||
XORQ CX, CX
|
||||
ADDQ CX, AX
|
||||
XORQ CX, CX
|
||||
ADDQ CX, AX
|
||||
XORQ CX, CX
|
||||
ADDQ CX, AX
|
||||
XORQ CX, CX
|
||||
ADDQ CX, AX
|
||||
XORQ CX, CX
|
||||
ADDQ CX, AX
|
||||
XORQ CX, CX
|
||||
ADDQ CX, AX
|
||||
XORQ CX, CX
|
||||
ADDQ CX, AX
|
||||
XORQ CX, CX
|
||||
ADDQ CX, AX
|
||||
XORQ CX, CX
|
||||
ADDQ CX, AX
|
||||
XORQ CX, CX
|
||||
ADDQ CX, AX
|
||||
XORQ CX, CX
|
||||
ADDQ CX, AX
|
||||
XORQ CX, CX
|
||||
ADDQ CX, AX
|
||||
XORQ CX, CX
|
||||
ADDQ CX, AX
|
||||
XORQ CX, CX
|
||||
ADDQ CX, AX
|
||||
XORQ CX, CX
|
||||
ADDQ CX, AX
|
||||
XORQ CX, CX
|
||||
ADDQ CX, AX
|
||||
XORQ CX, CX
|
||||
ADDQ CX, AX
|
||||
XORQ CX, CX
|
||||
ADDQ CX, AX
|
||||
XORQ CX, CX
|
||||
ADDQ CX, AX
|
||||
XORQ CX, CX
|
||||
ADDQ CX, AX
|
||||
XORQ CX, CX
|
||||
ADDQ CX, AX
|
||||
XORQ CX, CX
|
||||
ADDQ CX, AX
|
||||
XORQ CX, CX
|
||||
ADDQ CX, AX
|
||||
XORQ CX, CX
|
||||
ADDQ CX, AX
|
||||
XORQ CX, CX
|
||||
ADDQ CX, AX
|
||||
XORQ CX, CX
|
||||
ADDQ CX, AX
|
||||
XORQ CX, CX
|
||||
ADDQ CX, AX
|
||||
XORQ CX, CX
|
||||
ADDQ CX, AX
|
||||
XORQ CX, CX
|
||||
ADDQ CX, AX
|
||||
XORQ CX, CX
|
||||
ADDQ CX, AX
|
||||
XORQ CX, CX
|
||||
ADDQ CX, AX
|
||||
XORQ CX, CX
|
||||
ADDQ CX, AX
|
||||
XORQ CX, CX
|
||||
ADDQ CX, AX
|
||||
XORQ CX, CX
|
||||
ADDQ CX, AX
|
||||
XORQ CX, CX
|
||||
ADDQ CX, AX
|
||||
XORQ CX, CX
|
||||
ADDQ CX, AX
|
||||
XORQ CX, CX
|
||||
ADDQ CX, AX
|
||||
XORQ CX, CX
|
||||
ADDQ CX, AX
|
||||
XORQ CX, CX
|
||||
ADDQ CX, AX
|
||||
XORQ CX, CX
|
||||
ADDQ CX, AX
|
||||
XORQ CX, CX
|
||||
ADDQ CX, AX
|
||||
XORQ CX, CX
|
||||
ADDQ CX, AX
|
||||
XORQ CX, CX
|
||||
ADDQ CX, AX
|
||||
XORQ CX, CX
|
||||
ADDQ CX, AX
|
||||
XORQ CX, CX
|
||||
ADDQ CX, AX
|
||||
XORQ CX, CX
|
||||
ADDQ CX, AX
|
||||
XORQ CX, CX
|
||||
ADDQ CX, AX
|
||||
XORQ CX, CX
|
||||
ADDQ CX, AX
|
||||
XORQ CX, CX
|
||||
ADDQ CX, AX
|
||||
XORQ CX, CX
|
||||
ADDQ CX, AX
|
||||
XORQ CX, CX
|
||||
ADDQ CX, AX
|
||||
XORQ CX, CX
|
||||
ADDQ CX, AX
|
||||
XORQ CX, CX
|
||||
ADDQ CX, AX
|
||||
XORQ CX, CX
|
||||
ADDQ CX, AX
|
||||
XORQ CX, CX
|
||||
ADDQ CX, AX
|
||||
XORQ CX, CX
|
||||
ADDQ CX, AX
|
||||
XORQ CX, CX
|
||||
ADDQ CX, AX
|
||||
XORQ CX, CX
|
||||
ADDQ CX, AX
|
||||
XORQ CX, CX
|
||||
ADDQ CX, AX
|
||||
XORQ CX, CX
|
||||
ADDQ CX, AX
|
||||
XORQ CX, CX
|
||||
ADDQ CX, AX
|
||||
XORQ CX, CX
|
||||
ADDQ CX, AX
|
||||
XORQ CX, CX
|
||||
ADDQ CX, AX
|
||||
XORQ CX, CX
|
||||
ADDQ CX, AX
|
||||
XORQ CX, CX
|
||||
ADDQ CX, AX
|
||||
XORQ CX, CX
|
||||
ADDQ CX, AX
|
||||
XORQ CX, CX
|
||||
ADDQ CX, AX
|
||||
XORQ CX, CX
|
||||
ADDQ CX, AX
|
||||
XORQ CX, CX
|
||||
ADDQ CX, AX
|
||||
XORQ CX, CX
|
||||
ADDQ CX, AX
|
||||
XORQ CX, CX
|
||||
ADDQ CX, AX
|
||||
XORQ CX, CX
|
||||
ADDQ CX, AX
|
||||
XORQ CX, CX
|
||||
ADDQ CX, AX
|
||||
XORQ CX, CX
|
||||
ADDQ CX, AX
|
||||
XORQ CX, CX
|
||||
ADDQ CX, AX
|
||||
XORQ CX, CX
|
||||
ADDQ CX, AX
|
||||
XORQ CX, CX
|
||||
ADDQ CX, AX
|
||||
XORQ CX, CX
|
||||
ADDQ CX, AX
|
||||
XORQ CX, CX
|
||||
ADDQ CX, AX
|
||||
XORQ CX, CX
|
||||
ADDQ CX, AX
|
||||
XORQ CX, CX
|
||||
ADDQ CX, AX
|
||||
XORQ CX, CX
|
||||
ADDQ CX, AX
|
||||
XORQ CX, CX
|
||||
ADDQ CX, AX
|
||||
XORQ CX, CX
|
||||
ADDQ CX, AX
|
||||
XORQ CX, CX
|
||||
ADDQ CX, AX
|
||||
XORQ CX, CX
|
||||
ADDQ CX, AX
|
||||
XORQ CX, CX
|
||||
ADDQ CX, AX
|
||||
XORQ CX, CX
|
||||
ADDQ CX, AX
|
||||
XORQ CX, CX
|
||||
ADDQ CX, AX
|
||||
XORQ CX, CX
|
||||
ADDQ CX, AX
|
||||
XORQ CX, CX
|
||||
ADDQ CX, AX
|
||||
XORQ CX, CX
|
||||
ADDQ CX, AX
|
||||
XORQ CX, CX
|
||||
ADDQ CX, AX
|
||||
XORQ CX, CX
|
||||
ADDQ CX, AX
|
||||
XORQ CX, CX
|
||||
ADDQ CX, AX
|
||||
XORQ CX, CX
|
||||
ADDQ CX, AX
|
||||
XORQ CX, CX
|
||||
ADDQ CX, AX
|
||||
XORQ CX, CX
|
||||
ADDQ CX, AX
|
||||
XORQ CX, CX
|
||||
ADDQ CX, AX
|
||||
MOVQ AX, ret+0(FP)
|
||||
RET
|
||||
Reference in New Issue
Block a user