Home | History | Annotate | Download | only in Generic
      1 # NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
      2 # RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=x86-64 -instruction-tables < %s | FileCheck %s
      3 
      4 bextr        $8192, %ebx, %ecx
      5 bextr        $8192, (%rbx), %ecx
      6 
      7 bextr        $16384, %rbx, %rcx
      8 bextr        $16384, (%rbx), %rcx
      9 
     10 blcfill      %eax, %ecx
     11 blcfill      (%rax), %ecx
     12 
     13 blcfill      %rax, %rcx
     14 blcfill      (%rax), %rcx
     15 
     16 blci         %eax, %ecx
     17 blci         (%rax), %ecx
     18 
     19 blci         %rax, %rcx
     20 blci         (%rax), %rcx
     21 
     22 blcic        %eax, %ecx
     23 blcic        (%rax), %ecx
     24 
     25 blcic        %rax, %rcx
     26 blcic        (%rax), %rcx
     27 
     28 blcmsk       %eax, %ecx
     29 blcmsk       (%rax), %ecx
     30 
     31 blcmsk       %rax, %rcx
     32 blcmsk       (%rax), %rcx
     33 
     34 blcs         %eax, %ecx
     35 blcs         (%rax), %ecx
     36 
     37 blcs         %rax, %rcx
     38 blcs         (%rax), %rcx
     39 
     40 blsfill      %eax, %ecx
     41 blsfill      (%rax), %ecx
     42 
     43 blsfill      %rax, %rcx
     44 blsfill      (%rax), %rcx
     45 
     46 blsic        %eax, %ecx
     47 blsic        (%rax), %ecx
     48 
     49 blsic        %rax, %rcx
     50 blsic        (%rax), %rcx
     51 
     52 t1mskc       %eax, %ecx
     53 t1mskc       (%rax), %ecx
     54 
     55 t1mskc       %rax, %rcx
     56 t1mskc       (%rax), %rcx
     57 
     58 tzmsk        %eax, %ecx
     59 tzmsk        (%rax), %ecx
     60 
     61 tzmsk        %rax, %rcx
     62 tzmsk        (%rax), %rcx
     63 
     64 # CHECK:      Instruction Info:
     65 # CHECK-NEXT: [1]: #uOps
     66 # CHECK-NEXT: [2]: Latency
     67 # CHECK-NEXT: [3]: RThroughput
     68 # CHECK-NEXT: [4]: MayLoad
     69 # CHECK-NEXT: [5]: MayStore
     70 # CHECK-NEXT: [6]: HasSideEffects (U)
     71 
     72 # CHECK:      [1]    [2]    [3]    [4]    [5]    [6]    Instructions:
     73 # CHECK-NEXT:  2      2     1.00                        bextrl	$8192, %ebx, %ecx
     74 # CHECK-NEXT:  3      7     1.00    *                   bextrl	$8192, (%rbx), %ecx
     75 # CHECK-NEXT:  2      2     1.00                        bextrq	$16384, %rbx, %rcx
     76 # CHECK-NEXT:  3      7     1.00    *                   bextrq	$16384, (%rbx), %rcx
     77 # CHECK-NEXT:  1      1     0.33                        blcfilll	%eax, %ecx
     78 # CHECK-NEXT:  2      6     0.50    *                   blcfilll	(%rax), %ecx
     79 # CHECK-NEXT:  1      1     0.33                        blcfillq	%rax, %rcx
     80 # CHECK-NEXT:  2      6     0.50    *                   blcfillq	(%rax), %rcx
     81 # CHECK-NEXT:  1      1     0.33                        blcil	%eax, %ecx
     82 # CHECK-NEXT:  2      6     0.50    *                   blcil	(%rax), %ecx
     83 # CHECK-NEXT:  1      1     0.33                        blciq	%rax, %rcx
     84 # CHECK-NEXT:  2      6     0.50    *                   blciq	(%rax), %rcx
     85 # CHECK-NEXT:  1      1     0.33                        blcicl	%eax, %ecx
     86 # CHECK-NEXT:  2      6     0.50    *                   blcicl	(%rax), %ecx
     87 # CHECK-NEXT:  1      1     0.33                        blcicq	%rax, %rcx
     88 # CHECK-NEXT:  2      6     0.50    *                   blcicq	(%rax), %rcx
     89 # CHECK-NEXT:  1      1     0.33                        blcmskl	%eax, %ecx
     90 # CHECK-NEXT:  2      6     0.50    *                   blcmskl	(%rax), %ecx
     91 # CHECK-NEXT:  1      1     0.33                        blcmskq	%rax, %rcx
     92 # CHECK-NEXT:  2      6     0.50    *                   blcmskq	(%rax), %rcx
     93 # CHECK-NEXT:  1      1     0.33                        blcsl	%eax, %ecx
     94 # CHECK-NEXT:  2      6     0.50    *                   blcsl	(%rax), %ecx
     95 # CHECK-NEXT:  1      1     0.33                        blcsq	%rax, %rcx
     96 # CHECK-NEXT:  2      6     0.50    *                   blcsq	(%rax), %rcx
     97 # CHECK-NEXT:  1      1     0.33                        blsfilll	%eax, %ecx
     98 # CHECK-NEXT:  2      6     0.50    *                   blsfilll	(%rax), %ecx
     99 # CHECK-NEXT:  1      1     0.33                        blsfillq	%rax, %rcx
    100 # CHECK-NEXT:  2      6     0.50    *                   blsfillq	(%rax), %rcx
    101 # CHECK-NEXT:  1      1     0.33                        blsicl	%eax, %ecx
    102 # CHECK-NEXT:  2      6     0.50    *                   blsicl	(%rax), %ecx
    103 # CHECK-NEXT:  1      1     0.33                        blsicq	%rax, %rcx
    104 # CHECK-NEXT:  2      6     0.50    *                   blsicq	(%rax), %rcx
    105 # CHECK-NEXT:  1      1     0.33                        t1mskcl	%eax, %ecx
    106 # CHECK-NEXT:  2      6     0.50    *                   t1mskcl	(%rax), %ecx
    107 # CHECK-NEXT:  1      1     0.33                        t1mskcq	%rax, %rcx
    108 # CHECK-NEXT:  2      6     0.50    *                   t1mskcq	(%rax), %rcx
    109 # CHECK-NEXT:  1      1     0.33                        tzmskl	%eax, %ecx
    110 # CHECK-NEXT:  2      6     0.50    *                   tzmskl	(%rax), %ecx
    111 # CHECK-NEXT:  1      1     0.33                        tzmskq	%rax, %rcx
    112 # CHECK-NEXT:  2      6     0.50    *                   tzmskq	(%rax), %rcx
    113 
    114 # CHECK:      Resources:
    115 # CHECK-NEXT: [0]   - SBDivider
    116 # CHECK-NEXT: [1]   - SBFPDivider
    117 # CHECK-NEXT: [2]   - SBPort0
    118 # CHECK-NEXT: [3]   - SBPort1
    119 # CHECK-NEXT: [4]   - SBPort4
    120 # CHECK-NEXT: [5]   - SBPort5
    121 # CHECK-NEXT: [6.0] - SBPort23
    122 # CHECK-NEXT: [6.1] - SBPort23
    123 
    124 # CHECK:      Resource pressure per iteration:
    125 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6.0]  [6.1]
    126 # CHECK-NEXT:  -      -     14.00  16.00   -     14.00  10.00  10.00
    127 
    128 # CHECK:      Resource pressure by instruction:
    129 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6.0]  [6.1]  Instructions:
    130 # CHECK-NEXT:  -      -     0.50   1.00    -     0.50    -      -     bextrl	$8192, %ebx, %ecx
    131 # CHECK-NEXT:  -      -     0.50   1.00    -     0.50   0.50   0.50   bextrl	$8192, (%rbx), %ecx
    132 # CHECK-NEXT:  -      -     0.50   1.00    -     0.50    -      -     bextrq	$16384, %rbx, %rcx
    133 # CHECK-NEXT:  -      -     0.50   1.00    -     0.50   0.50   0.50   bextrq	$16384, (%rbx), %rcx
    134 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     blcfilll	%eax, %ecx
    135 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33   0.50   0.50   blcfilll	(%rax), %ecx
    136 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     blcfillq	%rax, %rcx
    137 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33   0.50   0.50   blcfillq	(%rax), %rcx
    138 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     blcil	%eax, %ecx
    139 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33   0.50   0.50   blcil	(%rax), %ecx
    140 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     blciq	%rax, %rcx
    141 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33   0.50   0.50   blciq	(%rax), %rcx
    142 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     blcicl	%eax, %ecx
    143 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33   0.50   0.50   blcicl	(%rax), %ecx
    144 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     blcicq	%rax, %rcx
    145 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33   0.50   0.50   blcicq	(%rax), %rcx
    146 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     blcmskl	%eax, %ecx
    147 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33   0.50   0.50   blcmskl	(%rax), %ecx
    148 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     blcmskq	%rax, %rcx
    149 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33   0.50   0.50   blcmskq	(%rax), %rcx
    150 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     blcsl	%eax, %ecx
    151 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33   0.50   0.50   blcsl	(%rax), %ecx
    152 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     blcsq	%rax, %rcx
    153 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33   0.50   0.50   blcsq	(%rax), %rcx
    154 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     blsfilll	%eax, %ecx
    155 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33   0.50   0.50   blsfilll	(%rax), %ecx
    156 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     blsfillq	%rax, %rcx
    157 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33   0.50   0.50   blsfillq	(%rax), %rcx
    158 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     blsicl	%eax, %ecx
    159 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33   0.50   0.50   blsicl	(%rax), %ecx
    160 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     blsicq	%rax, %rcx
    161 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33   0.50   0.50   blsicq	(%rax), %rcx
    162 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     t1mskcl	%eax, %ecx
    163 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33   0.50   0.50   t1mskcl	(%rax), %ecx
    164 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     t1mskcq	%rax, %rcx
    165 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33   0.50   0.50   t1mskcq	(%rax), %rcx
    166 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     tzmskl	%eax, %ecx
    167 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33   0.50   0.50   tzmskl	(%rax), %ecx
    168 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     tzmskq	%rax, %rcx
    169 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33   0.50   0.50   tzmskq	(%rax), %rcx
    170