1# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py 2# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=x86-64 -instruction-tables < %s | FileCheck %s 3 4vexp2pd %zmm16, %zmm19 5vexp2pd (%rax), %zmm19 6vexp2pd (%rax){1to8}, %zmm19 7vexp2pd %zmm16, %zmm19 {k1} 8vexp2pd (%rax), %zmm19 {k1} 9vexp2pd (%rax){1to8}, %zmm19 {k1} 10vexp2pd %zmm16, %zmm19 {z}{k1} 11vexp2pd (%rax), %zmm19 {z}{k1} 12vexp2pd (%rax){1to8}, %zmm19 {z}{k1} 13 14vexp2pd {sae}, %zmm16, %zmm19 15vexp2pd {sae}, %zmm16, %zmm19 {k1} 16vexp2pd {sae}, %zmm16, %zmm19 {z}{k1} 17 18vexp2ps %zmm16, %zmm19 19vexp2ps (%rax), %zmm19 20vexp2ps (%rax){1to16}, %zmm19 21vexp2ps %zmm16, %zmm19 {k1} 22vexp2ps (%rax), %zmm19 {k1} 23vexp2ps (%rax){1to16}, %zmm19 {k1} 24vexp2ps %zmm16, %zmm19 {z}{k1} 25vexp2ps (%rax), %zmm19 {z}{k1} 26vexp2ps (%rax){1to16}, %zmm19 {z}{k1} 27 28vexp2ps {sae}, %zmm16, %zmm19 29vexp2ps {sae}, %zmm16, %zmm19 {k1} 30vexp2ps {sae}, %zmm16, %zmm19 {z}{k1} 31 32vrcp28pd %zmm16, %zmm19 33vrcp28pd (%rax), %zmm19 34vrcp28pd (%rax){1to8}, %zmm19 35vrcp28pd %zmm16, %zmm19 {k1} 36vrcp28pd (%rax), %zmm19 {k1} 37vrcp28pd (%rax){1to8}, %zmm19 {k1} 38vrcp28pd %zmm16, %zmm19 {z}{k1} 39vrcp28pd (%rax), %zmm19 {z}{k1} 40vrcp28pd (%rax){1to8}, %zmm19 {z}{k1} 41 42vrcp28pd {sae}, %zmm16, %zmm19 43vrcp28pd {sae}, %zmm16, %zmm19 {k1} 44vrcp28pd {sae}, %zmm16, %zmm19 {z}{k1} 45 46vrcp28ps %zmm16, %zmm19 47vrcp28ps (%rax), %zmm19 48vrcp28ps (%rax){1to16}, %zmm19 49vrcp28ps %zmm16, %zmm19 {k1} 50vrcp28ps (%rax), %zmm19 {k1} 51vrcp28ps (%rax){1to16}, %zmm19 {k1} 52vrcp28ps %zmm16, %zmm19 {z}{k1} 53vrcp28ps (%rax), %zmm19 {z}{k1} 54vrcp28ps (%rax){1to16}, %zmm19 {z}{k1} 55 56vrcp28ps {sae}, %zmm16, %zmm19 57vrcp28ps {sae}, %zmm16, %zmm19 {k1} 58vrcp28ps {sae}, %zmm16, %zmm19 {z}{k1} 59 60vrcp28sd %xmm16, %xmm17, %xmm19 61vrcp28sd (%rax), %xmm17, %xmm19 62vrcp28sd %xmm16, %xmm17, %xmm19 {k1} 63vrcp28sd (%rax), %xmm17, %xmm19 {k1} 64vrcp28sd %xmm16, %xmm17, %xmm19 {z}{k1} 65vrcp28sd (%rax), %xmm17, %xmm19 {z}{k1} 66 67vrcp28sd {sae}, %xmm16, %xmm17, %xmm19 68vrcp28sd {sae}, %xmm16, %xmm17, %xmm19 {k1} 69vrcp28sd {sae}, %xmm16, %xmm17, %xmm19 {z}{k1} 70 71vrcp28ss %xmm16, %xmm17, %xmm19 72vrcp28ss (%rax), %xmm17, %xmm19 73vrcp28ss %xmm16, %xmm17, %xmm19 {k1} 74vrcp28ss (%rax), %xmm17, %xmm19 {k1} 75vrcp28ss %xmm16, %xmm17, %xmm19 {z}{k1} 76vrcp28ss (%rax), %xmm17, %xmm19 {z}{k1} 77 78vrcp28ss {sae}, %xmm16, %xmm17, %xmm19 79vrcp28ss {sae}, %xmm16, %xmm17, %xmm19 {k1} 80vrcp28ss {sae}, %xmm16, %xmm17, %xmm19 {z}{k1} 81 82vrsqrt28pd %zmm16, %zmm19 83vrsqrt28pd (%rax), %zmm19 84vrsqrt28pd (%rax){1to8}, %zmm19 85vrsqrt28pd %zmm16, %zmm19 {k1} 86vrsqrt28pd (%rax), %zmm19 {k1} 87vrsqrt28pd (%rax){1to8}, %zmm19 {k1} 88vrsqrt28pd %zmm16, %zmm19 {z}{k1} 89vrsqrt28pd (%rax), %zmm19 {z}{k1} 90vrsqrt28pd (%rax){1to8}, %zmm19 {z}{k1} 91 92vrsqrt28pd {sae}, %zmm16, %zmm19 93vrsqrt28pd {sae}, %zmm16, %zmm19 {k1} 94vrsqrt28pd {sae}, %zmm16, %zmm19 {z}{k1} 95 96vrsqrt28ps %zmm16, %zmm19 97vrsqrt28ps (%rax), %zmm19 98vrsqrt28ps (%rax){1to16}, %zmm19 99vrsqrt28ps %zmm16, %zmm19 {k1} 100vrsqrt28ps (%rax), %zmm19 {k1} 101vrsqrt28ps (%rax){1to16}, %zmm19 {k1} 102vrsqrt28ps %zmm16, %zmm19 {z}{k1} 103vrsqrt28ps (%rax), %zmm19 {z}{k1} 104vrsqrt28ps (%rax){1to16}, %zmm19 {z}{k1} 105 106vrsqrt28ps {sae}, %zmm16, %zmm19 107vrsqrt28ps {sae}, %zmm16, %zmm19 {k1} 108vrsqrt28ps {sae}, %zmm16, %zmm19 {z}{k1} 109 110vrsqrt28sd %xmm16, %xmm17, %xmm19 111vrsqrt28sd (%rax), %xmm17, %xmm19 112vrsqrt28sd %xmm16, %xmm17, %xmm19 {k1} 113vrsqrt28sd (%rax), %xmm17, %xmm19 {k1} 114vrsqrt28sd %xmm16, %xmm17, %xmm19 {z}{k1} 115vrsqrt28sd (%rax), %xmm17, %xmm19 {z}{k1} 116 117vrsqrt28sd {sae}, %xmm16, %xmm17, %xmm19 118vrsqrt28sd {sae}, %xmm16, %xmm17, %xmm19 {k1} 119vrsqrt28sd {sae}, %xmm16, %xmm17, %xmm19 {z}{k1} 120 121vrsqrt28ss %xmm16, %xmm17, %xmm19 122vrsqrt28ss (%rax), %xmm17, %xmm19 123vrsqrt28ss %xmm16, %xmm17, %xmm19 {k1} 124vrsqrt28ss (%rax), %xmm17, %xmm19 {k1} 125vrsqrt28ss %xmm16, %xmm17, %xmm19 {z}{k1} 126vrsqrt28ss (%rax), %xmm17, %xmm19 {z}{k1} 127 128vrsqrt28ss {sae}, %xmm16, %xmm17, %xmm19 129vrsqrt28ss {sae}, %xmm16, %xmm17, %xmm19 {k1} 130vrsqrt28ss {sae}, %xmm16, %xmm17, %xmm19 {z}{k1} 131 132# CHECK: Instruction Info: 133# CHECK-NEXT: [1]: #uOps 134# CHECK-NEXT: [2]: Latency 135# CHECK-NEXT: [3]: RThroughput 136# CHECK-NEXT: [4]: MayLoad 137# CHECK-NEXT: [5]: MayStore 138# CHECK-NEXT: [6]: HasSideEffects (U) 139 140# CHECK: [1] [2] [3] [4] [5] [6] Instructions: 141# CHECK-NEXT: 1 3 1.00 vexp2pd %zmm16, %zmm19 142# CHECK-NEXT: 2 10 1.00 * vexp2pd (%rax), %zmm19 143# CHECK-NEXT: 2 10 1.00 * vexp2pd (%rax){1to8}, %zmm19 144# CHECK-NEXT: 1 3 1.00 vexp2pd %zmm16, %zmm19 {%k1} 145# CHECK-NEXT: 2 10 1.00 * vexp2pd (%rax), %zmm19 {%k1} 146# CHECK-NEXT: 2 10 1.00 * vexp2pd (%rax){1to8}, %zmm19 {%k1} 147# CHECK-NEXT: 1 3 1.00 vexp2pd %zmm16, %zmm19 {%k1} {z} 148# CHECK-NEXT: 2 10 1.00 * vexp2pd (%rax), %zmm19 {%k1} {z} 149# CHECK-NEXT: 2 10 1.00 * vexp2pd (%rax){1to8}, %zmm19 {%k1} {z} 150# CHECK-NEXT: 1 3 1.00 vexp2pd {sae}, %zmm16, %zmm19 151# CHECK-NEXT: 1 3 1.00 vexp2pd {sae}, %zmm16, %zmm19 {%k1} 152# CHECK-NEXT: 1 3 1.00 vexp2pd {sae}, %zmm16, %zmm19 {%k1} {z} 153# CHECK-NEXT: 1 3 1.00 vexp2ps %zmm16, %zmm19 154# CHECK-NEXT: 2 10 1.00 * vexp2ps (%rax), %zmm19 155# CHECK-NEXT: 2 10 1.00 * vexp2ps (%rax){1to16}, %zmm19 156# CHECK-NEXT: 1 3 1.00 vexp2ps %zmm16, %zmm19 {%k1} 157# CHECK-NEXT: 2 10 1.00 * vexp2ps (%rax), %zmm19 {%k1} 158# CHECK-NEXT: 2 10 1.00 * vexp2ps (%rax){1to16}, %zmm19 {%k1} 159# CHECK-NEXT: 1 3 1.00 vexp2ps %zmm16, %zmm19 {%k1} {z} 160# CHECK-NEXT: 2 10 1.00 * vexp2ps (%rax), %zmm19 {%k1} {z} 161# CHECK-NEXT: 2 10 1.00 * vexp2ps (%rax){1to16}, %zmm19 {%k1} {z} 162# CHECK-NEXT: 1 3 1.00 vexp2ps {sae}, %zmm16, %zmm19 163# CHECK-NEXT: 1 3 1.00 vexp2ps {sae}, %zmm16, %zmm19 {%k1} 164# CHECK-NEXT: 1 3 1.00 vexp2ps {sae}, %zmm16, %zmm19 {%k1} {z} 165# CHECK-NEXT: 3 7 2.00 vrcp28pd %zmm16, %zmm19 166# CHECK-NEXT: 4 14 2.00 * vrcp28pd (%rax), %zmm19 167# CHECK-NEXT: 4 14 2.00 * vrcp28pd (%rax){1to8}, %zmm19 168# CHECK-NEXT: 3 7 2.00 vrcp28pd %zmm16, %zmm19 {%k1} 169# CHECK-NEXT: 4 14 2.00 * vrcp28pd (%rax), %zmm19 {%k1} 170# CHECK-NEXT: 4 14 2.00 * vrcp28pd (%rax){1to8}, %zmm19 {%k1} 171# CHECK-NEXT: 3 7 2.00 vrcp28pd %zmm16, %zmm19 {%k1} {z} 172# CHECK-NEXT: 4 14 2.00 * vrcp28pd (%rax), %zmm19 {%k1} {z} 173# CHECK-NEXT: 4 14 2.00 * vrcp28pd (%rax){1to8}, %zmm19 {%k1} {z} 174# CHECK-NEXT: 3 7 2.00 vrcp28pd {sae}, %zmm16, %zmm19 175# CHECK-NEXT: 3 7 2.00 vrcp28pd {sae}, %zmm16, %zmm19 {%k1} 176# CHECK-NEXT: 3 7 2.00 vrcp28pd {sae}, %zmm16, %zmm19 {%k1} {z} 177# CHECK-NEXT: 3 7 2.00 vrcp28ps %zmm16, %zmm19 178# CHECK-NEXT: 4 14 2.00 * vrcp28ps (%rax), %zmm19 179# CHECK-NEXT: 4 14 2.00 * vrcp28ps (%rax){1to16}, %zmm19 180# CHECK-NEXT: 3 7 2.00 vrcp28ps %zmm16, %zmm19 {%k1} 181# CHECK-NEXT: 4 14 2.00 * vrcp28ps (%rax), %zmm19 {%k1} 182# CHECK-NEXT: 4 14 2.00 * vrcp28ps (%rax){1to16}, %zmm19 {%k1} 183# CHECK-NEXT: 3 7 2.00 vrcp28ps %zmm16, %zmm19 {%k1} {z} 184# CHECK-NEXT: 4 14 2.00 * vrcp28ps (%rax), %zmm19 {%k1} {z} 185# CHECK-NEXT: 4 14 2.00 * vrcp28ps (%rax){1to16}, %zmm19 {%k1} {z} 186# CHECK-NEXT: 3 7 2.00 vrcp28ps {sae}, %zmm16, %zmm19 187# CHECK-NEXT: 3 7 2.00 vrcp28ps {sae}, %zmm16, %zmm19 {%k1} 188# CHECK-NEXT: 3 7 2.00 vrcp28ps {sae}, %zmm16, %zmm19 {%k1} {z} 189# CHECK-NEXT: 1 5 1.00 vrcp28sd %xmm16, %xmm17, %xmm19 190# CHECK-NEXT: 2 11 1.00 * vrcp28sd (%rax), %xmm17, %xmm19 191# CHECK-NEXT: 1 5 1.00 vrcp28sd %xmm16, %xmm17, %xmm19 {%k1} 192# CHECK-NEXT: 2 11 1.00 * vrcp28sd (%rax), %xmm17, %xmm19 {%k1} 193# CHECK-NEXT: 1 5 1.00 vrcp28sd %xmm16, %xmm17, %xmm19 {%k1} {z} 194# CHECK-NEXT: 2 11 1.00 * vrcp28sd (%rax), %xmm17, %xmm19 {%k1} {z} 195# CHECK-NEXT: 1 5 1.00 vrcp28sd {sae}, %xmm16, %xmm17, %xmm19 196# CHECK-NEXT: 1 5 1.00 vrcp28sd {sae}, %xmm16, %xmm17, %xmm19 {%k1} 197# CHECK-NEXT: 1 5 1.00 vrcp28sd {sae}, %xmm16, %xmm17, %xmm19 {%k1} {z} 198# CHECK-NEXT: 1 5 1.00 vrcp28ss %xmm16, %xmm17, %xmm19 199# CHECK-NEXT: 2 11 1.00 * vrcp28ss (%rax), %xmm17, %xmm19 200# CHECK-NEXT: 1 5 1.00 vrcp28ss %xmm16, %xmm17, %xmm19 {%k1} 201# CHECK-NEXT: 2 11 1.00 * vrcp28ss (%rax), %xmm17, %xmm19 {%k1} 202# CHECK-NEXT: 1 5 1.00 vrcp28ss %xmm16, %xmm17, %xmm19 {%k1} {z} 203# CHECK-NEXT: 2 11 1.00 * vrcp28ss (%rax), %xmm17, %xmm19 {%k1} {z} 204# CHECK-NEXT: 1 5 1.00 vrcp28ss {sae}, %xmm16, %xmm17, %xmm19 205# CHECK-NEXT: 1 5 1.00 vrcp28ss {sae}, %xmm16, %xmm17, %xmm19 {%k1} 206# CHECK-NEXT: 1 5 1.00 vrcp28ss {sae}, %xmm16, %xmm17, %xmm19 {%k1} {z} 207# CHECK-NEXT: 3 7 2.00 vrsqrt28pd %zmm16, %zmm19 208# CHECK-NEXT: 4 14 2.00 * vrsqrt28pd (%rax), %zmm19 209# CHECK-NEXT: 4 14 2.00 * vrsqrt28pd (%rax){1to8}, %zmm19 210# CHECK-NEXT: 3 7 2.00 vrsqrt28pd %zmm16, %zmm19 {%k1} 211# CHECK-NEXT: 4 14 2.00 * vrsqrt28pd (%rax), %zmm19 {%k1} 212# CHECK-NEXT: 4 14 2.00 * vrsqrt28pd (%rax){1to8}, %zmm19 {%k1} 213# CHECK-NEXT: 3 7 2.00 vrsqrt28pd %zmm16, %zmm19 {%k1} {z} 214# CHECK-NEXT: 4 14 2.00 * vrsqrt28pd (%rax), %zmm19 {%k1} {z} 215# CHECK-NEXT: 4 14 2.00 * vrsqrt28pd (%rax){1to8}, %zmm19 {%k1} {z} 216# CHECK-NEXT: 3 7 2.00 vrsqrt28pd {sae}, %zmm16, %zmm19 217# CHECK-NEXT: 3 7 2.00 vrsqrt28pd {sae}, %zmm16, %zmm19 {%k1} 218# CHECK-NEXT: 3 7 2.00 vrsqrt28pd {sae}, %zmm16, %zmm19 {%k1} {z} 219# CHECK-NEXT: 3 7 2.00 vrsqrt28ps %zmm16, %zmm19 220# CHECK-NEXT: 4 14 2.00 * vrsqrt28ps (%rax), %zmm19 221# CHECK-NEXT: 4 14 2.00 * vrsqrt28ps (%rax){1to16}, %zmm19 222# CHECK-NEXT: 3 7 2.00 vrsqrt28ps %zmm16, %zmm19 {%k1} 223# CHECK-NEXT: 4 14 2.00 * vrsqrt28ps (%rax), %zmm19 {%k1} 224# CHECK-NEXT: 4 14 2.00 * vrsqrt28ps (%rax){1to16}, %zmm19 {%k1} 225# CHECK-NEXT: 3 7 2.00 vrsqrt28ps %zmm16, %zmm19 {%k1} {z} 226# CHECK-NEXT: 4 14 2.00 * vrsqrt28ps (%rax), %zmm19 {%k1} {z} 227# CHECK-NEXT: 4 14 2.00 * vrsqrt28ps (%rax){1to16}, %zmm19 {%k1} {z} 228# CHECK-NEXT: 3 7 2.00 vrsqrt28ps {sae}, %zmm16, %zmm19 229# CHECK-NEXT: 3 7 2.00 vrsqrt28ps {sae}, %zmm16, %zmm19 {%k1} 230# CHECK-NEXT: 3 7 2.00 vrsqrt28ps {sae}, %zmm16, %zmm19 {%k1} {z} 231# CHECK-NEXT: 1 5 1.00 vrsqrt28sd %xmm16, %xmm17, %xmm19 232# CHECK-NEXT: 2 11 1.00 * vrsqrt28sd (%rax), %xmm17, %xmm19 233# CHECK-NEXT: 1 5 1.00 vrsqrt28sd %xmm16, %xmm17, %xmm19 {%k1} 234# CHECK-NEXT: 2 11 1.00 * vrsqrt28sd (%rax), %xmm17, %xmm19 {%k1} 235# CHECK-NEXT: 1 5 1.00 vrsqrt28sd %xmm16, %xmm17, %xmm19 {%k1} {z} 236# CHECK-NEXT: 2 11 1.00 * vrsqrt28sd (%rax), %xmm17, %xmm19 {%k1} {z} 237# CHECK-NEXT: 1 5 1.00 vrsqrt28sd {sae}, %xmm16, %xmm17, %xmm19 238# CHECK-NEXT: 1 5 1.00 vrsqrt28sd {sae}, %xmm16, %xmm17, %xmm19 {%k1} 239# CHECK-NEXT: 1 5 1.00 vrsqrt28sd {sae}, %xmm16, %xmm17, %xmm19 {%k1} {z} 240# CHECK-NEXT: 1 5 1.00 vrsqrt28ss %xmm16, %xmm17, %xmm19 241# CHECK-NEXT: 2 11 1.00 * vrsqrt28ss (%rax), %xmm17, %xmm19 242# CHECK-NEXT: 1 5 1.00 vrsqrt28ss %xmm16, %xmm17, %xmm19 {%k1} 243# CHECK-NEXT: 2 11 1.00 * vrsqrt28ss (%rax), %xmm17, %xmm19 {%k1} 244# CHECK-NEXT: 1 5 1.00 vrsqrt28ss %xmm16, %xmm17, %xmm19 {%k1} {z} 245# CHECK-NEXT: 2 11 1.00 * vrsqrt28ss (%rax), %xmm17, %xmm19 {%k1} {z} 246# CHECK-NEXT: 1 5 1.00 vrsqrt28ss {sae}, %xmm16, %xmm17, %xmm19 247# CHECK-NEXT: 1 5 1.00 vrsqrt28ss {sae}, %xmm16, %xmm17, %xmm19 {%k1} 248# CHECK-NEXT: 1 5 1.00 vrsqrt28ss {sae}, %xmm16, %xmm17, %xmm19 {%k1} {z} 249 250# CHECK: Resources: 251# CHECK-NEXT: [0] - SBDivider 252# CHECK-NEXT: [1] - SBFPDivider 253# CHECK-NEXT: [2] - SBPort0 254# CHECK-NEXT: [3] - SBPort1 255# CHECK-NEXT: [4] - SBPort4 256# CHECK-NEXT: [5] - SBPort5 257# CHECK-NEXT: [6.0] - SBPort23 258# CHECK-NEXT: [6.1] - SBPort23 259 260# CHECK: Resource pressure per iteration: 261# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1] 262# CHECK-NEXT: - - 156.00 24.00 - 24.00 24.00 24.00 263 264# CHECK: Resource pressure by instruction: 265# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1] Instructions: 266# CHECK-NEXT: - - - 1.00 - - - - vexp2pd %zmm16, %zmm19 267# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vexp2pd (%rax), %zmm19 268# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vexp2pd (%rax){1to8}, %zmm19 269# CHECK-NEXT: - - - 1.00 - - - - vexp2pd %zmm16, %zmm19 {%k1} 270# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vexp2pd (%rax), %zmm19 {%k1} 271# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vexp2pd (%rax){1to8}, %zmm19 {%k1} 272# CHECK-NEXT: - - - 1.00 - - - - vexp2pd %zmm16, %zmm19 {%k1} {z} 273# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vexp2pd (%rax), %zmm19 {%k1} {z} 274# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vexp2pd (%rax){1to8}, %zmm19 {%k1} {z} 275# CHECK-NEXT: - - - 1.00 - - - - vexp2pd {sae}, %zmm16, %zmm19 276# CHECK-NEXT: - - - 1.00 - - - - vexp2pd {sae}, %zmm16, %zmm19 {%k1} 277# CHECK-NEXT: - - - 1.00 - - - - vexp2pd {sae}, %zmm16, %zmm19 {%k1} {z} 278# CHECK-NEXT: - - - 1.00 - - - - vexp2ps %zmm16, %zmm19 279# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vexp2ps (%rax), %zmm19 280# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vexp2ps (%rax){1to16}, %zmm19 281# CHECK-NEXT: - - - 1.00 - - - - vexp2ps %zmm16, %zmm19 {%k1} 282# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vexp2ps (%rax), %zmm19 {%k1} 283# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vexp2ps (%rax){1to16}, %zmm19 {%k1} 284# CHECK-NEXT: - - - 1.00 - - - - vexp2ps %zmm16, %zmm19 {%k1} {z} 285# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vexp2ps (%rax), %zmm19 {%k1} {z} 286# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vexp2ps (%rax){1to16}, %zmm19 {%k1} {z} 287# CHECK-NEXT: - - - 1.00 - - - - vexp2ps {sae}, %zmm16, %zmm19 288# CHECK-NEXT: - - - 1.00 - - - - vexp2ps {sae}, %zmm16, %zmm19 {%k1} 289# CHECK-NEXT: - - - 1.00 - - - - vexp2ps {sae}, %zmm16, %zmm19 {%k1} {z} 290# CHECK-NEXT: - - 2.50 - - 0.50 - - vrcp28pd %zmm16, %zmm19 291# CHECK-NEXT: - - 2.50 - - 0.50 0.50 0.50 vrcp28pd (%rax), %zmm19 292# CHECK-NEXT: - - 2.50 - - 0.50 0.50 0.50 vrcp28pd (%rax){1to8}, %zmm19 293# CHECK-NEXT: - - 2.50 - - 0.50 - - vrcp28pd %zmm16, %zmm19 {%k1} 294# CHECK-NEXT: - - 2.50 - - 0.50 0.50 0.50 vrcp28pd (%rax), %zmm19 {%k1} 295# CHECK-NEXT: - - 2.50 - - 0.50 0.50 0.50 vrcp28pd (%rax){1to8}, %zmm19 {%k1} 296# CHECK-NEXT: - - 2.50 - - 0.50 - - vrcp28pd %zmm16, %zmm19 {%k1} {z} 297# CHECK-NEXT: - - 2.50 - - 0.50 0.50 0.50 vrcp28pd (%rax), %zmm19 {%k1} {z} 298# CHECK-NEXT: - - 2.50 - - 0.50 0.50 0.50 vrcp28pd (%rax){1to8}, %zmm19 {%k1} {z} 299# CHECK-NEXT: - - 2.50 - - 0.50 - - vrcp28pd {sae}, %zmm16, %zmm19 300# CHECK-NEXT: - - 2.50 - - 0.50 - - vrcp28pd {sae}, %zmm16, %zmm19 {%k1} 301# CHECK-NEXT: - - 2.50 - - 0.50 - - vrcp28pd {sae}, %zmm16, %zmm19 {%k1} {z} 302# CHECK-NEXT: - - 2.50 - - 0.50 - - vrcp28ps %zmm16, %zmm19 303# CHECK-NEXT: - - 2.50 - - 0.50 0.50 0.50 vrcp28ps (%rax), %zmm19 304# CHECK-NEXT: - - 2.50 - - 0.50 0.50 0.50 vrcp28ps (%rax){1to16}, %zmm19 305# CHECK-NEXT: - - 2.50 - - 0.50 - - vrcp28ps %zmm16, %zmm19 {%k1} 306# CHECK-NEXT: - - 2.50 - - 0.50 0.50 0.50 vrcp28ps (%rax), %zmm19 {%k1} 307# CHECK-NEXT: - - 2.50 - - 0.50 0.50 0.50 vrcp28ps (%rax){1to16}, %zmm19 {%k1} 308# CHECK-NEXT: - - 2.50 - - 0.50 - - vrcp28ps %zmm16, %zmm19 {%k1} {z} 309# CHECK-NEXT: - - 2.50 - - 0.50 0.50 0.50 vrcp28ps (%rax), %zmm19 {%k1} {z} 310# CHECK-NEXT: - - 2.50 - - 0.50 0.50 0.50 vrcp28ps (%rax){1to16}, %zmm19 {%k1} {z} 311# CHECK-NEXT: - - 2.50 - - 0.50 - - vrcp28ps {sae}, %zmm16, %zmm19 312# CHECK-NEXT: - - 2.50 - - 0.50 - - vrcp28ps {sae}, %zmm16, %zmm19 {%k1} 313# CHECK-NEXT: - - 2.50 - - 0.50 - - vrcp28ps {sae}, %zmm16, %zmm19 {%k1} {z} 314# CHECK-NEXT: - - 1.00 - - - - - vrcp28sd %xmm16, %xmm17, %xmm19 315# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vrcp28sd (%rax), %xmm17, %xmm19 316# CHECK-NEXT: - - 1.00 - - - - - vrcp28sd %xmm16, %xmm17, %xmm19 {%k1} 317# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vrcp28sd (%rax), %xmm17, %xmm19 {%k1} 318# CHECK-NEXT: - - 1.00 - - - - - vrcp28sd %xmm16, %xmm17, %xmm19 {%k1} {z} 319# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vrcp28sd (%rax), %xmm17, %xmm19 {%k1} {z} 320# CHECK-NEXT: - - 1.00 - - - - - vrcp28sd {sae}, %xmm16, %xmm17, %xmm19 321# CHECK-NEXT: - - 1.00 - - - - - vrcp28sd {sae}, %xmm16, %xmm17, %xmm19 {%k1} 322# CHECK-NEXT: - - 1.00 - - - - - vrcp28sd {sae}, %xmm16, %xmm17, %xmm19 {%k1} {z} 323# CHECK-NEXT: - - 1.00 - - - - - vrcp28ss %xmm16, %xmm17, %xmm19 324# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vrcp28ss (%rax), %xmm17, %xmm19 325# CHECK-NEXT: - - 1.00 - - - - - vrcp28ss %xmm16, %xmm17, %xmm19 {%k1} 326# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vrcp28ss (%rax), %xmm17, %xmm19 {%k1} 327# CHECK-NEXT: - - 1.00 - - - - - vrcp28ss %xmm16, %xmm17, %xmm19 {%k1} {z} 328# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vrcp28ss (%rax), %xmm17, %xmm19 {%k1} {z} 329# CHECK-NEXT: - - 1.00 - - - - - vrcp28ss {sae}, %xmm16, %xmm17, %xmm19 330# CHECK-NEXT: - - 1.00 - - - - - vrcp28ss {sae}, %xmm16, %xmm17, %xmm19 {%k1} 331# CHECK-NEXT: - - 1.00 - - - - - vrcp28ss {sae}, %xmm16, %xmm17, %xmm19 {%k1} {z} 332# CHECK-NEXT: - - 2.50 - - 0.50 - - vrsqrt28pd %zmm16, %zmm19 333# CHECK-NEXT: - - 2.50 - - 0.50 0.50 0.50 vrsqrt28pd (%rax), %zmm19 334# CHECK-NEXT: - - 2.50 - - 0.50 0.50 0.50 vrsqrt28pd (%rax){1to8}, %zmm19 335# CHECK-NEXT: - - 2.50 - - 0.50 - - vrsqrt28pd %zmm16, %zmm19 {%k1} 336# CHECK-NEXT: - - 2.50 - - 0.50 0.50 0.50 vrsqrt28pd (%rax), %zmm19 {%k1} 337# CHECK-NEXT: - - 2.50 - - 0.50 0.50 0.50 vrsqrt28pd (%rax){1to8}, %zmm19 {%k1} 338# CHECK-NEXT: - - 2.50 - - 0.50 - - vrsqrt28pd %zmm16, %zmm19 {%k1} {z} 339# CHECK-NEXT: - - 2.50 - - 0.50 0.50 0.50 vrsqrt28pd (%rax), %zmm19 {%k1} {z} 340# CHECK-NEXT: - - 2.50 - - 0.50 0.50 0.50 vrsqrt28pd (%rax){1to8}, %zmm19 {%k1} {z} 341# CHECK-NEXT: - - 2.50 - - 0.50 - - vrsqrt28pd {sae}, %zmm16, %zmm19 342# CHECK-NEXT: - - 2.50 - - 0.50 - - vrsqrt28pd {sae}, %zmm16, %zmm19 {%k1} 343# CHECK-NEXT: - - 2.50 - - 0.50 - - vrsqrt28pd {sae}, %zmm16, %zmm19 {%k1} {z} 344# CHECK-NEXT: - - 2.50 - - 0.50 - - vrsqrt28ps %zmm16, %zmm19 345# CHECK-NEXT: - - 2.50 - - 0.50 0.50 0.50 vrsqrt28ps (%rax), %zmm19 346# CHECK-NEXT: - - 2.50 - - 0.50 0.50 0.50 vrsqrt28ps (%rax){1to16}, %zmm19 347# CHECK-NEXT: - - 2.50 - - 0.50 - - vrsqrt28ps %zmm16, %zmm19 {%k1} 348# CHECK-NEXT: - - 2.50 - - 0.50 0.50 0.50 vrsqrt28ps (%rax), %zmm19 {%k1} 349# CHECK-NEXT: - - 2.50 - - 0.50 0.50 0.50 vrsqrt28ps (%rax){1to16}, %zmm19 {%k1} 350# CHECK-NEXT: - - 2.50 - - 0.50 - - vrsqrt28ps %zmm16, %zmm19 {%k1} {z} 351# CHECK-NEXT: - - 2.50 - - 0.50 0.50 0.50 vrsqrt28ps (%rax), %zmm19 {%k1} {z} 352# CHECK-NEXT: - - 2.50 - - 0.50 0.50 0.50 vrsqrt28ps (%rax){1to16}, %zmm19 {%k1} {z} 353# CHECK-NEXT: - - 2.50 - - 0.50 - - vrsqrt28ps {sae}, %zmm16, %zmm19 354# CHECK-NEXT: - - 2.50 - - 0.50 - - vrsqrt28ps {sae}, %zmm16, %zmm19 {%k1} 355# CHECK-NEXT: - - 2.50 - - 0.50 - - vrsqrt28ps {sae}, %zmm16, %zmm19 {%k1} {z} 356# CHECK-NEXT: - - 1.00 - - - - - vrsqrt28sd %xmm16, %xmm17, %xmm19 357# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vrsqrt28sd (%rax), %xmm17, %xmm19 358# CHECK-NEXT: - - 1.00 - - - - - vrsqrt28sd %xmm16, %xmm17, %xmm19 {%k1} 359# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vrsqrt28sd (%rax), %xmm17, %xmm19 {%k1} 360# CHECK-NEXT: - - 1.00 - - - - - vrsqrt28sd %xmm16, %xmm17, %xmm19 {%k1} {z} 361# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vrsqrt28sd (%rax), %xmm17, %xmm19 {%k1} {z} 362# CHECK-NEXT: - - 1.00 - - - - - vrsqrt28sd {sae}, %xmm16, %xmm17, %xmm19 363# CHECK-NEXT: - - 1.00 - - - - - vrsqrt28sd {sae}, %xmm16, %xmm17, %xmm19 {%k1} 364# CHECK-NEXT: - - 1.00 - - - - - vrsqrt28sd {sae}, %xmm16, %xmm17, %xmm19 {%k1} {z} 365# CHECK-NEXT: - - 1.00 - - - - - vrsqrt28ss %xmm16, %xmm17, %xmm19 366# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vrsqrt28ss (%rax), %xmm17, %xmm19 367# CHECK-NEXT: - - 1.00 - - - - - vrsqrt28ss %xmm16, %xmm17, %xmm19 {%k1} 368# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vrsqrt28ss (%rax), %xmm17, %xmm19 {%k1} 369# CHECK-NEXT: - - 1.00 - - - - - vrsqrt28ss %xmm16, %xmm17, %xmm19 {%k1} {z} 370# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vrsqrt28ss (%rax), %xmm17, %xmm19 {%k1} {z} 371# CHECK-NEXT: - - 1.00 - - - - - vrsqrt28ss {sae}, %xmm16, %xmm17, %xmm19 372# CHECK-NEXT: - - 1.00 - - - - - vrsqrt28ss {sae}, %xmm16, %xmm17, %xmm19 {%k1} 373# CHECK-NEXT: - - 1.00 - - - - - vrsqrt28ss {sae}, %xmm16, %xmm17, %xmm19 {%k1} {z} 374