• isharipo's avatar
    cmd/internal/obj/x86: add AVX2 gather and VSIB · 4e19cfcd
    isharipo authored
    Enables AVX2 gather instructions and VSIB support,
    which makes vm32{x,y} vm64{x,y} operands encodable.
    
    AXXX constants placed with respect to sorting order.
    New VEX optabs inserted near non-VEX entries to simplify
    potential transition to auto-generated VSIB optabs.
    
    Tests go into new AMD64 encoder test file (amd64enc_extra.s)
    to avoid unnecessary interactions with auto-generated "amd64enc.s".
    
    Side note: x86avxgen did not produced these instructions
    because x86.v0.2.csv misses them.
    This also explains why x86 test suite have no AVX2 gather
    instructions tests.
    
    List of new instructions:
      VGATHERPDP
      VGATHERDPS
      VGATHERQPD
      VGATHERQPS
      VPGATHERDD
      VPGATHERDQ
      VPGATHERQD
      VPGATHERQQ
    
    Change-Id: Iac852f3c5016523670bd99de6bec6a48f66fb4f6
    Reviewed-on: https://go-review.googlesource.com/77970
    Run-TryBot: Iskander Sharipov <iskander.sharipov@intel.com>
    TryBot-Result: Gobot Gobot <gobot@golang.org>
    Reviewed-by: 's avatarIlya Tocar <ilya.tocar@intel.com>
    4e19cfcd
aenum.go 11 KB