[InstCombine] Signed saturation patterns
[llvm-core.git] / test / tools / llvm-mca / AArch64 / Exynos / shifted-register.s
blob5dfdc1e4ca14a754dd8c88ff1679b59c947dfa5e
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
7 sub x3, x4, x5, lsr #1
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
26 # EM1-NEXT: IPC: 1.70
27 # EM1-NEXT: Block RThroughput: 4.7
29 # EM3: Dispatch Width: 6
30 # EM3-NEXT: uOps Per Cycle: 2.26
31 # EM3-NEXT: IPC: 2.26
32 # EM3-NEXT: Block RThroughput: 3.5
34 # EM4: Dispatch Width: 6
35 # EM4-NEXT: uOps Per Cycle: 2.43
36 # EM4-NEXT: IPC: 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