brintos

brintos / llvm-project-archived public Read only

0
0
Text · 16.4 KiB · 96c1a4e Raw
205 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py2# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=sapphirerapids -instruction-tables < %s | FileCheck %s3 4vpermb            %xmm16, %xmm17, %xmm195vpermb            (%rax), %xmm17, %xmm196vpermb            %xmm16, %xmm17, %xmm19 {k1}7vpermb            (%rax), %xmm17, %xmm19 {k1}8vpermb            %xmm16, %xmm17, %xmm19 {k1}{z}9vpermb            (%rax), %xmm17, %xmm19 {k1}{z}10 11vpermb            %ymm16, %ymm17, %ymm1912vpermb            (%rax), %ymm17, %ymm1913vpermb            %ymm16, %ymm17, %ymm19 {k1}14vpermb            (%rax), %ymm17, %ymm19 {k1}15vpermb            %ymm16, %ymm17, %ymm19 {k1}{z}16vpermb            (%rax), %ymm17, %ymm19 {k1}{z}17 18vpermi2b          %xmm16, %xmm17, %xmm1919vpermi2b          (%rax), %xmm17, %xmm1920vpermi2b          %xmm16, %xmm17, %xmm19 {k1}21vpermi2b          (%rax), %xmm17, %xmm19 {k1}22vpermi2b          %xmm16, %xmm17, %xmm19 {k1}{z}23vpermi2b          (%rax), %xmm17, %xmm19 {k1}{z}24 25vpermi2b          %ymm16, %ymm17, %ymm1926vpermi2b          (%rax), %ymm17, %ymm1927vpermi2b          %ymm16, %ymm17, %ymm19 {k1}28vpermi2b          (%rax), %ymm17, %ymm19 {k1}29vpermi2b          %ymm16, %ymm17, %ymm19 {k1}{z}30vpermi2b          (%rax), %ymm17, %ymm19 {k1}{z}31 32vpermt2b          %xmm16, %xmm17, %xmm1933vpermt2b          (%rax), %xmm17, %xmm1934vpermt2b          %xmm16, %xmm17, %xmm19 {k1}35vpermt2b          (%rax), %xmm17, %xmm19 {k1}36vpermt2b          %xmm16, %xmm17, %xmm19 {k1}{z}37vpermt2b          (%rax), %xmm17, %xmm19 {k1}{z}38 39vpermt2b          %ymm16, %ymm17, %ymm1940vpermt2b          (%rax), %ymm17, %ymm1941vpermt2b          %ymm16, %ymm17, %ymm19 {k1}42vpermt2b          (%rax), %ymm17, %ymm19 {k1}43vpermt2b          %ymm16, %ymm17, %ymm19 {k1}{z}44vpermt2b          (%rax), %ymm17, %ymm19 {k1}{z}45 46vpmultishiftqb    %xmm16, %xmm17, %xmm1947vpmultishiftqb    (%rax), %xmm17, %xmm1948vpmultishiftqb    (%rax){1to2}, %xmm17, %xmm1949vpmultishiftqb    %xmm16, %xmm17, %xmm19 {k1}50vpmultishiftqb    (%rax), %xmm17, %xmm19 {k1}51vpmultishiftqb    (%rax){1to2}, %xmm17, %xmm19 {k1}52vpmultishiftqb    %xmm16, %xmm17, %xmm19 {k1}{z}53vpmultishiftqb    (%rax), %xmm17, %xmm19 {k1}{z}54vpmultishiftqb    (%rax){1to2}, %xmm17, %xmm19 {k1}{z}55 56vpmultishiftqb    %ymm16, %ymm17, %ymm1957vpmultishiftqb    (%rax), %ymm17, %ymm1958vpmultishiftqb    (%rax){1to4}, %ymm17, %ymm1959vpmultishiftqb    %ymm16, %ymm17, %ymm19 {k1}60vpmultishiftqb    (%rax), %ymm17, %ymm19 {k1}61vpmultishiftqb    (%rax){1to4}, %ymm17, %ymm19 {k1}62vpmultishiftqb    %ymm16, %ymm17, %ymm19 {k1}{z}63vpmultishiftqb    (%rax), %ymm17, %ymm19 {k1}{z}64vpmultishiftqb    (%rax){1to4}, %ymm17, %ymm19 {k1}{z}65 66# CHECK:      Instruction Info:67# CHECK-NEXT: [1]: #uOps68# CHECK-NEXT: [2]: Latency69# CHECK-NEXT: [3]: RThroughput70# CHECK-NEXT: [4]: MayLoad71# CHECK-NEXT: [5]: MayStore72# CHECK-NEXT: [6]: HasSideEffects (U)73 74# CHECK:      [1]    [2]    [3]    [4]    [5]    [6]    Instructions:75# CHECK-NEXT:  1      3     1.00                        vpermb	%xmm16, %xmm17, %xmm1976# CHECK-NEXT:  2      10    1.00    *                   vpermb	(%rax), %xmm17, %xmm1977# CHECK-NEXT:  1      5     1.00                        vpermb	%xmm16, %xmm17, %xmm19 {%k1}78# CHECK-NEXT:  2      13    1.00    *                   vpermb	(%rax), %xmm17, %xmm19 {%k1}79# CHECK-NEXT:  1      5     1.00                        vpermb	%xmm16, %xmm17, %xmm19 {%k1} {z}80# CHECK-NEXT:  2      13    1.00    *                   vpermb	(%rax), %xmm17, %xmm19 {%k1} {z}81# CHECK-NEXT:  1      3     1.00                        vpermb	%ymm16, %ymm17, %ymm1982# CHECK-NEXT:  2      11    1.00    *                   vpermb	(%rax), %ymm17, %ymm1983# CHECK-NEXT:  1      5     1.00                        vpermb	%ymm16, %ymm17, %ymm19 {%k1}84# CHECK-NEXT:  2      13    1.00    *                   vpermb	(%rax), %ymm17, %ymm19 {%k1}85# CHECK-NEXT:  1      5     1.00                        vpermb	%ymm16, %ymm17, %ymm19 {%k1} {z}86# CHECK-NEXT:  2      13    1.00    *                   vpermb	(%rax), %ymm17, %ymm19 {%k1} {z}87# CHECK-NEXT:  3      5     2.00                        vpermi2b	%xmm16, %xmm17, %xmm1988# CHECK-NEXT:  4      11    2.00    *                   vpermi2b	(%rax), %xmm17, %xmm1989# CHECK-NEXT:  3      7     2.00                        vpermi2b	%xmm16, %xmm17, %xmm19 {%k1}90# CHECK-NEXT:  4      13    2.00    *                   vpermi2b	(%rax), %xmm17, %xmm19 {%k1}91# CHECK-NEXT:  3      7     2.00                        vpermi2b	%xmm16, %xmm17, %xmm19 {%k1} {z}92# CHECK-NEXT:  4      13    2.00    *                   vpermi2b	(%rax), %xmm17, %xmm19 {%k1} {z}93# CHECK-NEXT:  3      5     2.00                        vpermi2b	%ymm16, %ymm17, %ymm1994# CHECK-NEXT:  4      12    2.00    *                   vpermi2b	(%rax), %ymm17, %ymm1995# CHECK-NEXT:  3      7     2.00                        vpermi2b	%ymm16, %ymm17, %ymm19 {%k1}96# CHECK-NEXT:  4      14    2.00    *                   vpermi2b	(%rax), %ymm17, %ymm19 {%k1}97# CHECK-NEXT:  3      7     2.00                        vpermi2b	%ymm16, %ymm17, %ymm19 {%k1} {z}98# CHECK-NEXT:  4      14    2.00    *                   vpermi2b	(%rax), %ymm17, %ymm19 {%k1} {z}99# CHECK-NEXT:  3      5     2.00                        vpermt2b	%xmm16, %xmm17, %xmm19100# CHECK-NEXT:  4      11    2.00    *                   vpermt2b	(%rax), %xmm17, %xmm19101# CHECK-NEXT:  3      7     2.00                        vpermt2b	%xmm16, %xmm17, %xmm19 {%k1}102# CHECK-NEXT:  4      13    2.00    *                   vpermt2b	(%rax), %xmm17, %xmm19 {%k1}103# CHECK-NEXT:  3      7     2.00                        vpermt2b	%xmm16, %xmm17, %xmm19 {%k1} {z}104# CHECK-NEXT:  4      13    2.00    *                   vpermt2b	(%rax), %xmm17, %xmm19 {%k1} {z}105# CHECK-NEXT:  3      5     2.00                        vpermt2b	%ymm16, %ymm17, %ymm19106# CHECK-NEXT:  4      12    2.00    *                   vpermt2b	(%rax), %ymm17, %ymm19107# CHECK-NEXT:  3      7     2.00                        vpermt2b	%ymm16, %ymm17, %ymm19 {%k1}108# CHECK-NEXT:  4      14    2.00    *                   vpermt2b	(%rax), %ymm17, %ymm19 {%k1}109# CHECK-NEXT:  3      7     2.00                        vpermt2b	%ymm16, %ymm17, %ymm19 {%k1} {z}110# CHECK-NEXT:  4      14    2.00    *                   vpermt2b	(%rax), %ymm17, %ymm19 {%k1} {z}111# CHECK-NEXT:  1      3     1.00                        vpmultishiftqb	%xmm16, %xmm17, %xmm19112# CHECK-NEXT:  2      10    1.00    *                   vpmultishiftqb	(%rax), %xmm17, %xmm19113# CHECK-NEXT:  2      10    1.00    *                   vpmultishiftqb	(%rax){1to2}, %xmm17, %xmm19114# CHECK-NEXT:  1      5     1.00                        vpmultishiftqb	%xmm16, %xmm17, %xmm19 {%k1}115# CHECK-NEXT:  2      13    1.00    *                   vpmultishiftqb	(%rax), %xmm17, %xmm19 {%k1}116# CHECK-NEXT:  2      13    1.00    *                   vpmultishiftqb	(%rax){1to2}, %xmm17, %xmm19 {%k1}117# CHECK-NEXT:  1      5     1.00                        vpmultishiftqb	%xmm16, %xmm17, %xmm19 {%k1} {z}118# CHECK-NEXT:  2      13    1.00    *                   vpmultishiftqb	(%rax), %xmm17, %xmm19 {%k1} {z}119# CHECK-NEXT:  2      13    1.00    *                   vpmultishiftqb	(%rax){1to2}, %xmm17, %xmm19 {%k1} {z}120# CHECK-NEXT:  1      3     1.00                        vpmultishiftqb	%ymm16, %ymm17, %ymm19121# CHECK-NEXT:  2      11    1.00    *                   vpmultishiftqb	(%rax), %ymm17, %ymm19122# CHECK-NEXT:  2      11    1.00    *                   vpmultishiftqb	(%rax){1to4}, %ymm17, %ymm19123# CHECK-NEXT:  1      5     1.00                        vpmultishiftqb	%ymm16, %ymm17, %ymm19 {%k1}124# CHECK-NEXT:  2      13    1.00    *                   vpmultishiftqb	(%rax), %ymm17, %ymm19 {%k1}125# CHECK-NEXT:  2      13    1.00    *                   vpmultishiftqb	(%rax){1to4}, %ymm17, %ymm19 {%k1}126# CHECK-NEXT:  1      5     1.00                        vpmultishiftqb	%ymm16, %ymm17, %ymm19 {%k1} {z}127# CHECK-NEXT:  2      13    1.00    *                   vpmultishiftqb	(%rax), %ymm17, %ymm19 {%k1} {z}128# CHECK-NEXT:  2      13    1.00    *                   vpmultishiftqb	(%rax){1to4}, %ymm17, %ymm19 {%k1} {z}129 130# CHECK:      Resources:131# CHECK-NEXT: [0]   - SPRPort00132# CHECK-NEXT: [1]   - SPRPort01133# CHECK-NEXT: [2]   - SPRPort02134# CHECK-NEXT: [3]   - SPRPort03135# CHECK-NEXT: [4]   - SPRPort04136# CHECK-NEXT: [5]   - SPRPort05137# CHECK-NEXT: [6]   - SPRPort06138# CHECK-NEXT: [7]   - SPRPort07139# CHECK-NEXT: [8]   - SPRPort08140# CHECK-NEXT: [9]   - SPRPort09141# CHECK-NEXT: [10]  - SPRPort10142# CHECK-NEXT: [11]  - SPRPort11143# CHECK-NEXT: [12]  - SPRPortInvalid144 145# CHECK:      Resource pressure per iteration:146# CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]    [10]   [11]   [12]147# CHECK-NEXT: 8.00   8.00   10.00  10.00   -     86.00   -      -      -      -     10.00   -      -148 149# CHECK:      Resource pressure by instruction:150# CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]    [10]   [11]   [12]   Instructions:151# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -     vpermb	%xmm16, %xmm17, %xmm19152# CHECK-NEXT:  -      -     0.33   0.33    -     1.00    -      -      -      -     0.33    -      -     vpermb	(%rax), %xmm17, %xmm19153# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -     vpermb	%xmm16, %xmm17, %xmm19 {%k1}154# CHECK-NEXT:  -      -     0.33   0.33    -     1.00    -      -      -      -     0.33    -      -     vpermb	(%rax), %xmm17, %xmm19 {%k1}155# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -     vpermb	%xmm16, %xmm17, %xmm19 {%k1} {z}156# CHECK-NEXT:  -      -     0.33   0.33    -     1.00    -      -      -      -     0.33    -      -     vpermb	(%rax), %xmm17, %xmm19 {%k1} {z}157# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -     vpermb	%ymm16, %ymm17, %ymm19158# CHECK-NEXT:  -      -     0.33   0.33    -     1.00    -      -      -      -     0.33    -      -     vpermb	(%rax), %ymm17, %ymm19159# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -     vpermb	%ymm16, %ymm17, %ymm19 {%k1}160# CHECK-NEXT:  -      -     0.33   0.33    -     1.00    -      -      -      -     0.33    -      -     vpermb	(%rax), %ymm17, %ymm19 {%k1}161# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -     vpermb	%ymm16, %ymm17, %ymm19 {%k1} {z}162# CHECK-NEXT:  -      -     0.33   0.33    -     1.00    -      -      -      -     0.33    -      -     vpermb	(%rax), %ymm17, %ymm19 {%k1} {z}163# CHECK-NEXT: 0.33   0.33    -      -      -     2.33    -      -      -      -      -      -      -     vpermi2b	%xmm16, %xmm17, %xmm19164# CHECK-NEXT: 0.33   0.33   0.33   0.33    -     2.33    -      -      -      -     0.33    -      -     vpermi2b	(%rax), %xmm17, %xmm19165# CHECK-NEXT: 0.33   0.33    -      -      -     2.33    -      -      -      -      -      -      -     vpermi2b	%xmm16, %xmm17, %xmm19 {%k1}166# CHECK-NEXT: 0.33   0.33   0.33   0.33    -     2.33    -      -      -      -     0.33    -      -     vpermi2b	(%rax), %xmm17, %xmm19 {%k1}167# CHECK-NEXT: 0.33   0.33    -      -      -     2.33    -      -      -      -      -      -      -     vpermi2b	%xmm16, %xmm17, %xmm19 {%k1} {z}168# CHECK-NEXT: 0.33   0.33   0.33   0.33    -     2.33    -      -      -      -     0.33    -      -     vpermi2b	(%rax), %xmm17, %xmm19 {%k1} {z}169# CHECK-NEXT: 0.33   0.33    -      -      -     2.33    -      -      -      -      -      -      -     vpermi2b	%ymm16, %ymm17, %ymm19170# CHECK-NEXT: 0.33   0.33   0.33   0.33    -     2.33    -      -      -      -     0.33    -      -     vpermi2b	(%rax), %ymm17, %ymm19171# CHECK-NEXT: 0.33   0.33    -      -      -     2.33    -      -      -      -      -      -      -     vpermi2b	%ymm16, %ymm17, %ymm19 {%k1}172# CHECK-NEXT: 0.33   0.33   0.33   0.33    -     2.33    -      -      -      -     0.33    -      -     vpermi2b	(%rax), %ymm17, %ymm19 {%k1}173# CHECK-NEXT: 0.33   0.33    -      -      -     2.33    -      -      -      -      -      -      -     vpermi2b	%ymm16, %ymm17, %ymm19 {%k1} {z}174# CHECK-NEXT: 0.33   0.33   0.33   0.33    -     2.33    -      -      -      -     0.33    -      -     vpermi2b	(%rax), %ymm17, %ymm19 {%k1} {z}175# CHECK-NEXT: 0.33   0.33    -      -      -     2.33    -      -      -      -      -      -      -     vpermt2b	%xmm16, %xmm17, %xmm19176# CHECK-NEXT: 0.33   0.33   0.33   0.33    -     2.33    -      -      -      -     0.33    -      -     vpermt2b	(%rax), %xmm17, %xmm19177# CHECK-NEXT: 0.33   0.33    -      -      -     2.33    -      -      -      -      -      -      -     vpermt2b	%xmm16, %xmm17, %xmm19 {%k1}178# CHECK-NEXT: 0.33   0.33   0.33   0.33    -     2.33    -      -      -      -     0.33    -      -     vpermt2b	(%rax), %xmm17, %xmm19 {%k1}179# CHECK-NEXT: 0.33   0.33    -      -      -     2.33    -      -      -      -      -      -      -     vpermt2b	%xmm16, %xmm17, %xmm19 {%k1} {z}180# CHECK-NEXT: 0.33   0.33   0.33   0.33    -     2.33    -      -      -      -     0.33    -      -     vpermt2b	(%rax), %xmm17, %xmm19 {%k1} {z}181# CHECK-NEXT: 0.33   0.33    -      -      -     2.33    -      -      -      -      -      -      -     vpermt2b	%ymm16, %ymm17, %ymm19182# CHECK-NEXT: 0.33   0.33   0.33   0.33    -     2.33    -      -      -      -     0.33    -      -     vpermt2b	(%rax), %ymm17, %ymm19183# CHECK-NEXT: 0.33   0.33    -      -      -     2.33    -      -      -      -      -      -      -     vpermt2b	%ymm16, %ymm17, %ymm19 {%k1}184# CHECK-NEXT: 0.33   0.33   0.33   0.33    -     2.33    -      -      -      -     0.33    -      -     vpermt2b	(%rax), %ymm17, %ymm19 {%k1}185# CHECK-NEXT: 0.33   0.33    -      -      -     2.33    -      -      -      -      -      -      -     vpermt2b	%ymm16, %ymm17, %ymm19 {%k1} {z}186# CHECK-NEXT: 0.33   0.33   0.33   0.33    -     2.33    -      -      -      -     0.33    -      -     vpermt2b	(%rax), %ymm17, %ymm19 {%k1} {z}187# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -     vpmultishiftqb	%xmm16, %xmm17, %xmm19188# CHECK-NEXT:  -      -     0.33   0.33    -     1.00    -      -      -      -     0.33    -      -     vpmultishiftqb	(%rax), %xmm17, %xmm19189# CHECK-NEXT:  -      -     0.33   0.33    -     1.00    -      -      -      -     0.33    -      -     vpmultishiftqb	(%rax){1to2}, %xmm17, %xmm19190# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -     vpmultishiftqb	%xmm16, %xmm17, %xmm19 {%k1}191# CHECK-NEXT:  -      -     0.33   0.33    -     1.00    -      -      -      -     0.33    -      -     vpmultishiftqb	(%rax), %xmm17, %xmm19 {%k1}192# CHECK-NEXT:  -      -     0.33   0.33    -     1.00    -      -      -      -     0.33    -      -     vpmultishiftqb	(%rax){1to2}, %xmm17, %xmm19 {%k1}193# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -     vpmultishiftqb	%xmm16, %xmm17, %xmm19 {%k1} {z}194# CHECK-NEXT:  -      -     0.33   0.33    -     1.00    -      -      -      -     0.33    -      -     vpmultishiftqb	(%rax), %xmm17, %xmm19 {%k1} {z}195# CHECK-NEXT:  -      -     0.33   0.33    -     1.00    -      -      -      -     0.33    -      -     vpmultishiftqb	(%rax){1to2}, %xmm17, %xmm19 {%k1} {z}196# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -     vpmultishiftqb	%ymm16, %ymm17, %ymm19197# CHECK-NEXT:  -      -     0.33   0.33    -     1.00    -      -      -      -     0.33    -      -     vpmultishiftqb	(%rax), %ymm17, %ymm19198# CHECK-NEXT:  -      -     0.33   0.33    -     1.00    -      -      -      -     0.33    -      -     vpmultishiftqb	(%rax){1to4}, %ymm17, %ymm19199# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -     vpmultishiftqb	%ymm16, %ymm17, %ymm19 {%k1}200# CHECK-NEXT:  -      -     0.33   0.33    -     1.00    -      -      -      -     0.33    -      -     vpmultishiftqb	(%rax), %ymm17, %ymm19 {%k1}201# CHECK-NEXT:  -      -     0.33   0.33    -     1.00    -      -      -      -     0.33    -      -     vpmultishiftqb	(%rax){1to4}, %ymm17, %ymm19 {%k1}202# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -      -      -     vpmultishiftqb	%ymm16, %ymm17, %ymm19 {%k1} {z}203# CHECK-NEXT:  -      -     0.33   0.33    -     1.00    -      -      -      -     0.33    -      -     vpmultishiftqb	(%rax), %ymm17, %ymm19 {%k1} {z}204# CHECK-NEXT:  -      -     0.33   0.33    -     1.00    -      -      -      -     0.33    -      -     vpmultishiftqb	(%rax){1to4}, %ymm17, %ymm19 {%k1} {z}205