1 # NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
2 # RUN: llvm-mca -march=aarch64 -mcpu=exynos-m1 -resource-pressure=false < %s | FileCheck %s -check-prefixes=ALL,EM1
3 # RUN: llvm-mca -march=aarch64 -mcpu=exynos-m3 -resource-pressure=false < %s | FileCheck %s -check-prefixes=ALL,EM3
4 # RUN: llvm-mca -march=aarch64 -mcpu=exynos-m4 -resource-pressure=false < %s | FileCheck %s -check-prefixes=ALL,EM4
6 adds w0
, w1
, w2
, lsl
#0
8 ands x6
, x7
, x8
, lsl
#2
9 orr w9
, w10
, w11
, asr
#3
10 adds w12
, w13
, w14
, lsl
#4
11 sub x15
, x16
, x17
, lsr
#6
12 ands x18
, x19
, x20
, lsl
#8
13 orr w21
, w22
, w23
, asr
#10
15 # ALL: Iterations: 100
16 # ALL-NEXT: Instructions: 800
18 # EM1-NEXT: Total Cycles: 470
19 # EM3-NEXT: Total Cycles: 354
20 # EM4-NEXT: Total Cycles: 329
22 # ALL-NEXT: Total uOps: 800
24 # EM1: Dispatch Width: 4
25 # EM1-NEXT: uOps Per Cycle: 1.70
27 # EM1-NEXT: Block RThroughput: 4.7
29 # EM3: Dispatch Width: 6
30 # EM3-NEXT: uOps Per Cycle: 2.26
32 # EM3-NEXT: Block RThroughput: 3.5
34 # EM4: Dispatch Width: 6
35 # EM4-NEXT: uOps Per Cycle: 2.43
37 # EM4-NEXT: Block RThroughput: 3.3
39 # ALL: Instruction Info:
40 # ALL-NEXT: [1]: #uOps
41 # ALL-NEXT: [2]: Latency
42 # ALL-NEXT: [3]: RThroughput
43 # ALL-NEXT: [4]: MayLoad
44 # ALL-NEXT: [5]: MayStore
45 # ALL-NEXT: [6]: HasSideEffects (U)
47 # ALL: [1] [2] [3] [4] [5] [6] Instructions:
49 # EM1-NEXT: 1 1 0.33 adds w0, w1, w2
50 # EM1-NEXT: 1 2 0.67 sub x3, x4, x5, lsr #1
51 # EM1-NEXT: 1 1 0.33 ands x6, x7, x8, lsl #2
52 # EM1-NEXT: 1 2 0.67 orr w9, w10, w11, asr #3
53 # EM1-NEXT: 1 2 0.67 adds w12, w13, w14, lsl #4
54 # EM1-NEXT: 1 2 0.67 sub x15, x16, x17, lsr #6
55 # EM1-NEXT: 1 2 0.67 ands x18, x19, x20, lsl #8
56 # EM1-NEXT: 1 2 0.67 orr w21, w22, w23, asr #10
58 # EM3-NEXT: 1 1 0.25 adds w0, w1, w2
59 # EM3-NEXT: 1 2 0.50 sub x3, x4, x5, lsr #1
60 # EM3-NEXT: 1 1 0.25 ands x6, x7, x8, lsl #2
61 # EM3-NEXT: 1 2 0.50 orr w9, w10, w11, asr #3
62 # EM3-NEXT: 1 2 0.50 adds w12, w13, w14, lsl #4
63 # EM3-NEXT: 1 2 0.50 sub x15, x16, x17, lsr #6
64 # EM3-NEXT: 1 2 0.50 ands x18, x19, x20, lsl #8
65 # EM3-NEXT: 1 2 0.50 orr w21, w22, w23, asr #10
67 # EM4-NEXT: 1 1 0.25 adds w0, w1, w2
68 # EM4-NEXT: 1 2 0.50 sub x3, x4, x5, lsr #1
69 # EM4-NEXT: 1 1 0.25 ands x6, x7, x8, lsl #2
70 # EM4-NEXT: 1 2 0.50 orr w9, w10, w11, asr #3
71 # EM4-NEXT: 1 2 0.50 adds w12, w13, w14, lsl #4
72 # EM4-NEXT: 1 2 0.50 sub x15, x16, x17, lsr #6
73 # EM4-NEXT: 1 1 0.25 ands x18, x19, x20, lsl #8
74 # EM4-NEXT: 1 2 0.50 orr w21, w22, w23, asr #10