diff options
| author | Michael Munday <mike.munday@ibm.com> | 2020-04-01 03:21:03 -0700 |
|---|---|---|
| committer | Michael Munday <mike.munday@ibm.com> | 2020-04-02 13:38:07 +0000 |
| commit | a7a0f0305035948f4c86e08e6e64409ab11a6f67 (patch) | |
| tree | 3bb5b2e0db73e9cbd7bdd29da9cb9cda413d59eb /src/cmd/internal/obj/objfile.go | |
| parent | 801cd7c84d42dcf18256416524aa0d31d6305830 (diff) | |
| download | go-a7a0f0305035948f4c86e08e6e64409ab11a6f67.tar.xz | |
cmd/compile: mark 'store multiple' as clobbering flags on s390x
Store multiple instructions can clobber flags on s390x when the
offset passed into the assembler is outside the range representable
with a signed 20 bit integer. This is because the assembler uses
the agfi instruction to implement the large offset. The assembler
could use a different sequence of instructions, but for now just
mark the instruction as 'clobberFlags' since this is risk free.
Noticed while investigating #38195.
No test yet since I'm not sure how to get this bug to trigger and
I haven't seen it affect real code.
Change-Id: I4a6ab96455a3ef8ffacb76ef0166b97eb40ff925
Reviewed-on: https://go-review.googlesource.com/c/go/+/226759
Run-TryBot: Michael Munday <mike.munday@ibm.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Keith Randall <khr@golang.org>
Reviewed-by: Cherry Zhang <cherryyz@google.com>
Diffstat (limited to 'src/cmd/internal/obj/objfile.go')
0 files changed, 0 insertions, 0 deletions
