1# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py 2# RUN: llvm-mca -march=aarch64 -mcpu=exynos-m3 -resource-pressure=false < %s | FileCheck %s -check-prefixes=ALL,M3 3# RUN: llvm-mca -march=aarch64 -mcpu=exynos-m4 -resource-pressure=false < %s | FileCheck %s -check-prefixes=ALL,M4 4# RUN: llvm-mca -march=aarch64 -mcpu=exynos-m5 -resource-pressure=false < %s | FileCheck %s -check-prefixes=ALL,M5 5 6fsqrt d31, d31 7 8# Newton series for sqrt(). 9frsqrte d1, d0 10fmul d2, d1, d1 11frsqrts d2, d0, d2 12fmul d1, d1, d2 13fmul d2, d1, d1 14frsqrts d2, d0, d2 15fmul d1, d1, d2 16fmul d2, d1, d1 17frsqrts d2, d0, d2 18fmul d2, d2, d0 19fmul d1, d1, d2 20fcmp d0, #0.0 21fcsel d0, d0, d1, eq 22 23# ALL: Iterations: 100 24# ALL-NEXT: Instructions: 1400 25 26# M3-NEXT: Total Cycles: 4203 27# M4-NEXT: Total Cycles: 4103 28# M5-NEXT: Total Cycles: 3803 29 30# ALL-NEXT: Total uOps: 1500 31 32# ALL: Dispatch Width: 6 33 34# M3-NEXT: uOps Per Cycle: 0.36 35# M3-NEXT: IPC: 0.33 36# M3-NEXT: Block RThroughput: 27.0 37 38# M4-NEXT: uOps Per Cycle: 0.37 39# M4-NEXT: IPC: 0.34 40# M4-NEXT: Block RThroughput: 3.3 41 42# M5-NEXT: uOps Per Cycle: 0.39 43# M5-NEXT: IPC: 0.37 44# M5-NEXT: Block RThroughput: 3.3 45 46# ALL: Instruction Info: 47# ALL-NEXT: [1]: #uOps 48# ALL-NEXT: [2]: Latency 49# ALL-NEXT: [3]: RThroughput 50# ALL-NEXT: [4]: MayLoad 51# ALL-NEXT: [5]: MayStore 52# ALL-NEXT: [6]: HasSideEffects (U) 53 54# ALL: [1] [2] [3] [4] [5] [6] Instructions: 55 56# M3-NEXT: 1 25 26.00 fsqrt d31, d31 57# M3-NEXT: 1 4 0.50 frsqrte d1, d0 58 59# M4-NEXT: 1 12 2.25 fsqrt d31, d31 60# M4-NEXT: 1 3 0.50 frsqrte d1, d0 61 62# M5-NEXT: 1 12 2.25 fsqrt d31, d31 63# M5-NEXT: 1 3 0.50 frsqrte d1, d0 64 65# ALL-NEXT: 1 3 0.33 fmul d2, d1, d1 66# ALL-NEXT: 1 4 0.33 frsqrts d2, d0, d2 67# ALL-NEXT: 1 3 0.33 fmul d1, d1, d2 68# ALL-NEXT: 1 3 0.33 fmul d2, d1, d1 69# ALL-NEXT: 1 4 0.33 frsqrts d2, d0, d2 70# ALL-NEXT: 1 3 0.33 fmul d1, d1, d2 71# ALL-NEXT: 1 3 0.33 fmul d2, d1, d1 72# ALL-NEXT: 1 4 0.33 frsqrts d2, d0, d2 73# ALL-NEXT: 1 3 0.33 fmul d2, d2, d0 74# ALL-NEXT: 1 3 0.33 fmul d1, d1, d2 75# ALL-NEXT: 1 2 1.00 fcmp d0, #0.0 76 77# M3-NEXT: 2 5 1.00 fcsel d0, d0, d1, eq 78# M4-NEXT: 2 5 1.00 fcsel d0, d0, d1, eq 79# M5-NEXT: 2 2 1.00 fcsel d0, d0, d1, eq 80