mirror of
https://github.com/golang/go.git
synced 2025-12-08 06:10:04 +00:00
[dev.simd] cmd/compile, simd: add variable Permute
This CL also added some tests for them. This CL is generated by CL 687919. Change-Id: I9ddd2cd23bb98ecca91bfbeaffd62faa4bd85e0d Reviewed-on: https://go-review.googlesource.com/c/go/+/687939 LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Reviewed-by: David Chase <drchase@google.com>
This commit is contained in:
parent
f5f42753ab
commit
01f7f57025
11 changed files with 4385 additions and 0 deletions
|
|
@ -233,6 +233,20 @@ func ssaGenSIMDValue(s *ssagen.State, v *ssa.Value) bool {
|
|||
ssa.OpAMD64VPHSUBW256,
|
||||
ssa.OpAMD64VPHSUBD128,
|
||||
ssa.OpAMD64VPHSUBD256,
|
||||
ssa.OpAMD64VPERMB128,
|
||||
ssa.OpAMD64VPERMB256,
|
||||
ssa.OpAMD64VPERMB512,
|
||||
ssa.OpAMD64VPERMW128,
|
||||
ssa.OpAMD64VPERMW256,
|
||||
ssa.OpAMD64VPERMW512,
|
||||
ssa.OpAMD64VPERMPS256,
|
||||
ssa.OpAMD64VPERMD256,
|
||||
ssa.OpAMD64VPERMPS512,
|
||||
ssa.OpAMD64VPERMD512,
|
||||
ssa.OpAMD64VPERMPD256,
|
||||
ssa.OpAMD64VPERMQ256,
|
||||
ssa.OpAMD64VPERMPD512,
|
||||
ssa.OpAMD64VPERMQ512,
|
||||
ssa.OpAMD64VPROLVD128,
|
||||
ssa.OpAMD64VPROLVD256,
|
||||
ssa.OpAMD64VPROLVD512,
|
||||
|
|
@ -468,6 +482,20 @@ func ssaGenSIMDValue(s *ssagen.State, v *ssa.Value) bool {
|
|||
ssa.OpAMD64VPMADDWDMasked128,
|
||||
ssa.OpAMD64VPMADDWDMasked256,
|
||||
ssa.OpAMD64VPMADDWDMasked512,
|
||||
ssa.OpAMD64VPERMBMasked128,
|
||||
ssa.OpAMD64VPERMBMasked256,
|
||||
ssa.OpAMD64VPERMBMasked512,
|
||||
ssa.OpAMD64VPERMWMasked128,
|
||||
ssa.OpAMD64VPERMWMasked256,
|
||||
ssa.OpAMD64VPERMWMasked512,
|
||||
ssa.OpAMD64VPERMPSMasked256,
|
||||
ssa.OpAMD64VPERMDMasked256,
|
||||
ssa.OpAMD64VPERMPSMasked512,
|
||||
ssa.OpAMD64VPERMDMasked512,
|
||||
ssa.OpAMD64VPERMPDMasked256,
|
||||
ssa.OpAMD64VPERMQMasked256,
|
||||
ssa.OpAMD64VPERMPDMasked512,
|
||||
ssa.OpAMD64VPERMQMasked512,
|
||||
ssa.OpAMD64VPROLVDMasked128,
|
||||
ssa.OpAMD64VPROLVDMasked256,
|
||||
ssa.OpAMD64VPROLVDMasked512,
|
||||
|
|
@ -766,6 +794,24 @@ func ssaGenSIMDValue(s *ssagen.State, v *ssa.Value) bool {
|
|||
ssa.OpAMD64VPDPWSSD128,
|
||||
ssa.OpAMD64VPDPWSSD256,
|
||||
ssa.OpAMD64VPDPWSSD512,
|
||||
ssa.OpAMD64VPERMI2B128,
|
||||
ssa.OpAMD64VPERMI2B256,
|
||||
ssa.OpAMD64VPERMI2B512,
|
||||
ssa.OpAMD64VPERMI2W128,
|
||||
ssa.OpAMD64VPERMI2W256,
|
||||
ssa.OpAMD64VPERMI2W512,
|
||||
ssa.OpAMD64VPERMI2PS128,
|
||||
ssa.OpAMD64VPERMI2D128,
|
||||
ssa.OpAMD64VPERMI2PS256,
|
||||
ssa.OpAMD64VPERMI2D256,
|
||||
ssa.OpAMD64VPERMI2PS512,
|
||||
ssa.OpAMD64VPERMI2D512,
|
||||
ssa.OpAMD64VPERMI2PD128,
|
||||
ssa.OpAMD64VPERMI2Q128,
|
||||
ssa.OpAMD64VPERMI2PD256,
|
||||
ssa.OpAMD64VPERMI2Q256,
|
||||
ssa.OpAMD64VPERMI2PD512,
|
||||
ssa.OpAMD64VPERMI2Q512,
|
||||
ssa.OpAMD64VPDPWSSDS128,
|
||||
ssa.OpAMD64VPDPWSSDS256,
|
||||
ssa.OpAMD64VPDPWSSDS512,
|
||||
|
|
@ -816,6 +862,24 @@ func ssaGenSIMDValue(s *ssagen.State, v *ssa.Value) bool {
|
|||
ssa.OpAMD64VPDPWSSDMasked128,
|
||||
ssa.OpAMD64VPDPWSSDMasked256,
|
||||
ssa.OpAMD64VPDPWSSDMasked512,
|
||||
ssa.OpAMD64VPERMI2BMasked128,
|
||||
ssa.OpAMD64VPERMI2BMasked256,
|
||||
ssa.OpAMD64VPERMI2BMasked512,
|
||||
ssa.OpAMD64VPERMI2WMasked128,
|
||||
ssa.OpAMD64VPERMI2WMasked256,
|
||||
ssa.OpAMD64VPERMI2WMasked512,
|
||||
ssa.OpAMD64VPERMI2PSMasked128,
|
||||
ssa.OpAMD64VPERMI2DMasked128,
|
||||
ssa.OpAMD64VPERMI2PSMasked256,
|
||||
ssa.OpAMD64VPERMI2DMasked256,
|
||||
ssa.OpAMD64VPERMI2PSMasked512,
|
||||
ssa.OpAMD64VPERMI2DMasked512,
|
||||
ssa.OpAMD64VPERMI2PDMasked128,
|
||||
ssa.OpAMD64VPERMI2QMasked128,
|
||||
ssa.OpAMD64VPERMI2PDMasked256,
|
||||
ssa.OpAMD64VPERMI2QMasked256,
|
||||
ssa.OpAMD64VPERMI2PDMasked512,
|
||||
ssa.OpAMD64VPERMI2QMasked512,
|
||||
ssa.OpAMD64VPDPWSSDSMasked128,
|
||||
ssa.OpAMD64VPDPWSSDSMasked256,
|
||||
ssa.OpAMD64VPDPWSSDSMasked512,
|
||||
|
|
@ -1158,6 +1222,38 @@ func ssaGenSIMDValue(s *ssagen.State, v *ssa.Value) bool {
|
|||
ssa.OpAMD64VPMADDWDMasked128,
|
||||
ssa.OpAMD64VPMADDWDMasked256,
|
||||
ssa.OpAMD64VPMADDWDMasked512,
|
||||
ssa.OpAMD64VPERMI2BMasked128,
|
||||
ssa.OpAMD64VPERMI2BMasked256,
|
||||
ssa.OpAMD64VPERMI2BMasked512,
|
||||
ssa.OpAMD64VPERMI2WMasked128,
|
||||
ssa.OpAMD64VPERMI2WMasked256,
|
||||
ssa.OpAMD64VPERMI2WMasked512,
|
||||
ssa.OpAMD64VPERMI2PSMasked128,
|
||||
ssa.OpAMD64VPERMI2DMasked128,
|
||||
ssa.OpAMD64VPERMI2PSMasked256,
|
||||
ssa.OpAMD64VPERMI2DMasked256,
|
||||
ssa.OpAMD64VPERMI2PSMasked512,
|
||||
ssa.OpAMD64VPERMI2DMasked512,
|
||||
ssa.OpAMD64VPERMI2PDMasked128,
|
||||
ssa.OpAMD64VPERMI2QMasked128,
|
||||
ssa.OpAMD64VPERMI2PDMasked256,
|
||||
ssa.OpAMD64VPERMI2QMasked256,
|
||||
ssa.OpAMD64VPERMI2PDMasked512,
|
||||
ssa.OpAMD64VPERMI2QMasked512,
|
||||
ssa.OpAMD64VPERMBMasked128,
|
||||
ssa.OpAMD64VPERMBMasked256,
|
||||
ssa.OpAMD64VPERMBMasked512,
|
||||
ssa.OpAMD64VPERMWMasked128,
|
||||
ssa.OpAMD64VPERMWMasked256,
|
||||
ssa.OpAMD64VPERMWMasked512,
|
||||
ssa.OpAMD64VPERMPSMasked256,
|
||||
ssa.OpAMD64VPERMDMasked256,
|
||||
ssa.OpAMD64VPERMPSMasked512,
|
||||
ssa.OpAMD64VPERMDMasked512,
|
||||
ssa.OpAMD64VPERMPDMasked256,
|
||||
ssa.OpAMD64VPERMQMasked256,
|
||||
ssa.OpAMD64VPERMPDMasked512,
|
||||
ssa.OpAMD64VPERMQMasked512,
|
||||
ssa.OpAMD64VPOPCNTBMasked128,
|
||||
ssa.OpAMD64VPOPCNTBMasked256,
|
||||
ssa.OpAMD64VPOPCNTBMasked512,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue