xref: /llvm-project/llvm/test/tools/llvm-mca/X86/BdVer2/resources-tbm.s (revision 9db0e72570f73e4e8aaf870201f2c1bc738baee3)
1a5192187SRoman Lebedev# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
2a5baf867SRoman Lebedev# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=bdver2 -instruction-tables < %s | FileCheck %s
3a5192187SRoman Lebedev
4a5192187SRoman Lebedevbextr        $8192, %ebx, %ecx
5a5192187SRoman Lebedevbextr        $8192, (%rbx), %ecx
6a5192187SRoman Lebedev
7a5192187SRoman Lebedevbextr        $16384, %rbx, %rcx
8a5192187SRoman Lebedevbextr        $16384, (%rbx), %rcx
9a5192187SRoman Lebedev
10a5192187SRoman Lebedevblcfill      %eax, %ecx
11a5192187SRoman Lebedevblcfill      (%rax), %ecx
12a5192187SRoman Lebedev
13a5192187SRoman Lebedevblcfill      %rax, %rcx
14a5192187SRoman Lebedevblcfill      (%rax), %rcx
15a5192187SRoman Lebedev
16a5192187SRoman Lebedevblci         %eax, %ecx
17a5192187SRoman Lebedevblci         (%rax), %ecx
18a5192187SRoman Lebedev
19a5192187SRoman Lebedevblci         %rax, %rcx
20a5192187SRoman Lebedevblci         (%rax), %rcx
21a5192187SRoman Lebedev
22a5192187SRoman Lebedevblcic        %eax, %ecx
23a5192187SRoman Lebedevblcic        (%rax), %ecx
24a5192187SRoman Lebedev
25a5192187SRoman Lebedevblcic        %rax, %rcx
26a5192187SRoman Lebedevblcic        (%rax), %rcx
27a5192187SRoman Lebedev
28a5192187SRoman Lebedevblcmsk       %eax, %ecx
29a5192187SRoman Lebedevblcmsk       (%rax), %ecx
30a5192187SRoman Lebedev
31a5192187SRoman Lebedevblcmsk       %rax, %rcx
32a5192187SRoman Lebedevblcmsk       (%rax), %rcx
33a5192187SRoman Lebedev
34a5192187SRoman Lebedevblcs         %eax, %ecx
35a5192187SRoman Lebedevblcs         (%rax), %ecx
36a5192187SRoman Lebedev
37a5192187SRoman Lebedevblcs         %rax, %rcx
38a5192187SRoman Lebedevblcs         (%rax), %rcx
39a5192187SRoman Lebedev
40a5192187SRoman Lebedevblsfill      %eax, %ecx
41a5192187SRoman Lebedevblsfill      (%rax), %ecx
42a5192187SRoman Lebedev
43a5192187SRoman Lebedevblsfill      %rax, %rcx
44a5192187SRoman Lebedevblsfill      (%rax), %rcx
45a5192187SRoman Lebedev
46a5192187SRoman Lebedevblsic        %eax, %ecx
47a5192187SRoman Lebedevblsic        (%rax), %ecx
48a5192187SRoman Lebedev
49a5192187SRoman Lebedevblsic        %rax, %rcx
50a5192187SRoman Lebedevblsic        (%rax), %rcx
51a5192187SRoman Lebedev
52a5192187SRoman Lebedevt1mskc       %eax, %ecx
53a5192187SRoman Lebedevt1mskc       (%rax), %ecx
54a5192187SRoman Lebedev
55a5192187SRoman Lebedevt1mskc       %rax, %rcx
56a5192187SRoman Lebedevt1mskc       (%rax), %rcx
57a5192187SRoman Lebedev
58a5192187SRoman Lebedevtzmsk        %eax, %ecx
59a5192187SRoman Lebedevtzmsk        (%rax), %ecx
60a5192187SRoman Lebedev
61a5192187SRoman Lebedevtzmsk        %rax, %rcx
62a5192187SRoman Lebedevtzmsk        (%rax), %rcx
63a5192187SRoman Lebedev
64a5192187SRoman Lebedev# CHECK:      Instruction Info:
65a5192187SRoman Lebedev# CHECK-NEXT: [1]: #uOps
66a5192187SRoman Lebedev# CHECK-NEXT: [2]: Latency
67a5192187SRoman Lebedev# CHECK-NEXT: [3]: RThroughput
68a5192187SRoman Lebedev# CHECK-NEXT: [4]: MayLoad
69a5192187SRoman Lebedev# CHECK-NEXT: [5]: MayStore
70a5192187SRoman Lebedev# CHECK-NEXT: [6]: HasSideEffects (U)
71a5192187SRoman Lebedev
72a5192187SRoman Lebedev# CHECK:      [1]    [2]    [3]    [4]    [5]    [6]    Instructions:
73*9db0e725SRoman Lebedev# CHECK-NEXT:  2      2     2.00                        bextrl	$8192, %ebx, %ecx
74*9db0e725SRoman Lebedev# CHECK-NEXT:  2      2     2.50    *                   bextrl	$8192, (%rbx), %ecx
75*9db0e725SRoman Lebedev# CHECK-NEXT:  2      2     2.00                        bextrq	$16384, %rbx, %rcx
76*9db0e725SRoman Lebedev# CHECK-NEXT:  2      2     2.50    *                   bextrq	$16384, (%rbx), %rcx
77*9db0e725SRoman Lebedev# CHECK-NEXT:  2      2     1.00                        blcfilll	%eax, %ecx
78*9db0e725SRoman Lebedev# CHECK-NEXT:  2      6     1.50    *                   blcfilll	(%rax), %ecx
79*9db0e725SRoman Lebedev# CHECK-NEXT:  2      2     1.00                        blcfillq	%rax, %rcx
80*9db0e725SRoman Lebedev# CHECK-NEXT:  2      6     1.50    *                   blcfillq	(%rax), %rcx
81*9db0e725SRoman Lebedev# CHECK-NEXT:  2      2     1.00                        blcil	%eax, %ecx
82*9db0e725SRoman Lebedev# CHECK-NEXT:  2      6     1.50    *                   blcil	(%rax), %ecx
83*9db0e725SRoman Lebedev# CHECK-NEXT:  2      2     1.00                        blciq	%rax, %rcx
84*9db0e725SRoman Lebedev# CHECK-NEXT:  2      6     1.50    *                   blciq	(%rax), %rcx
85*9db0e725SRoman Lebedev# CHECK-NEXT:  2      2     1.00                        blcicl	%eax, %ecx
86*9db0e725SRoman Lebedev# CHECK-NEXT:  2      6     1.50    *                   blcicl	(%rax), %ecx
87*9db0e725SRoman Lebedev# CHECK-NEXT:  2      2     1.00                        blcicq	%rax, %rcx
88*9db0e725SRoman Lebedev# CHECK-NEXT:  2      6     1.50    *                   blcicq	(%rax), %rcx
89*9db0e725SRoman Lebedev# CHECK-NEXT:  2      2     1.00                        blcmskl	%eax, %ecx
90*9db0e725SRoman Lebedev# CHECK-NEXT:  2      6     1.50    *                   blcmskl	(%rax), %ecx
91*9db0e725SRoman Lebedev# CHECK-NEXT:  2      2     1.00                        blcmskq	%rax, %rcx
92*9db0e725SRoman Lebedev# CHECK-NEXT:  2      6     1.50    *                   blcmskq	(%rax), %rcx
93*9db0e725SRoman Lebedev# CHECK-NEXT:  2      2     1.00                        blcsl	%eax, %ecx
94*9db0e725SRoman Lebedev# CHECK-NEXT:  2      6     1.50    *                   blcsl	(%rax), %ecx
95*9db0e725SRoman Lebedev# CHECK-NEXT:  2      2     1.00                        blcsq	%rax, %rcx
96*9db0e725SRoman Lebedev# CHECK-NEXT:  2      6     1.50    *                   blcsq	(%rax), %rcx
97*9db0e725SRoman Lebedev# CHECK-NEXT:  2      2     1.00                        blsfilll	%eax, %ecx
98*9db0e725SRoman Lebedev# CHECK-NEXT:  2      6     1.50    *                   blsfilll	(%rax), %ecx
99*9db0e725SRoman Lebedev# CHECK-NEXT:  2      2     1.00                        blsfillq	%rax, %rcx
100*9db0e725SRoman Lebedev# CHECK-NEXT:  2      6     1.50    *                   blsfillq	(%rax), %rcx
101*9db0e725SRoman Lebedev# CHECK-NEXT:  2      2     1.00                        blsicl	%eax, %ecx
102*9db0e725SRoman Lebedev# CHECK-NEXT:  2      6     1.50    *                   blsicl	(%rax), %ecx
103*9db0e725SRoman Lebedev# CHECK-NEXT:  2      2     1.00                        blsicq	%rax, %rcx
104*9db0e725SRoman Lebedev# CHECK-NEXT:  2      6     1.50    *                   blsicq	(%rax), %rcx
105*9db0e725SRoman Lebedev# CHECK-NEXT:  2      2     1.00                        t1mskcl	%eax, %ecx
106*9db0e725SRoman Lebedev# CHECK-NEXT:  2      6     1.50    *                   t1mskcl	(%rax), %ecx
107*9db0e725SRoman Lebedev# CHECK-NEXT:  2      2     1.00                        t1mskcq	%rax, %rcx
108*9db0e725SRoman Lebedev# CHECK-NEXT:  2      6     1.50    *                   t1mskcq	(%rax), %rcx
109*9db0e725SRoman Lebedev# CHECK-NEXT:  2      2     1.00                        tzmskl	%eax, %ecx
110*9db0e725SRoman Lebedev# CHECK-NEXT:  2      6     1.50    *                   tzmskl	(%rax), %ecx
111*9db0e725SRoman Lebedev# CHECK-NEXT:  2      2     1.00                        tzmskq	%rax, %rcx
112*9db0e725SRoman Lebedev# CHECK-NEXT:  2      6     1.50    *                   tzmskq	(%rax), %rcx
113a5192187SRoman Lebedev
114a5192187SRoman Lebedev# CHECK:      Resources:
115a5baf867SRoman Lebedev# CHECK-NEXT: [0.0] - PdAGLU01
116a5baf867SRoman Lebedev# CHECK-NEXT: [0.1] - PdAGLU01
117a5baf867SRoman Lebedev# CHECK-NEXT: [1]   - PdBranch
118a5baf867SRoman Lebedev# CHECK-NEXT: [2]   - PdCount
119a5baf867SRoman Lebedev# CHECK-NEXT: [3]   - PdDiv
120a5baf867SRoman Lebedev# CHECK-NEXT: [4]   - PdEX0
121a5baf867SRoman Lebedev# CHECK-NEXT: [5]   - PdEX1
122a5baf867SRoman Lebedev# CHECK-NEXT: [6]   - PdFPCVT
123a5baf867SRoman Lebedev# CHECK-NEXT: [7.0] - PdFPFMA
124a5baf867SRoman Lebedev# CHECK-NEXT: [7.1] - PdFPFMA
125a5baf867SRoman Lebedev# CHECK-NEXT: [8.0] - PdFPMAL
126a5baf867SRoman Lebedev# CHECK-NEXT: [8.1] - PdFPMAL
127a5baf867SRoman Lebedev# CHECK-NEXT: [9]   - PdFPMMA
128a5baf867SRoman Lebedev# CHECK-NEXT: [10]  - PdFPSTO
129a5baf867SRoman Lebedev# CHECK-NEXT: [11]  - PdFPU0
130a5baf867SRoman Lebedev# CHECK-NEXT: [12]  - PdFPU1
131a5baf867SRoman Lebedev# CHECK-NEXT: [13]  - PdFPU2
132a5baf867SRoman Lebedev# CHECK-NEXT: [14]  - PdFPU3
133a5baf867SRoman Lebedev# CHECK-NEXT: [15]  - PdFPXBR
134b428b8b2SRoman Lebedev# CHECK-NEXT: [16.0] - PdLoad
135b428b8b2SRoman Lebedev# CHECK-NEXT: [16.1] - PdLoad
136b428b8b2SRoman Lebedev# CHECK-NEXT: [17]  - PdMul
137b428b8b2SRoman Lebedev# CHECK-NEXT: [18]  - PdStore
138a5192187SRoman Lebedev
139a5192187SRoman Lebedev# CHECK:      Resource pressure per iteration:
140b428b8b2SRoman Lebedev# CHECK-NEXT: [0.0]  [0.1]  [1]    [2]    [3]    [4]    [5]    [6]    [7.0]  [7.1]  [8.0]  [8.1]  [9]    [10]   [11]   [12]   [13]   [14]   [15]   [16.0] [16.1] [17]   [18]
141*9db0e725SRoman Lebedev# CHECK-NEXT: 27.00  27.00   -      -      -     54.00  54.00   -      -      -      -      -      -      -      -      -      -      -      -     27.00  27.00   -      -
142a5192187SRoman Lebedev
143a5192187SRoman Lebedev# CHECK:      Resource pressure by instruction:
144b428b8b2SRoman Lebedev# CHECK-NEXT: [0.0]  [0.1]  [1]    [2]    [3]    [4]    [5]    [6]    [7.0]  [7.1]  [8.0]  [8.1]  [9]    [10]   [11]   [12]   [13]   [14]   [15]   [16.0] [16.1] [17]   [18]   Instructions:
145*9db0e725SRoman Lebedev# CHECK-NEXT:  -      -      -      -      -     2.00   2.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     bextrl	$8192, %ebx, %ecx
146*9db0e725SRoman Lebedev# CHECK-NEXT:  -      -      -      -      -     2.50   2.50    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     bextrl	$8192, (%rbx), %ecx
147*9db0e725SRoman Lebedev# CHECK-NEXT:  -      -      -      -      -     2.00   2.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     bextrq	$16384, %rbx, %rcx
148*9db0e725SRoman Lebedev# CHECK-NEXT:  -      -      -      -      -     2.50   2.50    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     bextrq	$16384, (%rbx), %rcx
149*9db0e725SRoman Lebedev# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     blcfilll	%eax, %ecx
150*9db0e725SRoman Lebedev# CHECK-NEXT: 1.50   1.50    -      -      -     1.50   1.50    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -      -     blcfilll	(%rax), %ecx
151*9db0e725SRoman Lebedev# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     blcfillq	%rax, %rcx
152*9db0e725SRoman Lebedev# CHECK-NEXT: 1.50   1.50    -      -      -     1.50   1.50    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -      -     blcfillq	(%rax), %rcx
153*9db0e725SRoman Lebedev# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     blcil	%eax, %ecx
154*9db0e725SRoman Lebedev# CHECK-NEXT: 1.50   1.50    -      -      -     1.50   1.50    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -      -     blcil	(%rax), %ecx
155*9db0e725SRoman Lebedev# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     blciq	%rax, %rcx
156*9db0e725SRoman Lebedev# CHECK-NEXT: 1.50   1.50    -      -      -     1.50   1.50    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -      -     blciq	(%rax), %rcx
157*9db0e725SRoman Lebedev# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     blcicl	%eax, %ecx
158*9db0e725SRoman Lebedev# CHECK-NEXT: 1.50   1.50    -      -      -     1.50   1.50    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -      -     blcicl	(%rax), %ecx
159*9db0e725SRoman Lebedev# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     blcicq	%rax, %rcx
160*9db0e725SRoman Lebedev# CHECK-NEXT: 1.50   1.50    -      -      -     1.50   1.50    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -      -     blcicq	(%rax), %rcx
161*9db0e725SRoman Lebedev# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     blcmskl	%eax, %ecx
162*9db0e725SRoman Lebedev# CHECK-NEXT: 1.50   1.50    -      -      -     1.50   1.50    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -      -     blcmskl	(%rax), %ecx
163*9db0e725SRoman Lebedev# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     blcmskq	%rax, %rcx
164*9db0e725SRoman Lebedev# CHECK-NEXT: 1.50   1.50    -      -      -     1.50   1.50    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -      -     blcmskq	(%rax), %rcx
165*9db0e725SRoman Lebedev# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     blcsl	%eax, %ecx
166*9db0e725SRoman Lebedev# CHECK-NEXT: 1.50   1.50    -      -      -     1.50   1.50    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -      -     blcsl	(%rax), %ecx
167*9db0e725SRoman Lebedev# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     blcsq	%rax, %rcx
168*9db0e725SRoman Lebedev# CHECK-NEXT: 1.50   1.50    -      -      -     1.50   1.50    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -      -     blcsq	(%rax), %rcx
169*9db0e725SRoman Lebedev# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     blsfilll	%eax, %ecx
170*9db0e725SRoman Lebedev# CHECK-NEXT: 1.50   1.50    -      -      -     1.50   1.50    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -      -     blsfilll	(%rax), %ecx
171*9db0e725SRoman Lebedev# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     blsfillq	%rax, %rcx
172*9db0e725SRoman Lebedev# CHECK-NEXT: 1.50   1.50    -      -      -     1.50   1.50    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -      -     blsfillq	(%rax), %rcx
173*9db0e725SRoman Lebedev# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     blsicl	%eax, %ecx
174*9db0e725SRoman Lebedev# CHECK-NEXT: 1.50   1.50    -      -      -     1.50   1.50    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -      -     blsicl	(%rax), %ecx
175*9db0e725SRoman Lebedev# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     blsicq	%rax, %rcx
176*9db0e725SRoman Lebedev# CHECK-NEXT: 1.50   1.50    -      -      -     1.50   1.50    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -      -     blsicq	(%rax), %rcx
177*9db0e725SRoman Lebedev# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     t1mskcl	%eax, %ecx
178*9db0e725SRoman Lebedev# CHECK-NEXT: 1.50   1.50    -      -      -     1.50   1.50    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -      -     t1mskcl	(%rax), %ecx
179*9db0e725SRoman Lebedev# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     t1mskcq	%rax, %rcx
180*9db0e725SRoman Lebedev# CHECK-NEXT: 1.50   1.50    -      -      -     1.50   1.50    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -      -     t1mskcq	(%rax), %rcx
181*9db0e725SRoman Lebedev# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     tzmskl	%eax, %ecx
182*9db0e725SRoman Lebedev# CHECK-NEXT: 1.50   1.50    -      -      -     1.50   1.50    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -      -     tzmskl	(%rax), %ecx
183*9db0e725SRoman Lebedev# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -      -      -      -      -      -      -      -      -      -      -      -      -      -      -      -     tzmskq	%rax, %rcx
184*9db0e725SRoman Lebedev# CHECK-NEXT: 1.50   1.50    -      -      -     1.50   1.50    -      -      -      -      -      -      -      -      -      -      -      -     1.50   1.50    -      -     tzmskq	(%rax), %rcx
185