Run DCE after a LoopFlatten test to reduce spurious output [nfc]
[llvm-project.git] / llvm / test / tools / llvm-mca / X86 / Znver4 / resources-adx.s
blobfdc3662f4db56e1649ae2b5911dd6f9de58bc532
1 # NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
2 # RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=znver4 -instruction-tables < %s | FileCheck %s
4 adcx %ebx, %ecx
5 adcx (%rbx), %ecx
6 adcx %rbx, %rcx
7 adcx (%rbx), %rcx
9 adox %ebx, %ecx
10 adox (%rbx), %ecx
11 adox %rbx, %rcx
12 adox (%rbx), %rcx
14 # CHECK: Instruction Info:
15 # CHECK-NEXT: [1]: #uOps
16 # CHECK-NEXT: [2]: Latency
17 # CHECK-NEXT: [3]: RThroughput
18 # CHECK-NEXT: [4]: MayLoad
19 # CHECK-NEXT: [5]: MayStore
20 # CHECK-NEXT: [6]: HasSideEffects (U)
22 # CHECK: [1] [2] [3] [4] [5] [6] Instructions:
23 # CHECK-NEXT: 1 1 1.00 adcxl %ebx, %ecx
24 # CHECK-NEXT: 1 5 1.00 * adcxl (%rbx), %ecx
25 # CHECK-NEXT: 1 1 1.00 adcxq %rbx, %rcx
26 # CHECK-NEXT: 1 5 1.00 * adcxq (%rbx), %rcx
27 # CHECK-NEXT: 1 1 1.00 adoxl %ebx, %ecx
28 # CHECK-NEXT: 1 5 1.00 * adoxl (%rbx), %ecx
29 # CHECK-NEXT: 1 1 1.00 adoxq %rbx, %rcx
30 # CHECK-NEXT: 1 5 1.00 * adoxq (%rbx), %rcx
32 # CHECK: Resources:
33 # CHECK-NEXT: [0] - Zn4AGU0
34 # CHECK-NEXT: [1] - Zn4AGU1
35 # CHECK-NEXT: [2] - Zn4AGU2
36 # CHECK-NEXT: [3] - Zn4ALU0
37 # CHECK-NEXT: [4] - Zn4ALU1
38 # CHECK-NEXT: [5] - Zn4ALU2
39 # CHECK-NEXT: [6] - Zn4ALU3
40 # CHECK-NEXT: [7] - Zn4BRU1
41 # CHECK-NEXT: [8] - Zn4FP0
42 # CHECK-NEXT: [9] - Zn4FP1
43 # CHECK-NEXT: [10] - Zn4FP2
44 # CHECK-NEXT: [11] - Zn4FP3
45 # CHECK-NEXT: [12.0] - Zn4FP45
46 # CHECK-NEXT: [12.1] - Zn4FP45
47 # CHECK-NEXT: [13] - Zn4FPSt
48 # CHECK-NEXT: [14.0] - Zn4LSU
49 # CHECK-NEXT: [14.1] - Zn4LSU
50 # CHECK-NEXT: [14.2] - Zn4LSU
51 # CHECK-NEXT: [15.0] - Zn4Load
52 # CHECK-NEXT: [15.1] - Zn4Load
53 # CHECK-NEXT: [15.2] - Zn4Load
54 # CHECK-NEXT: [16.0] - Zn4Store
55 # CHECK-NEXT: [16.1] - Zn4Store
57 # CHECK: Resource pressure per iteration:
58 # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1]
59 # CHECK-NEXT: 1.33 1.33 1.33 8.00 8.00 8.00 8.00 - - - - - - - - 1.33 1.33 1.33 1.33 1.33 1.33 - -
61 # CHECK: Resource pressure by instruction:
62 # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] Instructions:
63 # CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - adcxl %ebx, %ecx
64 # CHECK-NEXT: 0.33 0.33 0.33 1.00 1.00 1.00 1.00 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - adcxl (%rbx), %ecx
65 # CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - adcxq %rbx, %rcx
66 # CHECK-NEXT: 0.33 0.33 0.33 1.00 1.00 1.00 1.00 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - adcxq (%rbx), %rcx
67 # CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - adoxl %ebx, %ecx
68 # CHECK-NEXT: 0.33 0.33 0.33 1.00 1.00 1.00 1.00 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - adoxl (%rbx), %ecx
69 # CHECK-NEXT: - - - 1.00 1.00 1.00 1.00 - - - - - - - - - - - - - - - - adoxq %rbx, %rcx
70 # CHECK-NEXT: 0.33 0.33 0.33 1.00 1.00 1.00 1.00 - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - adoxq (%rbx), %rcx