• isharipo's avatar
    obj/x86: re-organize code to make codegen easier · c35f239d
    isharipo authored
    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: 's avatarCherry Zhang <cherryyz@google.com>
    c35f239d
aenum.go 7.29 KB