[dev.simd] cmd/compile, simd: complete u?int widening conversions

Change-Id: I21da09261b6b278768d99229fe2db387aef1e812
Reviewed-on: https://go-review.googlesource.com/c/go/+/697915
Reviewed-by: David Chase <drchase@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
This commit is contained in:
Junyang Shao 2025-08-21 02:47:53 +00:00
parent 6af8881adb
commit f4c41d9922
10 changed files with 1993 additions and 14 deletions

View file

@ -41,18 +41,48 @@ func ssaGenSIMDValue(s *ssagen.State, v *ssa.Value) bool {
ssa.OpAMD64VPBROADCASTW512,
ssa.OpAMD64VPBROADCASTD512,
ssa.OpAMD64VPBROADCASTQ512,
ssa.OpAMD64VPMOVSXBW256,
ssa.OpAMD64VPMOVSXBW512,
ssa.OpAMD64VPMOVSXBW128,
ssa.OpAMD64VCVTTPS2DQ128,
ssa.OpAMD64VCVTTPS2DQ256,
ssa.OpAMD64VCVTTPS2DQ512,
ssa.OpAMD64VPMOVSXBD512,
ssa.OpAMD64VPMOVSXWD256,
ssa.OpAMD64VPMOVSXWD512,
ssa.OpAMD64VPMOVSXBD128,
ssa.OpAMD64VPMOVSXWD128,
ssa.OpAMD64VPMOVSXBD256,
ssa.OpAMD64VPMOVSXWQ512,
ssa.OpAMD64VPMOVSXDQ256,
ssa.OpAMD64VPMOVSXDQ512,
ssa.OpAMD64VPMOVSXBQ128,
ssa.OpAMD64VPMOVSXWQ128,
ssa.OpAMD64VPMOVSXDQ128,
ssa.OpAMD64VPMOVSXBQ256,
ssa.OpAMD64VPMOVSXBQ512,
ssa.OpAMD64VPMOVZXBW256,
ssa.OpAMD64VPMOVZXBW512,
ssa.OpAMD64VPMOVZXBW128,
ssa.OpAMD64VCVTPS2UDQ128,
ssa.OpAMD64VCVTPS2UDQ256,
ssa.OpAMD64VCVTPS2UDQ512,
ssa.OpAMD64VPMOVZXBD512,
ssa.OpAMD64VPMOVZXWD256,
ssa.OpAMD64VPMOVZXWD512,
ssa.OpAMD64VPMOVZXBD128,
ssa.OpAMD64VPMOVZXWD128,
ssa.OpAMD64VPMOVZXBD256,
ssa.OpAMD64VPMOVZXWQ512,
ssa.OpAMD64VPMOVZXDQ256,
ssa.OpAMD64VPMOVZXDQ512,
ssa.OpAMD64VPMOVZXBQ128,
ssa.OpAMD64VPMOVZXWQ128,
ssa.OpAMD64VPMOVZXDQ128,
ssa.OpAMD64VPMOVSXWQ256,
ssa.OpAMD64VPMOVZXBQ256,
ssa.OpAMD64VPMOVZXWQ256,
ssa.OpAMD64VPMOVZXBQ512,
ssa.OpAMD64VPOPCNTB128,
ssa.OpAMD64VPOPCNTB256,
ssa.OpAMD64VPOPCNTB512,
@ -685,18 +715,48 @@ func ssaGenSIMDValue(s *ssagen.State, v *ssa.Value) bool {
ssa.OpAMD64VPCOMPRESSQMasked128,
ssa.OpAMD64VPCOMPRESSQMasked256,
ssa.OpAMD64VPCOMPRESSQMasked512,
ssa.OpAMD64VPMOVSXBWMasked256,
ssa.OpAMD64VPMOVSXBWMasked512,
ssa.OpAMD64VPMOVSXBWMasked128,
ssa.OpAMD64VCVTTPS2DQMasked128,
ssa.OpAMD64VCVTTPS2DQMasked256,
ssa.OpAMD64VCVTTPS2DQMasked512,
ssa.OpAMD64VPMOVSXBDMasked512,
ssa.OpAMD64VPMOVSXWDMasked256,
ssa.OpAMD64VPMOVSXWDMasked512,
ssa.OpAMD64VPMOVSXBDMasked128,
ssa.OpAMD64VPMOVSXWDMasked128,
ssa.OpAMD64VPMOVSXBDMasked256,
ssa.OpAMD64VPMOVSXWQMasked512,
ssa.OpAMD64VPMOVSXDQMasked256,
ssa.OpAMD64VPMOVSXDQMasked512,
ssa.OpAMD64VPMOVSXBQMasked128,
ssa.OpAMD64VPMOVSXWQMasked128,
ssa.OpAMD64VPMOVSXDQMasked128,
ssa.OpAMD64VPMOVSXBQMasked256,
ssa.OpAMD64VPMOVSXBQMasked512,
ssa.OpAMD64VPMOVZXBWMasked256,
ssa.OpAMD64VPMOVZXBWMasked512,
ssa.OpAMD64VPMOVZXBWMasked128,
ssa.OpAMD64VCVTPS2UDQMasked128,
ssa.OpAMD64VCVTPS2UDQMasked256,
ssa.OpAMD64VCVTPS2UDQMasked512,
ssa.OpAMD64VPMOVZXBDMasked512,
ssa.OpAMD64VPMOVZXWDMasked256,
ssa.OpAMD64VPMOVZXWDMasked512,
ssa.OpAMD64VPMOVZXBDMasked128,
ssa.OpAMD64VPMOVZXWDMasked128,
ssa.OpAMD64VPMOVZXBDMasked256,
ssa.OpAMD64VPMOVZXWQMasked512,
ssa.OpAMD64VPMOVZXDQMasked256,
ssa.OpAMD64VPMOVZXDQMasked512,
ssa.OpAMD64VPMOVZXBQMasked128,
ssa.OpAMD64VPMOVZXWQMasked128,
ssa.OpAMD64VPMOVZXDQMasked128,
ssa.OpAMD64VPMOVSXWQMasked256,
ssa.OpAMD64VPMOVZXBQMasked256,
ssa.OpAMD64VPMOVZXWQMasked256,
ssa.OpAMD64VPMOVZXBQMasked512,
ssa.OpAMD64VEXPANDPSMasked128,
ssa.OpAMD64VEXPANDPSMasked256,
ssa.OpAMD64VEXPANDPSMasked512,
@ -1307,18 +1367,48 @@ func ssaGenSIMDValue(s *ssagen.State, v *ssa.Value) bool {
ssa.OpAMD64VPCOMPRESSQMasked128,
ssa.OpAMD64VPCOMPRESSQMasked256,
ssa.OpAMD64VPCOMPRESSQMasked512,
ssa.OpAMD64VPMOVSXBWMasked256,
ssa.OpAMD64VPMOVSXBWMasked512,
ssa.OpAMD64VPMOVSXBWMasked128,
ssa.OpAMD64VCVTTPS2DQMasked128,
ssa.OpAMD64VCVTTPS2DQMasked256,
ssa.OpAMD64VCVTTPS2DQMasked512,
ssa.OpAMD64VPMOVSXBDMasked512,
ssa.OpAMD64VPMOVSXWDMasked256,
ssa.OpAMD64VPMOVSXWDMasked512,
ssa.OpAMD64VPMOVSXBDMasked128,
ssa.OpAMD64VPMOVSXWDMasked128,
ssa.OpAMD64VPMOVSXBDMasked256,
ssa.OpAMD64VPMOVSXWQMasked512,
ssa.OpAMD64VPMOVSXDQMasked256,
ssa.OpAMD64VPMOVSXDQMasked512,
ssa.OpAMD64VPMOVSXBQMasked128,
ssa.OpAMD64VPMOVSXWQMasked128,
ssa.OpAMD64VPMOVSXDQMasked128,
ssa.OpAMD64VPMOVSXBQMasked256,
ssa.OpAMD64VPMOVSXBQMasked512,
ssa.OpAMD64VPMOVZXBWMasked256,
ssa.OpAMD64VPMOVZXBWMasked512,
ssa.OpAMD64VPMOVZXBWMasked128,
ssa.OpAMD64VCVTPS2UDQMasked128,
ssa.OpAMD64VCVTPS2UDQMasked256,
ssa.OpAMD64VCVTPS2UDQMasked512,
ssa.OpAMD64VPMOVZXBDMasked512,
ssa.OpAMD64VPMOVZXWDMasked256,
ssa.OpAMD64VPMOVZXWDMasked512,
ssa.OpAMD64VPMOVZXBDMasked128,
ssa.OpAMD64VPMOVZXWDMasked128,
ssa.OpAMD64VPMOVZXBDMasked256,
ssa.OpAMD64VPMOVZXWQMasked512,
ssa.OpAMD64VPMOVZXDQMasked256,
ssa.OpAMD64VPMOVZXDQMasked512,
ssa.OpAMD64VPMOVZXBQMasked128,
ssa.OpAMD64VPMOVZXWQMasked128,
ssa.OpAMD64VPMOVZXDQMasked128,
ssa.OpAMD64VPMOVSXWQMasked256,
ssa.OpAMD64VPMOVZXBQMasked256,
ssa.OpAMD64VPMOVZXWQMasked256,
ssa.OpAMD64VPMOVZXBQMasked512,
ssa.OpAMD64VDIVPSMasked128,
ssa.OpAMD64VDIVPSMasked256,
ssa.OpAMD64VDIVPSMasked512,