Skip to content

Commit

Permalink
[MCA][X86] Add missing PALIGNR from AVX512BW/AVX512BWVL tests
Browse files Browse the repository at this point in the history
  • Loading branch information
RKSimon committed Dec 10, 2021
1 parent ebcc92c commit b025b06
Show file tree
Hide file tree
Showing 6 changed files with 177 additions and 6 deletions.
21 changes: 20 additions & 1 deletion llvm/test/tools/llvm-mca/X86/Generic/resources-avx512bw.s
Expand Up @@ -76,6 +76,13 @@ vpaddw (%rax), %zmm17, %zmm19 {k1}
vpaddw %zmm16, %zmm17, %zmm19 {z}{k1}
vpaddw (%rax), %zmm17, %zmm19 {z}{k1}

vpalignr $1, %zmm16, %zmm17, %zmm19
vpalignr $1, (%rax), %zmm17, %zmm19
vpalignr $1, %zmm16, %zmm17, %zmm19 {k1}
vpalignr $1, (%rax), %zmm17, %zmm19 {k1}
vpalignr $1, %zmm16, %zmm17, %zmm19 {z}{k1}
vpalignr $1, (%rax), %zmm17, %zmm19 {z}{k1}

vpcmpb $0, %zmm0, %zmm1, %k2
vpcmpb $0, (%rax), %zmm1, %k2
vpcmpb $0, %zmm0, %zmm1, %k2 {k3}
Expand Down Expand Up @@ -293,6 +300,12 @@ vpmovw2m %zmm0, %k0
# CHECK-NEXT: 2 8 0.50 * vpaddw (%rax), %zmm17, %zmm19 {%k1}
# CHECK-NEXT: 1 1 0.50 vpaddw %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 8 0.50 * vpaddw (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vpalignr $1, %zmm16, %zmm17, %zmm19
# CHECK-NEXT: 2 8 1.00 * vpalignr $1, (%rax), %zmm17, %zmm19
# CHECK-NEXT: 1 1 1.00 vpalignr $1, %zmm16, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vpalignr $1, (%rax), %zmm17, %zmm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vpalignr $1, %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vpalignr $1, (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 1 1 0.50 vpcmpeqb %zmm0, %zmm1, %k2
# CHECK-NEXT: 2 8 0.50 * vpcmpeqb (%rax), %zmm1, %k2
# CHECK-NEXT: 1 1 0.50 vpcmpeqb %zmm0, %zmm1, %k2 {%k3}
Expand Down Expand Up @@ -422,7 +435,7 @@ vpmovw2m %zmm0, %k0

# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1]
# CHECK-NEXT: - - 10.67 47.67 - 123.67 40.00 40.00
# CHECK-NEXT: - - 10.67 47.67 - 129.67 41.50 41.50

# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1] Instructions:
Expand Down Expand Up @@ -492,6 +505,12 @@ vpmovw2m %zmm0, %k0
# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpaddw (%rax), %zmm17, %zmm19 {%k1}
# CHECK-NEXT: - - - 0.50 - 0.50 - - vpaddw %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpaddw (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 - - vpalignr $1, %zmm16, %zmm17, %zmm19
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpalignr $1, (%rax), %zmm17, %zmm19
# CHECK-NEXT: - - - - - 1.00 - - vpalignr $1, %zmm16, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpalignr $1, (%rax), %zmm17, %zmm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 - - vpalignr $1, %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpalignr $1, (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - 0.50 - 0.50 - - vpcmpeqb %zmm0, %zmm1, %k2
# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpcmpeqb (%rax), %zmm1, %k2
# CHECK-NEXT: - - - 0.50 - 0.50 - - vpcmpeqb %zmm0, %zmm1, %k2 {%k3}
Expand Down
40 changes: 39 additions & 1 deletion llvm/test/tools/llvm-mca/X86/Generic/resources-avx512bwvl.s
Expand Up @@ -113,6 +113,20 @@ vpaddw (%rax), %ymm17, %ymm19 {k1}
vpaddw %ymm16, %ymm17, %ymm19 {z}{k1}
vpaddw (%rax), %ymm17, %ymm19 {z}{k1}

vpalignr $1, %xmm16, %xmm17, %xmm19
vpalignr $1, (%rax), %xmm17, %xmm19
vpalignr $1, %xmm16, %xmm17, %xmm19 {k1}
vpalignr $1, (%rax), %xmm17, %xmm19 {k1}
vpalignr $1, %xmm16, %xmm17, %xmm19 {z}{k1}
vpalignr $1, (%rax), %xmm17, %xmm19 {z}{k1}

vpalignr $1, %ymm16, %ymm17, %ymm19
vpalignr $1, (%rax), %ymm17, %ymm19
vpalignr $1, %ymm16, %ymm17, %ymm19 {k1}
vpalignr $1, (%rax), %ymm17, %ymm19 {k1}
vpalignr $1, %ymm16, %ymm17, %ymm19 {z}{k1}
vpalignr $1, (%rax), %ymm17, %ymm19 {z}{k1}

vpcmpb $0, %xmm0, %xmm1, %k2
vpcmpb $0, (%rax), %xmm1, %k2
vpcmpb $0, %xmm0, %xmm1, %k2 {k3}
Expand Down Expand Up @@ -502,6 +516,18 @@ vpmovw2m %ymm0, %k0
# CHECK-NEXT: 2 8 0.50 * vpaddw (%rax), %ymm17, %ymm19 {%k1}
# CHECK-NEXT: 1 1 0.50 vpaddw %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 8 0.50 * vpaddw (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 1 1 0.50 vpalignr $1, %xmm16, %xmm17, %xmm19
# CHECK-NEXT: 2 7 0.50 * vpalignr $1, (%rax), %xmm17, %xmm19
# CHECK-NEXT: 1 1 0.50 vpalignr $1, %xmm16, %xmm17, %xmm19 {%k1}
# CHECK-NEXT: 2 7 0.50 * vpalignr $1, (%rax), %xmm17, %xmm19 {%k1}
# CHECK-NEXT: 1 1 0.50 vpalignr $1, %xmm16, %xmm17, %xmm19 {%k1} {z}
# CHECK-NEXT: 2 7 0.50 * vpalignr $1, (%rax), %xmm17, %xmm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vpalignr $1, %ymm16, %ymm17, %ymm19
# CHECK-NEXT: 2 8 1.00 * vpalignr $1, (%rax), %ymm17, %ymm19
# CHECK-NEXT: 1 1 1.00 vpalignr $1, %ymm16, %ymm17, %ymm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vpalignr $1, (%rax), %ymm17, %ymm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vpalignr $1, %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vpalignr $1, (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 1 1 0.50 vpcmpeqb %xmm0, %xmm1, %k2
# CHECK-NEXT: 2 7 0.50 * vpcmpeqb (%rax), %xmm1, %k2
# CHECK-NEXT: 1 1 0.50 vpcmpeqb %xmm0, %xmm1, %k2 {%k3}
Expand Down Expand Up @@ -747,7 +773,7 @@ vpmovw2m %ymm0, %k0

# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1]
# CHECK-NEXT: - - 13.33 119.33 - 195.33 80.00 80.00
# CHECK-NEXT: - - 13.33 122.33 - 204.33 83.00 83.00

# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1] Instructions:
Expand Down Expand Up @@ -847,6 +873,18 @@ vpmovw2m %ymm0, %k0
# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpaddw (%rax), %ymm17, %ymm19 {%k1}
# CHECK-NEXT: - - - 0.50 - 0.50 - - vpaddw %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpaddw (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - 0.50 - 0.50 - - vpalignr $1, %xmm16, %xmm17, %xmm19
# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpalignr $1, (%rax), %xmm17, %xmm19
# CHECK-NEXT: - - - 0.50 - 0.50 - - vpalignr $1, %xmm16, %xmm17, %xmm19 {%k1}
# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpalignr $1, (%rax), %xmm17, %xmm19 {%k1}
# CHECK-NEXT: - - - 0.50 - 0.50 - - vpalignr $1, %xmm16, %xmm17, %xmm19 {%k1} {z}
# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpalignr $1, (%rax), %xmm17, %xmm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 - - vpalignr $1, %ymm16, %ymm17, %ymm19
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpalignr $1, (%rax), %ymm17, %ymm19
# CHECK-NEXT: - - - - - 1.00 - - vpalignr $1, %ymm16, %ymm17, %ymm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpalignr $1, (%rax), %ymm17, %ymm19 {%k1}
# CHECK-NEXT: - - - - - 1.00 - - vpalignr $1, %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 vpalignr $1, (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - 0.50 - 0.50 - - vpcmpeqb %xmm0, %xmm1, %k2
# CHECK-NEXT: - - - 0.50 - 0.50 0.50 0.50 vpcmpeqb (%rax), %xmm1, %k2
# CHECK-NEXT: - - - 0.50 - 0.50 - - vpcmpeqb %xmm0, %xmm1, %k2 {%k3}
Expand Down
21 changes: 20 additions & 1 deletion llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512bw.s
Expand Up @@ -76,6 +76,13 @@ vpaddw (%rax), %zmm17, %zmm19 {k1}
vpaddw %zmm16, %zmm17, %zmm19 {z}{k1}
vpaddw (%rax), %zmm17, %zmm19 {z}{k1}

vpalignr $1, %zmm16, %zmm17, %zmm19
vpalignr $1, (%rax), %zmm17, %zmm19
vpalignr $1, %zmm16, %zmm17, %zmm19 {k1}
vpalignr $1, (%rax), %zmm17, %zmm19 {k1}
vpalignr $1, %zmm16, %zmm17, %zmm19 {z}{k1}
vpalignr $1, (%rax), %zmm17, %zmm19 {z}{k1}

vpcmpb $0, %zmm0, %zmm1, %k2
vpcmpb $0, (%rax), %zmm1, %k2
vpcmpb $0, %zmm0, %zmm1, %k2 {k3}
Expand Down Expand Up @@ -293,6 +300,12 @@ vpmovw2m %zmm0, %k0
# CHECK-NEXT: 2 8 0.50 * vpaddw (%rax), %zmm17, %zmm19 {%k1}
# CHECK-NEXT: 1 1 0.33 vpaddw %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 8 0.50 * vpaddw (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vpalignr $1, %zmm16, %zmm17, %zmm19
# CHECK-NEXT: 2 8 1.00 * vpalignr $1, (%rax), %zmm17, %zmm19
# CHECK-NEXT: 1 1 1.00 vpalignr $1, %zmm16, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vpalignr $1, (%rax), %zmm17, %zmm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vpalignr $1, %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vpalignr $1, (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 1 4 1.00 vpcmpeqb %zmm0, %zmm1, %k2
# CHECK-NEXT: 2 11 1.00 * vpcmpeqb (%rax), %zmm1, %k2
# CHECK-NEXT: 1 4 1.00 vpcmpeqb %zmm0, %zmm1, %k2 {%k3}
Expand Down Expand Up @@ -426,7 +439,7 @@ vpmovw2m %zmm0, %k0

# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11]
# CHECK-NEXT: - - 32.50 8.50 40.00 40.00 - 146.50 0.50 - - -
# CHECK-NEXT: - - 32.50 8.50 41.50 41.50 - 152.50 0.50 - - -

# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] Instructions:
Expand Down Expand Up @@ -496,6 +509,12 @@ vpmovw2m %zmm0, %k0
# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vpaddw (%rax), %zmm17, %zmm19 {%k1}
# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - - - vpaddw %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vpaddw (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - 1.00 - - - - vpalignr $1, %zmm16, %zmm17, %zmm19
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - vpalignr $1, (%rax), %zmm17, %zmm19
# CHECK-NEXT: - - - - - - - 1.00 - - - - vpalignr $1, %zmm16, %zmm17, %zmm19 {%k1}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - vpalignr $1, (%rax), %zmm17, %zmm19 {%k1}
# CHECK-NEXT: - - - - - - - 1.00 - - - - vpalignr $1, %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - vpalignr $1, (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - 1.00 - - - - vpcmpeqb %zmm0, %zmm1, %k2
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - vpcmpeqb (%rax), %zmm1, %k2
# CHECK-NEXT: - - - - - - - 1.00 - - - - vpcmpeqb %zmm0, %zmm1, %k2 {%k3}
Expand Down
Expand Up @@ -113,6 +113,20 @@ vpaddw (%rax), %ymm17, %ymm19 {k1}
vpaddw %ymm16, %ymm17, %ymm19 {z}{k1}
vpaddw (%rax), %ymm17, %ymm19 {z}{k1}

vpalignr $1, %xmm16, %xmm17, %xmm19
vpalignr $1, (%rax), %xmm17, %xmm19
vpalignr $1, %xmm16, %xmm17, %xmm19 {k1}
vpalignr $1, (%rax), %xmm17, %xmm19 {k1}
vpalignr $1, %xmm16, %xmm17, %xmm19 {z}{k1}
vpalignr $1, (%rax), %xmm17, %xmm19 {z}{k1}

vpalignr $1, %ymm16, %ymm17, %ymm19
vpalignr $1, (%rax), %ymm17, %ymm19
vpalignr $1, %ymm16, %ymm17, %ymm19 {k1}
vpalignr $1, (%rax), %ymm17, %ymm19 {k1}
vpalignr $1, %ymm16, %ymm17, %ymm19 {z}{k1}
vpalignr $1, (%rax), %ymm17, %ymm19 {z}{k1}

vpcmpb $0, %xmm0, %xmm1, %k2
vpcmpb $0, (%rax), %xmm1, %k2
vpcmpb $0, %xmm0, %xmm1, %k2 {k3}
Expand Down Expand Up @@ -502,6 +516,18 @@ vpmovw2m %ymm0, %k0
# CHECK-NEXT: 2 8 0.50 * vpaddw (%rax), %ymm17, %ymm19 {%k1}
# CHECK-NEXT: 1 1 0.33 vpaddw %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 8 0.50 * vpaddw (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vpalignr $1, %xmm16, %xmm17, %xmm19
# CHECK-NEXT: 2 7 1.00 * vpalignr $1, (%rax), %xmm17, %xmm19
# CHECK-NEXT: 1 1 1.00 vpalignr $1, %xmm16, %xmm17, %xmm19 {%k1}
# CHECK-NEXT: 2 7 1.00 * vpalignr $1, (%rax), %xmm17, %xmm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vpalignr $1, %xmm16, %xmm17, %xmm19 {%k1} {z}
# CHECK-NEXT: 2 7 1.00 * vpalignr $1, (%rax), %xmm17, %xmm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vpalignr $1, %ymm16, %ymm17, %ymm19
# CHECK-NEXT: 2 8 1.00 * vpalignr $1, (%rax), %ymm17, %ymm19
# CHECK-NEXT: 1 1 1.00 vpalignr $1, %ymm16, %ymm17, %ymm19 {%k1}
# CHECK-NEXT: 2 8 1.00 * vpalignr $1, (%rax), %ymm17, %ymm19 {%k1}
# CHECK-NEXT: 1 1 1.00 vpalignr $1, %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 8 1.00 * vpalignr $1, (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 1 4 1.00 vpcmpeqb %xmm0, %xmm1, %k2
# CHECK-NEXT: 2 10 1.00 * vpcmpeqb (%rax), %xmm1, %k2
# CHECK-NEXT: 1 4 1.00 vpcmpeqb %xmm0, %xmm1, %k2 {%k3}
Expand Down Expand Up @@ -751,7 +777,7 @@ vpmovw2m %ymm0, %k0

# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11]
# CHECK-NEXT: - - 33.00 29.00 80.00 80.00 - 277.00 1.00 - - -
# CHECK-NEXT: - - 33.00 29.00 83.00 83.00 - 289.00 1.00 - - -

# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] Instructions:
Expand Down Expand Up @@ -851,6 +877,18 @@ vpmovw2m %ymm0, %k0
# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vpaddw (%rax), %ymm17, %ymm19 {%k1}
# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - - - vpaddw %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vpaddw (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - 1.00 - - - - vpalignr $1, %xmm16, %xmm17, %xmm19
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - vpalignr $1, (%rax), %xmm17, %xmm19
# CHECK-NEXT: - - - - - - - 1.00 - - - - vpalignr $1, %xmm16, %xmm17, %xmm19 {%k1}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - vpalignr $1, (%rax), %xmm17, %xmm19 {%k1}
# CHECK-NEXT: - - - - - - - 1.00 - - - - vpalignr $1, %xmm16, %xmm17, %xmm19 {%k1} {z}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - vpalignr $1, (%rax), %xmm17, %xmm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - 1.00 - - - - vpalignr $1, %ymm16, %ymm17, %ymm19
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - vpalignr $1, (%rax), %ymm17, %ymm19
# CHECK-NEXT: - - - - - - - 1.00 - - - - vpalignr $1, %ymm16, %ymm17, %ymm19 {%k1}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - vpalignr $1, (%rax), %ymm17, %ymm19 {%k1}
# CHECK-NEXT: - - - - - - - 1.00 - - - - vpalignr $1, %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - vpalignr $1, (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - 1.00 - - - - vpcmpeqb %xmm0, %xmm1, %k2
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - vpcmpeqb (%rax), %xmm1, %k2
# CHECK-NEXT: - - - - - - - 1.00 - - - - vpcmpeqb %xmm0, %xmm1, %k2 {%k3}
Expand Down

0 comments on commit b025b06

Please sign in to comment.