1 # NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
2 # RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=bdver2 -instruction-tables < %s | FileCheck %s
4 bextr $
8192, %ebx
, %ecx
5 bextr $
8192, (%rbx
), %ecx
7 bextr $
16384, %rbx
, %rcx
8 bextr $
16384, (%rbx
), %rcx
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)
72 # CHECK: [1] [2] [3] [4] [5] [6] Instructions:
73 # CHECK-NEXT: 2 2 2.00 bextrl $8192, %ebx, %ecx
74 # CHECK-NEXT: 2 2 2.50 * bextrl $8192, (%rbx), %ecx
75 # CHECK-NEXT: 2 2 2.00 bextrq $16384, %rbx, %rcx
76 # CHECK-NEXT: 2 2 2.50 * bextrq $16384, (%rbx), %rcx
77 # CHECK-NEXT: 2 2 1.00 blcfilll %eax, %ecx
78 # CHECK-NEXT: 2 6 1.50 * blcfilll (%rax), %ecx
79 # CHECK-NEXT: 2 2 1.00 blcfillq %rax, %rcx
80 # CHECK-NEXT: 2 6 1.50 * blcfillq (%rax), %rcx
81 # CHECK-NEXT: 2 2 1.00 blcil %eax, %ecx
82 # CHECK-NEXT: 2 6 1.50 * blcil (%rax), %ecx
83 # CHECK-NEXT: 2 2 1.00 blciq %rax, %rcx
84 # CHECK-NEXT: 2 6 1.50 * blciq (%rax), %rcx
85 # CHECK-NEXT: 2 2 1.00 blcicl %eax, %ecx
86 # CHECK-NEXT: 2 6 1.50 * blcicl (%rax), %ecx
87 # CHECK-NEXT: 2 2 1.00 blcicq %rax, %rcx
88 # CHECK-NEXT: 2 6 1.50 * blcicq (%rax), %rcx
89 # CHECK-NEXT: 2 2 1.00 blcmskl %eax, %ecx
90 # CHECK-NEXT: 2 6 1.50 * blcmskl (%rax), %ecx
91 # CHECK-NEXT: 2 2 1.00 blcmskq %rax, %rcx
92 # CHECK-NEXT: 2 6 1.50 * blcmskq (%rax), %rcx
93 # CHECK-NEXT: 2 2 1.00 blcsl %eax, %ecx
94 # CHECK-NEXT: 2 6 1.50 * blcsl (%rax), %ecx
95 # CHECK-NEXT: 2 2 1.00 blcsq %rax, %rcx
96 # CHECK-NEXT: 2 6 1.50 * blcsq (%rax), %rcx
97 # CHECK-NEXT: 2 2 1.00 blsfilll %eax, %ecx
98 # CHECK-NEXT: 2 6 1.50 * blsfilll (%rax), %ecx
99 # CHECK-NEXT: 2 2 1.00 blsfillq %rax, %rcx
100 # CHECK-NEXT: 2 6 1.50 * blsfillq (%rax), %rcx
101 # CHECK-NEXT: 2 2 1.00 blsicl %eax, %ecx
102 # CHECK-NEXT: 2 6 1.50 * blsicl (%rax), %ecx
103 # CHECK-NEXT: 2 2 1.00 blsicq %rax, %rcx
104 # CHECK-NEXT: 2 6 1.50 * blsicq (%rax), %rcx
105 # CHECK-NEXT: 2 2 1.00 t1mskcl %eax, %ecx
106 # CHECK-NEXT: 2 6 1.50 * t1mskcl (%rax), %ecx
107 # CHECK-NEXT: 2 2 1.00 t1mskcq %rax, %rcx
108 # CHECK-NEXT: 2 6 1.50 * t1mskcq (%rax), %rcx
109 # CHECK-NEXT: 2 2 1.00 tzmskl %eax, %ecx
110 # CHECK-NEXT: 2 6 1.50 * tzmskl (%rax), %ecx
111 # CHECK-NEXT: 2 2 1.00 tzmskq %rax, %rcx
112 # CHECK-NEXT: 2 6 1.50 * tzmskq (%rax), %rcx
115 # CHECK-NEXT: [0.0] - PdAGLU01
116 # CHECK-NEXT: [0.1] - PdAGLU01
117 # CHECK-NEXT: [1] - PdBranch
118 # CHECK-NEXT: [2] - PdCount
119 # CHECK-NEXT: [3] - PdDiv
120 # CHECK-NEXT: [4] - PdEX0
121 # CHECK-NEXT: [5] - PdEX1
122 # CHECK-NEXT: [6] - PdFPCVT
123 # CHECK-NEXT: [7.0] - PdFPFMA
124 # CHECK-NEXT: [7.1] - PdFPFMA
125 # CHECK-NEXT: [8.0] - PdFPMAL
126 # CHECK-NEXT: [8.1] - PdFPMAL
127 # CHECK-NEXT: [9] - PdFPMMA
128 # CHECK-NEXT: [10] - PdFPSTO
129 # CHECK-NEXT: [11] - PdFPU0
130 # CHECK-NEXT: [12] - PdFPU1
131 # CHECK-NEXT: [13] - PdFPU2
132 # CHECK-NEXT: [14] - PdFPU3
133 # CHECK-NEXT: [15] - PdFPXBR
134 # CHECK-NEXT: [16.0] - PdLoad
135 # CHECK-NEXT: [16.1] - PdLoad
136 # CHECK-NEXT: [17] - PdMul
137 # CHECK-NEXT: [18] - PdStore
139 # CHECK: Resource pressure per iteration:
140 # 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 # CHECK-NEXT: 27.00 27.00 - - - 54.00 54.00 - - - - - - - - - - - - 27.00 27.00 - -
143 # CHECK: Resource pressure by instruction:
144 # 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 # CHECK-NEXT: - - - - - 2.00 2.00 - - - - - - - - - - - - - - - - bextrl $8192, %ebx, %ecx
146 # CHECK-NEXT: - - - - - 2.50 2.50 - - - - - - - - - - - - - - - - bextrl $8192, (%rbx), %ecx
147 # CHECK-NEXT: - - - - - 2.00 2.00 - - - - - - - - - - - - - - - - bextrq $16384, %rbx, %rcx
148 # CHECK-NEXT: - - - - - 2.50 2.50 - - - - - - - - - - - - - - - - bextrq $16384, (%rbx), %rcx
149 # CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - blcfilll %eax, %ecx
150 # CHECK-NEXT: 1.50 1.50 - - - 1.50 1.50 - - - - - - - - - - - - 1.50 1.50 - - blcfilll (%rax), %ecx
151 # CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - blcfillq %rax, %rcx
152 # CHECK-NEXT: 1.50 1.50 - - - 1.50 1.50 - - - - - - - - - - - - 1.50 1.50 - - blcfillq (%rax), %rcx
153 # CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - blcil %eax, %ecx
154 # CHECK-NEXT: 1.50 1.50 - - - 1.50 1.50 - - - - - - - - - - - - 1.50 1.50 - - blcil (%rax), %ecx
155 # CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - blciq %rax, %rcx
156 # CHECK-NEXT: 1.50 1.50 - - - 1.50 1.50 - - - - - - - - - - - - 1.50 1.50 - - blciq (%rax), %rcx
157 # CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - blcicl %eax, %ecx
158 # CHECK-NEXT: 1.50 1.50 - - - 1.50 1.50 - - - - - - - - - - - - 1.50 1.50 - - blcicl (%rax), %ecx
159 # CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - blcicq %rax, %rcx
160 # CHECK-NEXT: 1.50 1.50 - - - 1.50 1.50 - - - - - - - - - - - - 1.50 1.50 - - blcicq (%rax), %rcx
161 # CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - blcmskl %eax, %ecx
162 # CHECK-NEXT: 1.50 1.50 - - - 1.50 1.50 - - - - - - - - - - - - 1.50 1.50 - - blcmskl (%rax), %ecx
163 # CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - blcmskq %rax, %rcx
164 # CHECK-NEXT: 1.50 1.50 - - - 1.50 1.50 - - - - - - - - - - - - 1.50 1.50 - - blcmskq (%rax), %rcx
165 # CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - blcsl %eax, %ecx
166 # CHECK-NEXT: 1.50 1.50 - - - 1.50 1.50 - - - - - - - - - - - - 1.50 1.50 - - blcsl (%rax), %ecx
167 # CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - blcsq %rax, %rcx
168 # CHECK-NEXT: 1.50 1.50 - - - 1.50 1.50 - - - - - - - - - - - - 1.50 1.50 - - blcsq (%rax), %rcx
169 # CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - blsfilll %eax, %ecx
170 # CHECK-NEXT: 1.50 1.50 - - - 1.50 1.50 - - - - - - - - - - - - 1.50 1.50 - - blsfilll (%rax), %ecx
171 # CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - blsfillq %rax, %rcx
172 # CHECK-NEXT: 1.50 1.50 - - - 1.50 1.50 - - - - - - - - - - - - 1.50 1.50 - - blsfillq (%rax), %rcx
173 # CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - blsicl %eax, %ecx
174 # CHECK-NEXT: 1.50 1.50 - - - 1.50 1.50 - - - - - - - - - - - - 1.50 1.50 - - blsicl (%rax), %ecx
175 # CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - blsicq %rax, %rcx
176 # CHECK-NEXT: 1.50 1.50 - - - 1.50 1.50 - - - - - - - - - - - - 1.50 1.50 - - blsicq (%rax), %rcx
177 # CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - t1mskcl %eax, %ecx
178 # CHECK-NEXT: 1.50 1.50 - - - 1.50 1.50 - - - - - - - - - - - - 1.50 1.50 - - t1mskcl (%rax), %ecx
179 # CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - t1mskcq %rax, %rcx
180 # CHECK-NEXT: 1.50 1.50 - - - 1.50 1.50 - - - - - - - - - - - - 1.50 1.50 - - t1mskcq (%rax), %rcx
181 # CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - tzmskl %eax, %ecx
182 # CHECK-NEXT: 1.50 1.50 - - - 1.50 1.50 - - - - - - - - - - - - 1.50 1.50 - - tzmskl (%rax), %ecx
183 # CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - tzmskq %rax, %rcx
184 # CHECK-NEXT: 1.50 1.50 - - - 1.50 1.50 - - - - - - - - - - - - 1.50 1.50 - - tzmskq (%rax), %rcx