Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
90 changes: 81 additions & 9 deletions llvm/lib/Target/X86/X86InstrAVX512.td

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions llvm/test/tools/llvm-mca/X86/Generic/resources-avx512vbmi2.s
Original file line number Diff line number Diff line change
Expand Up @@ -153,12 +153,12 @@ vpshrdw $1, (%rax), %zmm17, %zmm19 {k1}{z}
# CHECK-NEXT: 2 8 1.00 * vpcompressw %zmm16, (%rax) {%k1}
# CHECK-NEXT: 1 1 1.00 vpcompressw %zmm16, %zmm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 U vpexpandb %zmm16, %zmm19
# CHECK-NEXT: 2 8 1.00 U vpexpandb (%rax), %zmm19
# CHECK-NEXT: 2 8 1.00 * U vpexpandb (%rax), %zmm19
# CHECK-NEXT: 1 1 1.00 vpexpandb %zmm16, %zmm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vpexpandb (%rax), %zmm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vpexpandb %zmm16, %zmm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 U vpexpandw %zmm16, %zmm19
# CHECK-NEXT: 2 8 1.00 U vpexpandw (%rax), %zmm19
# CHECK-NEXT: 2 8 1.00 * U vpexpandw (%rax), %zmm19
# CHECK-NEXT: 1 1 1.00 vpexpandw %zmm16, %zmm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vpexpandw (%rax), %zmm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vpexpandw %zmm16, %zmm19 {%k1} {z}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -295,22 +295,22 @@ vpshrdw $1, (%rax), %ymm17, %ymm19 {k1}{z}
# CHECK-NEXT: 2 8 1.00 * vpcompressw %ymm16, (%rax) {%k1}
# CHECK-NEXT: 1 1 1.00 vpcompressw %ymm16, %ymm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 U vpexpandb %xmm16, %xmm19
# CHECK-NEXT: 2 8 1.00 U vpexpandb (%rax), %xmm19
# CHECK-NEXT: 2 8 1.00 * U vpexpandb (%rax), %xmm19
# CHECK-NEXT: 1 1 1.00 vpexpandb %xmm16, %xmm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vpexpandb (%rax), %xmm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vpexpandb %xmm16, %xmm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 U vpexpandb %ymm16, %ymm19
# CHECK-NEXT: 2 8 1.00 U vpexpandb (%rax), %ymm19
# CHECK-NEXT: 2 8 1.00 * U vpexpandb (%rax), %ymm19
# CHECK-NEXT: 1 1 1.00 vpexpandb %ymm16, %ymm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vpexpandb (%rax), %ymm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vpexpandb %ymm16, %ymm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 U vpexpandw %xmm16, %xmm19
# CHECK-NEXT: 2 8 1.00 U vpexpandw (%rax), %xmm19
# CHECK-NEXT: 2 8 1.00 * U vpexpandw (%rax), %xmm19
# CHECK-NEXT: 1 1 1.00 vpexpandw %xmm16, %xmm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vpexpandw (%rax), %xmm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vpexpandw %xmm16, %xmm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 U vpexpandw %ymm16, %ymm19
# CHECK-NEXT: 2 8 1.00 U vpexpandw (%rax), %ymm19
# CHECK-NEXT: 2 8 1.00 * U vpexpandw (%rax), %ymm19
# CHECK-NEXT: 1 1 1.00 vpexpandw %ymm16, %ymm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vpexpandw (%rax), %ymm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vpexpandw %ymm16, %ymm19 {%k1} {z}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -153,12 +153,12 @@ vpshrdw $1, (%rax), %zmm17, %zmm19 {k1}{z}
# CHECK-NEXT: 2 10 1.00 * vpcompressw %zmm16, (%rax) {%k1}
# CHECK-NEXT: 1 3 1.00 vpcompressw %zmm16, %zmm19 {%k1} {z}
# CHECK-NEXT: 1 3 1.00 U vpexpandb %zmm16, %zmm19
# CHECK-NEXT: 2 10 1.00 U vpexpandb (%rax), %zmm19
# CHECK-NEXT: 2 10 1.00 * U vpexpandb (%rax), %zmm19
# CHECK-NEXT: 1 3 1.00 vpexpandb %zmm16, %zmm19 {%k1}
# CHECK-NEXT: 2 10 1.00 * vpexpandb (%rax), %zmm19 {%k1}
# CHECK-NEXT: 1 3 1.00 vpexpandb %zmm16, %zmm19 {%k1} {z}
# CHECK-NEXT: 1 3 1.00 U vpexpandw %zmm16, %zmm19
# CHECK-NEXT: 2 10 1.00 U vpexpandw (%rax), %zmm19
# CHECK-NEXT: 2 10 1.00 * U vpexpandw (%rax), %zmm19
# CHECK-NEXT: 1 3 1.00 vpexpandw %zmm16, %zmm19 {%k1}
# CHECK-NEXT: 2 10 1.00 * vpexpandw (%rax), %zmm19 {%k1}
# CHECK-NEXT: 1 3 1.00 vpexpandw %zmm16, %zmm19 {%k1} {z}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -295,22 +295,22 @@ vpshrdw $1, (%rax), %ymm17, %ymm19 {k1}{z}
# CHECK-NEXT: 2 10 1.00 * vpcompressw %ymm16, (%rax) {%k1}
# CHECK-NEXT: 1 3 1.00 vpcompressw %ymm16, %ymm19 {%k1} {z}
# CHECK-NEXT: 1 3 1.00 U vpexpandb %xmm16, %xmm19
# CHECK-NEXT: 2 10 1.00 U vpexpandb (%rax), %xmm19
# CHECK-NEXT: 2 10 1.00 * U vpexpandb (%rax), %xmm19
# CHECK-NEXT: 1 3 1.00 vpexpandb %xmm16, %xmm19 {%k1}
# CHECK-NEXT: 2 10 1.00 * vpexpandb (%rax), %xmm19 {%k1}
# CHECK-NEXT: 1 3 1.00 vpexpandb %xmm16, %xmm19 {%k1} {z}
# CHECK-NEXT: 1 3 1.00 U vpexpandb %ymm16, %ymm19
# CHECK-NEXT: 2 10 1.00 U vpexpandb (%rax), %ymm19
# CHECK-NEXT: 2 10 1.00 * U vpexpandb (%rax), %ymm19
# CHECK-NEXT: 1 3 1.00 vpexpandb %ymm16, %ymm19 {%k1}
# CHECK-NEXT: 2 10 1.00 * vpexpandb (%rax), %ymm19 {%k1}
# CHECK-NEXT: 1 3 1.00 vpexpandb %ymm16, %ymm19 {%k1} {z}
# CHECK-NEXT: 1 3 1.00 U vpexpandw %xmm16, %xmm19
# CHECK-NEXT: 2 10 1.00 U vpexpandw (%rax), %xmm19
# CHECK-NEXT: 2 10 1.00 * U vpexpandw (%rax), %xmm19
# CHECK-NEXT: 1 3 1.00 vpexpandw %xmm16, %xmm19 {%k1}
# CHECK-NEXT: 2 10 1.00 * vpexpandw (%rax), %xmm19 {%k1}
# CHECK-NEXT: 1 3 1.00 vpexpandw %xmm16, %xmm19 {%k1} {z}
# CHECK-NEXT: 1 3 1.00 U vpexpandw %ymm16, %ymm19
# CHECK-NEXT: 2 10 1.00 U vpexpandw (%rax), %ymm19
# CHECK-NEXT: 2 10 1.00 * U vpexpandw (%rax), %ymm19
# CHECK-NEXT: 1 3 1.00 vpexpandw %ymm16, %ymm19 {%k1}
# CHECK-NEXT: 2 10 1.00 * vpexpandw (%rax), %ymm19 {%k1}
# CHECK-NEXT: 1 3 1.00 vpexpandw %ymm16, %ymm19 {%k1} {z}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -153,12 +153,12 @@ vpshrdw $1, (%rax), %zmm17, %zmm19 {k1}{z}
# CHECK-NEXT: 6 14 2.00 * vpcompressw %zmm16, (%rax) {%k1}
# CHECK-NEXT: 2 6 2.00 vpcompressw %zmm16, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 3 2.00 U vpexpandb %zmm16, %zmm19
# CHECK-NEXT: 3 11 2.00 U vpexpandb (%rax), %zmm19
# CHECK-NEXT: 3 11 2.00 * U vpexpandb (%rax), %zmm19
# CHECK-NEXT: 2 8 2.00 vpexpandb %zmm16, %zmm19 {%k1}
# CHECK-NEXT: 3 13 2.00 * vpexpandb (%rax), %zmm19 {%k1}
# CHECK-NEXT: 2 8 2.00 vpexpandb %zmm16, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 3 2.00 U vpexpandw %zmm16, %zmm19
# CHECK-NEXT: 3 11 2.00 U vpexpandw (%rax), %zmm19
# CHECK-NEXT: 3 11 2.00 * U vpexpandw (%rax), %zmm19
# CHECK-NEXT: 2 8 2.00 vpexpandw %zmm16, %zmm19 {%k1}
# CHECK-NEXT: 3 13 2.00 * vpexpandw (%rax), %zmm19 {%k1}
# CHECK-NEXT: 2 8 2.00 vpexpandw %zmm16, %zmm19 {%k1} {z}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -295,22 +295,22 @@ vpshrdw $1, (%rax), %ymm17, %ymm19 {k1}{z}
# CHECK-NEXT: 6 14 2.00 * vpcompressw %ymm16, (%rax) {%k1}
# CHECK-NEXT: 2 6 2.00 vpcompressw %ymm16, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 3 2.00 U vpexpandb %xmm16, %xmm19
# CHECK-NEXT: 3 10 2.00 U vpexpandb (%rax), %xmm19
# CHECK-NEXT: 3 10 2.00 * U vpexpandb (%rax), %xmm19
# CHECK-NEXT: 2 8 2.00 vpexpandb %xmm16, %xmm19 {%k1}
# CHECK-NEXT: 3 13 2.00 * vpexpandb (%rax), %xmm19 {%k1}
# CHECK-NEXT: 2 8 2.00 vpexpandb %xmm16, %xmm19 {%k1} {z}
# CHECK-NEXT: 2 3 2.00 U vpexpandb %ymm16, %ymm19
# CHECK-NEXT: 3 11 2.00 U vpexpandb (%rax), %ymm19
# CHECK-NEXT: 3 11 2.00 * U vpexpandb (%rax), %ymm19
# CHECK-NEXT: 2 8 2.00 vpexpandb %ymm16, %ymm19 {%k1}
# CHECK-NEXT: 3 13 2.00 * vpexpandb (%rax), %ymm19 {%k1}
# CHECK-NEXT: 2 8 2.00 vpexpandb %ymm16, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 3 2.00 U vpexpandw %xmm16, %xmm19
# CHECK-NEXT: 3 10 2.00 U vpexpandw (%rax), %xmm19
# CHECK-NEXT: 3 10 2.00 * U vpexpandw (%rax), %xmm19
# CHECK-NEXT: 2 8 2.00 vpexpandw %xmm16, %xmm19 {%k1}
# CHECK-NEXT: 3 13 2.00 * vpexpandw (%rax), %xmm19 {%k1}
# CHECK-NEXT: 2 8 2.00 vpexpandw %xmm16, %xmm19 {%k1} {z}
# CHECK-NEXT: 2 3 2.00 U vpexpandw %ymm16, %ymm19
# CHECK-NEXT: 3 11 2.00 U vpexpandw (%rax), %ymm19
# CHECK-NEXT: 3 11 2.00 * U vpexpandw (%rax), %ymm19
# CHECK-NEXT: 2 8 2.00 vpexpandw %ymm16, %ymm19 {%k1}
# CHECK-NEXT: 3 13 2.00 * vpexpandw (%rax), %ymm19 {%k1}
# CHECK-NEXT: 2 8 2.00 vpexpandw %ymm16, %ymm19 {%k1} {z}
Expand Down
4 changes: 2 additions & 2 deletions llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512vbmi2.s
Original file line number Diff line number Diff line change
Expand Up @@ -153,12 +153,12 @@ vpshrdw $1, (%rax), %zmm17, %zmm19 {k1}{z}
# CHECK-NEXT: 2 8 0.50 * vpcompressw %zmm16, (%rax) {%k1}
# CHECK-NEXT: 1 5 1.00 vpcompressw %zmm16, %zmm19 {%k1} {z}
# CHECK-NEXT: 1 5 1.00 U vpexpandb %zmm16, %zmm19
# CHECK-NEXT: 2 8 0.50 U vpexpandb (%rax), %zmm19
# CHECK-NEXT: 2 8 0.50 * U vpexpandb (%rax), %zmm19
# CHECK-NEXT: 1 5 1.00 vpexpandb %zmm16, %zmm19 {%k1}
# CHECK-NEXT: 2 8 0.50 * vpexpandb (%rax), %zmm19 {%k1}
# CHECK-NEXT: 1 5 1.00 vpexpandb %zmm16, %zmm19 {%k1} {z}
# CHECK-NEXT: 1 5 1.00 U vpexpandw %zmm16, %zmm19
# CHECK-NEXT: 2 8 0.50 U vpexpandw (%rax), %zmm19
# CHECK-NEXT: 2 8 0.50 * U vpexpandw (%rax), %zmm19
# CHECK-NEXT: 1 5 1.00 vpexpandw %zmm16, %zmm19 {%k1}
# CHECK-NEXT: 2 8 0.50 * vpexpandw (%rax), %zmm19 {%k1}
# CHECK-NEXT: 1 5 1.00 vpexpandw %zmm16, %zmm19 {%k1} {z}
Expand Down
8 changes: 4 additions & 4 deletions llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512vbmi2vl.s
Original file line number Diff line number Diff line change
Expand Up @@ -295,22 +295,22 @@ vpshrdw $1, (%rax), %ymm17, %ymm19 {k1}{z}
# CHECK-NEXT: 2 8 0.50 * vpcompressw %ymm16, (%rax) {%k1}
# CHECK-NEXT: 1 4 1.00 vpcompressw %ymm16, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 1 0.50 U vpexpandb %xmm16, %xmm19
# CHECK-NEXT: 2 8 0.50 U vpexpandb (%rax), %xmm19
# CHECK-NEXT: 2 8 0.50 * U vpexpandb (%rax), %xmm19
# CHECK-NEXT: 2 1 0.50 vpexpandb %xmm16, %xmm19 {%k1}
# CHECK-NEXT: 2 8 0.50 * vpexpandb (%rax), %xmm19 {%k1}
# CHECK-NEXT: 2 1 0.50 vpexpandb %xmm16, %xmm19 {%k1} {z}
# CHECK-NEXT: 1 4 1.00 U vpexpandb %ymm16, %ymm19
# CHECK-NEXT: 2 8 0.50 U vpexpandb (%rax), %ymm19
# CHECK-NEXT: 2 8 0.50 * U vpexpandb (%rax), %ymm19
# CHECK-NEXT: 1 4 1.00 vpexpandb %ymm16, %ymm19 {%k1}
# CHECK-NEXT: 2 8 0.50 * vpexpandb (%rax), %ymm19 {%k1}
# CHECK-NEXT: 1 4 1.00 vpexpandb %ymm16, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 1 0.50 U vpexpandw %xmm16, %xmm19
# CHECK-NEXT: 2 8 0.50 U vpexpandw (%rax), %xmm19
# CHECK-NEXT: 2 8 0.50 * U vpexpandw (%rax), %xmm19
# CHECK-NEXT: 2 1 0.50 vpexpandw %xmm16, %xmm19 {%k1}
# CHECK-NEXT: 2 8 0.50 * vpexpandw (%rax), %xmm19 {%k1}
# CHECK-NEXT: 2 1 0.50 vpexpandw %xmm16, %xmm19 {%k1} {z}
# CHECK-NEXT: 1 4 1.00 U vpexpandw %ymm16, %ymm19
# CHECK-NEXT: 2 8 0.50 U vpexpandw (%rax), %ymm19
# CHECK-NEXT: 2 8 0.50 * U vpexpandw (%rax), %ymm19
# CHECK-NEXT: 1 4 1.00 vpexpandw %ymm16, %ymm19 {%k1}
# CHECK-NEXT: 2 8 0.50 * vpexpandw (%rax), %ymm19 {%k1}
# CHECK-NEXT: 1 4 1.00 vpexpandw %ymm16, %ymm19 {%k1} {z}
Expand Down