Skip to content

Commit

Permalink
feat: added more avx512 instructions
Browse files Browse the repository at this point in the history
  • Loading branch information
gbotrel committed Sep 30, 2024
1 parent 943c0c2 commit 38427ea
Showing 1 changed file with 30 additions and 0 deletions.
30 changes: 30 additions & 0 deletions amd64/instructions.go
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,21 @@ func (amd64 *Amd64) RET() {

// AVX 512 instructions

// VPSLLQ: Shift Packed Quadword Data Left Logical
func (amd64 *Amd64) VPSLLQ(r1, r2, r3 interface{}, comment ...string) {
amd64.writeOp(comment, "VPSLLQ", r1, r2, r3)
}

// VPSUBQ: Subtract Packed Quadword Integers
func (amd64 *Amd64) VPSUBQ(r1, r2, r3 interface{}, comment ...string) {
amd64.writeOp(comment, "VPSUBQ", r1, r2, r3)
}

// KNOTB: NOT 8-bit Mask Register
func (amd64 *Amd64) KNOTB(r1, r2 interface{}, comment ...string) {
amd64.writeOp(comment, "KNOTB", r1, r2)
}

// VSHUFI64X2: Shuffle 128-Bit Packed Quadword Integer Values
func (amd64 *Amd64) VSHUFI64X2(r1, r2, r3, r4 interface{}, comment ...string) {
amd64.writeOp(comment, "VSHUFI64X2", r1, r2, r3, r4)
Expand Down Expand Up @@ -98,6 +113,16 @@ func (amd64 *Amd64) VPXORQ(r1, r2, r3 interface{}, comment ...string) {
amd64.writeOp(comment, "VPXORQ", r1, r2, r3)
}

// VPORQ: Bitwise Logical OR of Packed Quadword Integers
func (amd64 *Amd64) VPORQ(r1, r2, r3 interface{}, comment ...string) {
amd64.writeOp(comment, "VPORQ", r1, r2, r3)
}

// VPERMT2Q: Full Permute of Quadwords From Two Tables Overwriting a Table
func (amd64 *Amd64) VPERMT2Q(r1, r2, r3 interface{}, comment ...string) {
amd64.writeOp(comment, "VPERMT2Q", r1, r2, r3)
}

// VMOVDQA64 Move Aligned Quadword Values
func (amd64 *Amd64) VMOVDQA64(r1, r2 interface{}, comment ...string) {
amd64.writeOp(comment, "VMOVDQA64", r1, r2)
Expand All @@ -118,6 +143,11 @@ func (amd64 *Amd64) VMOVDQU64(r1, r2 interface{}, comment ...string) {
amd64.writeOp(comment, "VMOVDQU64", r1, r2)
}

// VMOVDQU64 Move Unaligned Quadword Values
func (amd64 *Amd64) VMOVDQU64k(r1, k, r2 interface{}, comment ...string) {
amd64.writeOp(comment, "VMOVDQU64", r1, r2)
}

// VPADDQ Add Packed Quadword Integers
func (amd64 *Amd64) VPADDQ(r1, r2, r3 interface{}, comment ...string) {
amd64.writeOp(comment, "VPADDQ", r1, r2, r3)
Expand Down

0 comments on commit 38427ea

Please sign in to comment.