AMODE appears to have been intended to allow
a Prog to switch between 16 (!), 32, or 64 bit x86.
It is unused anywhere in the tree.
Passes toolstash-check -all.
Updates #15756
Change-Id: Ic57b257cfe580f29dad81d97e4193bf3c330c598
Reviewed-on: https://go-review.googlesource.com/38445
Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Dave Cheney <dave@cheney.net>
Reviewed-by: Cherry Zhang <cherryyz@google.com>
ARETFQ
ASWAPGS
- AMODE
ACRC32B
ACRC32Q
AIMUL3Q
"RETFL",
"RETFQ",
"SWAPGS",
- "MODE",
"CRC32B",
"CRC32Q",
"IMUL3Q",
}
p.Mode = int8(ctxt.Mode)
- switch p.As {
- case AMODE:
- if p.From.Type == obj.TYPE_CONST || (p.From.Type == obj.TYPE_MEM && p.From.Reg == REG_NONE) {
- switch int(p.From.Offset) {
- case 16, 32, 64:
- ctxt.Mode = int(p.From.Offset)
- }
- }
- obj.Nopout(p)
- }
-
// Thread-local storage references use the TLS pseudo-register.
// As a register, TLS refers to the thread-local storage base, and it
// can only be loaded into another register: