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 d30, d30 7fmov d31, #1.00000000 8fdiv d30, d31, d30 9 10# Newton series for 1 / sqrt(). 11frsqrte d1, d0 12fmul d2, d1, d1 13frsqrts d2, d0, d2 14fmul d1, d1, d2 15fmul d2, d1, d1 16frsqrts d2, d0, d2 17fmul d1, d1, d2 18fmul d2, d1, d1 19frsqrts d0, d0, d2 20fmul d0, d1, d0 21 22# ALL: Iterations: 100 23# ALL-NEXT: Instructions: 1300 24 25# M3-NEXT: Total Cycles: 3703 26# M4-NEXT: Total Cycles: 3303 27# M5-NEXT: Total Cycles: 3303 28 29# ALL-NEXT: Total uOps: 1300 30 31# ALL: Dispatch Width: 6 32 33# M3-NEXT: uOps Per Cycle: 0.35 34# M3-NEXT: IPC: 0.35 35# M3-NEXT: Block RThroughput: 26.0 36 37# M4-NEXT: uOps Per Cycle: 0.39 38# M4-NEXT: IPC: 0.39 39# M4-NEXT: Block RThroughput: 3.0 40 41# M5-NEXT: uOps Per Cycle: 0.39 42# M5-NEXT: IPC: 0.39 43# M5-NEXT: Block RThroughput: 3.0 44 45# ALL: Instruction Info: 46# ALL-NEXT: [1]: #uOps 47# ALL-NEXT: [2]: Latency 48# ALL-NEXT: [3]: RThroughput 49# ALL-NEXT: [4]: MayLoad 50# ALL-NEXT: [5]: MayStore 51# ALL-NEXT: [6]: HasSideEffects (U) 52 53# ALL: [1] [2] [3] [4] [5] [6] Instructions: 54 55# M3-NEXT: 1 25 26.00 fsqrt d30, d30 56# M4-NEXT: 1 12 2.25 fsqrt d30, d30 57# M5-NEXT: 1 12 2.25 fsqrt d30, d30 58 59# ALL-NEXT: 1 1 0.33 fmov d31, #1.00000000 60 61# M3-NEXT: 1 12 3.25 fdiv d30, d31, d30 62# M3-NEXT: 1 4 0.50 frsqrte d1, d0 63 64# M4-NEXT: 1 12 2.25 fdiv d30, d31, d30 65# M4-NEXT: 1 3 0.50 frsqrte d1, d0 66 67# M5-NEXT: 1 12 2.25 fdiv d30, d31, d30 68# M5-NEXT: 1 3 0.50 frsqrte d1, d0 69 70# ALL-NEXT: 1 3 0.33 fmul d2, d1, d1 71# ALL-NEXT: 1 4 0.33 frsqrts d2, d0, d2 72# ALL-NEXT: 1 3 0.33 fmul d1, d1, d2 73# ALL-NEXT: 1 3 0.33 fmul d2, d1, d1 74# ALL-NEXT: 1 4 0.33 frsqrts d2, d0, d2 75# ALL-NEXT: 1 3 0.33 fmul d1, d1, d2 76# ALL-NEXT: 1 3 0.33 fmul d2, d1, d1 77# ALL-NEXT: 1 4 0.33 frsqrts d0, d0, d2 78# ALL-NEXT: 1 3 0.33 fmul d0, d1, d0 79