1
0
mirror of https://github.com/golang/go synced 2024-10-05 16:41:21 -06:00

[dev.ssa] cmd/compile/internal/ssa: make SETEQF and SETNEF clobber flags

They do an AND or an OR internally, so they clobber flags.

Fixes #12441

Change-Id: I6c843bd268496bc13fc7e3c561d76619e961e8ad
Reviewed-on: https://go-review.googlesource.com/14180
Reviewed-by: Todd Neal <todd@tneal.org>
This commit is contained in:
Keith Randall 2015-09-01 15:18:01 -07:00
parent 6411533ebf
commit 2511cf03b9
2 changed files with 3 additions and 3 deletions

View File

@ -112,7 +112,7 @@ func init() {
gp1flags = regInfo{inputs: []regMask{gpsp}, outputs: flagsonly}
flagsgp = regInfo{inputs: flagsonly, outputs: gponly}
readflags = regInfo{inputs: flagsonly, outputs: gponly}
flagsgpax = regInfo{inputs: flagsonly, clobbers: ax, outputs: []regMask{gp &^ ax}}
flagsgpax = regInfo{inputs: flagsonly, clobbers: ax | flags, outputs: []regMask{gp &^ ax}}
gpload = regInfo{inputs: []regMask{gpspsb, 0}, outputs: gponly}
gploadidx = regInfo{inputs: []regMask{gpspsb, gpsp, 0}, outputs: gponly}

View File

@ -2502,7 +2502,7 @@ var opcodeTable = [...]opInfo{
inputs: []inputInfo{
{0, 8589934592}, // .FLAGS
},
clobbers: 1, // .AX
clobbers: 8589934593, // .AX .FLAGS
outputs: []regMask{
65518, // .CX .DX .BX .BP .SI .DI .R8 .R9 .R10 .R11 .R12 .R13 .R14 .R15
},
@ -2515,7 +2515,7 @@ var opcodeTable = [...]opInfo{
inputs: []inputInfo{
{0, 8589934592}, // .FLAGS
},
clobbers: 1, // .AX
clobbers: 8589934593, // .AX .FLAGS
outputs: []regMask{
65518, // .CX .DX .BX .BP .SI .DI .R8 .R9 .R10 .R11 .R12 .R13 .R14 .R15
},