mirror of
https://github.com/golang/go.git
synced 2025-12-08 06:10:04 +00:00
[dev.simd] cmd/compile: add simdFp1gp1fp1Imm8 helper to amd64 code generation
This is for VPINSRB[BWDQ], coming in a later CL. Change-Id: I6b4b99be43512623d4d6e5542221c18f0c5c2eb4 Reviewed-on: https://go-review.googlesource.com/c/go/+/682956 LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Reviewed-by: Junyang Shao <shaojunyang@google.com> Reviewed-by: Cherry Mui <cherryyz@google.com>
This commit is contained in:
parent
4150372a5d
commit
7c6ac35275
1 changed files with 16 additions and 0 deletions
|
|
@ -1626,6 +1626,22 @@ func simdFp21Imm8(s *ssagen.State, v *ssa.Value) *obj.Prog {
|
|||
return p
|
||||
}
|
||||
|
||||
// Example instruction: VPINSRB $3, DX, X0, X0
|
||||
func simdFp1gp1fp1Imm8(s *ssagen.State, v *ssa.Value) *obj.Prog {
|
||||
p := s.Prog(v.Op.Asm())
|
||||
imm := v.AuxInt
|
||||
if imm < 0 || imm > 255 {
|
||||
v.Fatalf("Invalid source selection immediate")
|
||||
}
|
||||
p.From.Offset = imm
|
||||
p.From.Type = obj.TYPE_CONST
|
||||
p.AddRestSourceReg(v.Args[1].Reg())
|
||||
p.AddRestSourceReg(simdReg(v.Args[0]))
|
||||
p.To.Type = obj.TYPE_REG
|
||||
p.To.Reg = simdReg(v)
|
||||
return p
|
||||
}
|
||||
|
||||
// Example instruction: VPCMPD $1, Z1, Z2, K1
|
||||
func simdFp2k1Imm8(s *ssagen.State, v *ssa.Value) *obj.Prog {
|
||||
return simdFp21Imm8(s, v)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue