374 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py2# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=x86-64 -instruction-tables < %s | FileCheck %s3 4vexp2pd %zmm16, %zmm195vexp2pd (%rax), %zmm196vexp2pd (%rax){1to8}, %zmm197vexp2pd %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, %zmm1915vexp2pd {sae}, %zmm16, %zmm19 {k1}16vexp2pd {sae}, %zmm16, %zmm19 {z}{k1}17 18vexp2ps %zmm16, %zmm1919vexp2ps (%rax), %zmm1920vexp2ps (%rax){1to16}, %zmm1921vexp2ps %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, %zmm1929vexp2ps {sae}, %zmm16, %zmm19 {k1}30vexp2ps {sae}, %zmm16, %zmm19 {z}{k1}31 32vrcp28pd %zmm16, %zmm1933vrcp28pd (%rax), %zmm1934vrcp28pd (%rax){1to8}, %zmm1935vrcp28pd %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, %zmm1943vrcp28pd {sae}, %zmm16, %zmm19 {k1}44vrcp28pd {sae}, %zmm16, %zmm19 {z}{k1}45 46vrcp28ps %zmm16, %zmm1947vrcp28ps (%rax), %zmm1948vrcp28ps (%rax){1to16}, %zmm1949vrcp28ps %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, %zmm1957vrcp28ps {sae}, %zmm16, %zmm19 {k1}58vrcp28ps {sae}, %zmm16, %zmm19 {z}{k1}59 60vrcp28sd %xmm16, %xmm17, %xmm1961vrcp28sd (%rax), %xmm17, %xmm1962vrcp28sd %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, %xmm1968vrcp28sd {sae}, %xmm16, %xmm17, %xmm19 {k1}69vrcp28sd {sae}, %xmm16, %xmm17, %xmm19 {z}{k1}70 71vrcp28ss %xmm16, %xmm17, %xmm1972vrcp28ss (%rax), %xmm17, %xmm1973vrcp28ss %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, %xmm1979vrcp28ss {sae}, %xmm16, %xmm17, %xmm19 {k1}80vrcp28ss {sae}, %xmm16, %xmm17, %xmm19 {z}{k1}81 82vrsqrt28pd %zmm16, %zmm1983vrsqrt28pd (%rax), %zmm1984vrsqrt28pd (%rax){1to8}, %zmm1985vrsqrt28pd %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, %zmm1993vrsqrt28pd {sae}, %zmm16, %zmm19 {k1}94vrsqrt28pd {sae}, %zmm16, %zmm19 {z}{k1}95 96vrsqrt28ps %zmm16, %zmm1997vrsqrt28ps (%rax), %zmm1998vrsqrt28ps (%rax){1to16}, %zmm1999vrsqrt28ps %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, %zmm19107vrsqrt28ps {sae}, %zmm16, %zmm19 {k1}108vrsqrt28ps {sae}, %zmm16, %zmm19 {z}{k1}109 110vrsqrt28sd %xmm16, %xmm17, %xmm19111vrsqrt28sd (%rax), %xmm17, %xmm19112vrsqrt28sd %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, %xmm19118vrsqrt28sd {sae}, %xmm16, %xmm17, %xmm19 {k1}119vrsqrt28sd {sae}, %xmm16, %xmm17, %xmm19 {z}{k1}120 121vrsqrt28ss %xmm16, %xmm17, %xmm19122vrsqrt28ss (%rax), %xmm17, %xmm19123vrsqrt28ss %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, %xmm19129vrsqrt28ss {sae}, %xmm16, %xmm17, %xmm19 {k1}130vrsqrt28ss {sae}, %xmm16, %xmm17, %xmm19 {z}{k1}131 132# CHECK: Instruction Info:133# CHECK-NEXT: [1]: #uOps134# CHECK-NEXT: [2]: Latency135# CHECK-NEXT: [3]: RThroughput136# CHECK-NEXT: [4]: MayLoad137# CHECK-NEXT: [5]: MayStore138# CHECK-NEXT: [6]: HasSideEffects (U)139 140# CHECK: [1] [2] [3] [4] [5] [6] Instructions:141# CHECK-NEXT: 1 3 1.00 vexp2pd %zmm16, %zmm19142# CHECK-NEXT: 2 10 1.00 * vexp2pd (%rax), %zmm19143# CHECK-NEXT: 2 10 1.00 * vexp2pd (%rax){1to8}, %zmm19144# 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, %zmm19151# 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, %zmm19154# CHECK-NEXT: 2 10 1.00 * vexp2ps (%rax), %zmm19155# CHECK-NEXT: 2 10 1.00 * vexp2ps (%rax){1to16}, %zmm19156# 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, %zmm19163# 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, %zmm19166# CHECK-NEXT: 4 14 2.00 * vrcp28pd (%rax), %zmm19167# CHECK-NEXT: 4 14 2.00 * vrcp28pd (%rax){1to8}, %zmm19168# 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, %zmm19175# 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, %zmm19178# CHECK-NEXT: 4 14 2.00 * vrcp28ps (%rax), %zmm19179# CHECK-NEXT: 4 14 2.00 * vrcp28ps (%rax){1to16}, %zmm19180# 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, %zmm19187# 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, %xmm19190# CHECK-NEXT: 2 11 1.00 * vrcp28sd (%rax), %xmm17, %xmm19191# 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, %xmm19196# 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, %xmm19199# CHECK-NEXT: 2 11 1.00 * vrcp28ss (%rax), %xmm17, %xmm19200# 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, %xmm19205# 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, %zmm19208# CHECK-NEXT: 4 14 2.00 * vrsqrt28pd (%rax), %zmm19209# CHECK-NEXT: 4 14 2.00 * vrsqrt28pd (%rax){1to8}, %zmm19210# 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, %zmm19217# 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, %zmm19220# CHECK-NEXT: 4 14 2.00 * vrsqrt28ps (%rax), %zmm19221# CHECK-NEXT: 4 14 2.00 * vrsqrt28ps (%rax){1to16}, %zmm19222# 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, %zmm19229# 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, %xmm19232# CHECK-NEXT: 2 11 1.00 * vrsqrt28sd (%rax), %xmm17, %xmm19233# 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, %xmm19238# 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, %xmm19241# CHECK-NEXT: 2 11 1.00 * vrsqrt28ss (%rax), %xmm17, %xmm19242# 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, %xmm19247# 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] - SBDivider252# CHECK-NEXT: [1] - SBFPDivider253# CHECK-NEXT: [2] - SBPort0254# CHECK-NEXT: [3] - SBPort1255# CHECK-NEXT: [4] - SBPort4256# CHECK-NEXT: [5] - SBPort5257# CHECK-NEXT: [6.0] - SBPort23258# CHECK-NEXT: [6.1] - SBPort23259 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.00263 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, %zmm19267# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vexp2pd (%rax), %zmm19268# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vexp2pd (%rax){1to8}, %zmm19269# 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, %zmm19276# 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, %zmm19279# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vexp2ps (%rax), %zmm19280# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vexp2ps (%rax){1to16}, %zmm19281# 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, %zmm19288# 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, %zmm19291# CHECK-NEXT: - - 2.50 - - 0.50 0.50 0.50 vrcp28pd (%rax), %zmm19292# CHECK-NEXT: - - 2.50 - - 0.50 0.50 0.50 vrcp28pd (%rax){1to8}, %zmm19293# 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, %zmm19300# 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, %zmm19303# CHECK-NEXT: - - 2.50 - - 0.50 0.50 0.50 vrcp28ps (%rax), %zmm19304# CHECK-NEXT: - - 2.50 - - 0.50 0.50 0.50 vrcp28ps (%rax){1to16}, %zmm19305# 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, %zmm19312# 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, %xmm19315# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vrcp28sd (%rax), %xmm17, %xmm19316# 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, %xmm19321# 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, %xmm19324# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vrcp28ss (%rax), %xmm17, %xmm19325# 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, %xmm19330# 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, %zmm19333# CHECK-NEXT: - - 2.50 - - 0.50 0.50 0.50 vrsqrt28pd (%rax), %zmm19334# CHECK-NEXT: - - 2.50 - - 0.50 0.50 0.50 vrsqrt28pd (%rax){1to8}, %zmm19335# 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, %zmm19342# 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, %zmm19345# CHECK-NEXT: - - 2.50 - - 0.50 0.50 0.50 vrsqrt28ps (%rax), %zmm19346# CHECK-NEXT: - - 2.50 - - 0.50 0.50 0.50 vrsqrt28ps (%rax){1to16}, %zmm19347# 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, %zmm19354# 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, %xmm19357# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vrsqrt28sd (%rax), %xmm17, %xmm19358# 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, %xmm19363# 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, %xmm19366# CHECK-NEXT: - - 1.00 - - - 0.50 0.50 vrsqrt28ss (%rax), %xmm17, %xmm19367# 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, %xmm19372# CHECK-NEXT: - - 1.00 - - - - - vrsqrt28ss {sae}, %xmm16, %xmm17, %xmm19 {%k1}373# CHECK-NEXT: - - 1.00 - - - - - vrsqrt28ss {sae}, %xmm16, %xmm17, %xmm19 {%k1} {z}374