]> Cypherpunks repositories - gostls13.git/commit
obj/x86: re-organize code to make codegen easier
authorisharipo <iskander.sharipov@intel.com>
Fri, 13 Oct 2017 12:37:16 +0000 (15:37 +0300)
committerIlya Tocar <ilya.tocar@intel.com>
Thu, 26 Oct 2017 21:13:40 +0000 (21:13 +0000)
commitc35f239d5226361cfccd3477e112bbea360c6ee2
tree8076cfdc8119b38eb21fea1f160567e2c061a4da
parent186872f3dacd017aed86fd57bb0bbbdaca35cd66
obj/x86: re-organize code to make codegen easier

1. Move AXXX constants (A-enumeration) from "a.out.go" to "aenum.go"
2. Move VEX-encoded optabs from "asm6.go" to "vex_optabs.go"

Also run "go generate" over aenum.go. This explains diff in "anames.go".

Initialization of opindex is split into 2 loops:
one for `vexOptab`, second for `optab`.

Rationale:
when VEX instructions are generated with current structure,
asm6.go is modified, which can lead to merge conflicts and
larger diffs than desired. Same for a.out.go.

This change makes x86avxgen usage possible:
https://go-review.googlesource.com/c/arch/+/66972

Change-Id: Id9eefcf5ccf0a89440e5d01bcb80926a8163b41d
Reviewed-on: https://go-review.googlesource.com/70630
Run-TryBot: Iskander Sharipov <iskander.sharipov@intel.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Cherry Zhang <cherryyz@google.com>
src/cmd/internal/obj/x86/a.out.go
src/cmd/internal/obj/x86/aenum.go [new file with mode: 0644]
src/cmd/internal/obj/x86/anames.go
src/cmd/internal/obj/x86/asm6.go
src/cmd/internal/obj/x86/vex_optabs.go [new file with mode: 0644]