diff options
| author | Craig Topper <craig.topper@intel.com> | 2019-02-03 07:53:39 +0000 |
|---|---|---|
| committer | Craig Topper <craig.topper@intel.com> | 2019-02-03 07:53:39 +0000 |
| commit | 5a570dd4374daaa1ea3110c507d852c68581c4c4 (patch) | |
| tree | fa97cdca480d5f7fdd3065bf6ae6a43d6c12874f /llvm/test/tools/llvm-mca | |
| parent | 950ca192f6f606beb44dcbb0b9f203eed69dadcb (diff) | |
| download | bcm5719-llvm-5a570dd4374daaa1ea3110c507d852c68581c4c4.tar.gz bcm5719-llvm-5a570dd4374daaa1ea3110c507d852c68581c4c4.zip | |
[X86] Print %st(0) as %st to match what gcc inline asm uses as the clobber name to make MS inline asm work correctly
Summary:
When calculating clobbers for MS style inline assembly we fail if the asm clobbers stack top because we print st(0) and try to pass it through the gcc register name check. This was found with when I attempted to make a emms/femms clobber all ST registers. If you use emms/femms in MS inline asm we would try to use st(0) as the clobber name but clang would think that wasn't a valid clobber name.
This also matches what objdump disassembly prints. It's also what is printed by gcc -S.
Reviewers: RKSimon, rnk, efriedma, spatel, andreadb, lebedev.ri
Reviewed By: rnk
Subscribers: eraman, gbedwell, lebedev.ri, llvm-commits
Differential Revision: https://reviews.llvm.org/D57621
llvm-svn: 352985
Diffstat (limited to 'llvm/test/tools/llvm-mca')
| -rw-r--r-- | llvm/test/tools/llvm-mca/X86/Atom/resources-x87.s | 108 | ||||
| -rw-r--r-- | llvm/test/tools/llvm-mca/X86/BdVer2/resources-x87.s | 108 | ||||
| -rw-r--r-- | llvm/test/tools/llvm-mca/X86/Broadwell/resources-x87.s | 108 | ||||
| -rw-r--r-- | llvm/test/tools/llvm-mca/X86/BtVer2/resources-x87.s | 108 | ||||
| -rw-r--r-- | llvm/test/tools/llvm-mca/X86/Generic/resources-x87.s | 108 | ||||
| -rw-r--r-- | llvm/test/tools/llvm-mca/X86/Haswell/resources-x87.s | 108 | ||||
| -rw-r--r-- | llvm/test/tools/llvm-mca/X86/SLM/resources-x87.s | 108 | ||||
| -rw-r--r-- | llvm/test/tools/llvm-mca/X86/SandyBridge/resources-x87.s | 108 | ||||
| -rw-r--r-- | llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-x87.s | 108 | ||||
| -rw-r--r-- | llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-x87.s | 108 | ||||
| -rw-r--r-- | llvm/test/tools/llvm-mca/X86/Znver1/resources-x87.s | 108 |
11 files changed, 594 insertions, 594 deletions
diff --git a/llvm/test/tools/llvm-mca/X86/Atom/resources-x87.s b/llvm/test/tools/llvm-mca/X86/Atom/resources-x87.s index c7a990a892e..359f88ef59f 100644 --- a/llvm/test/tools/llvm-mca/X86/Atom/resources-x87.s +++ b/llvm/test/tools/llvm-mca/X86/Atom/resources-x87.s @@ -5,7 +5,7 @@ f2xm1 fabs -fadd %st(0), %st(1) +fadd %st, %st(1) fadd %st(2) fadds (%ecx) faddl (%ecx) @@ -21,14 +21,14 @@ fchs fnclex -fcmovb %st(1), %st(0) -fcmovbe %st(1), %st(0) -fcmove %st(1), %st(0) -fcmovnb %st(1), %st(0) -fcmovnbe %st(1), %st(0) -fcmovne %st(1), %st(0) -fcmovnu %st(1), %st(0) -fcmovu %st(1), %st(0) +fcmovb %st(1), %st +fcmovbe %st(1), %st +fcmove %st(1), %st +fcmovnb %st(1), %st +fcmovnbe %st(1), %st +fcmovne %st(1), %st +fcmovnu %st(1), %st +fcmovu %st(1), %st fcom %st(1) fcom %st(3) @@ -47,7 +47,7 @@ fcos fdecstp -fdiv %st(0), %st(1) +fdiv %st, %st(1) fdiv %st(2) fdivs (%ecx) fdivl (%eax) @@ -56,7 +56,7 @@ fdivp %st(2) fidivs (%ecx) fidivl (%eax) -fdivr %st(0), %st(1) +fdivr %st, %st(1) fdivr %st(2) fdivrs (%ecx) fdivrl (%eax) @@ -65,7 +65,7 @@ fdivrp %st(2) fidivrs (%ecx) fidivrl (%eax) -ffree %st(0) +ffree %st ficoms (%ecx) ficoml (%eax) @@ -90,7 +90,7 @@ fisttps (%edx) fisttpl (%ecx) fisttpll (%eax) -fld %st(0) +fld %st flds (%edx) fldl (%ecx) fldt (%eax) @@ -106,7 +106,7 @@ fldln2 fldpi fldz -fmul %st(0), %st(1) +fmul %st, %st(1) fmul %st(2) fmuls (%ecx) fmull (%eax) @@ -138,10 +138,10 @@ fsincos fsqrt -fst %st(0) +fst %st fsts (%edx) fstl (%ecx) -fstp %st(0) +fstp %st fstpl (%edx) fstpl (%ecx) fstpt (%eax) @@ -153,7 +153,7 @@ fnstsw (%eax) frstor (%eax) fsave (%eax) -fsub %st(0), %st(1) +fsub %st, %st(1) fsub %st(2) fsubs (%ecx) fsubl (%eax) @@ -162,7 +162,7 @@ fsubp %st(2) fisubs (%ecx) fisubl (%eax) -fsubr %st(0), %st(1) +fsubr %st, %st(1) fsubr %st(2) fsubrs (%ecx) fsubrl (%eax) @@ -208,7 +208,7 @@ fyl2xp1 # CHECK: [1] [2] [3] [4] [5] [6] Instructions: # CHECK-NEXT: 1 99 49.50 U f2xm1 # CHECK-NEXT: 1 1 1.00 U fabs -# CHECK-NEXT: 1 5 5.00 U fadd %st(0), %st(1) +# CHECK-NEXT: 1 5 5.00 U fadd %st, %st(1) # CHECK-NEXT: 1 5 5.00 U fadd %st(2) # CHECK-NEXT: 1 5 5.00 * U fadds (%ecx) # CHECK-NEXT: 1 5 5.00 * U faddl (%ecx) @@ -220,14 +220,14 @@ fyl2xp1 # CHECK-NEXT: 1 100 0.50 U fbstp (%eax) # CHECK-NEXT: 1 1 1.00 U fchs # CHECK-NEXT: 1 25 12.50 U fnclex -# CHECK-NEXT: 1 9 4.50 U fcmovb %st(1), %st(0) -# CHECK-NEXT: 1 9 4.50 U fcmovbe %st(1), %st(0) -# CHECK-NEXT: 1 9 4.50 U fcmove %st(1), %st(0) -# CHECK-NEXT: 1 9 4.50 U fcmovnb %st(1), %st(0) -# CHECK-NEXT: 1 9 4.50 U fcmovnbe %st(1), %st(0) -# CHECK-NEXT: 1 9 4.50 U fcmovne %st(1), %st(0) -# CHECK-NEXT: 1 9 4.50 U fcmovnu %st(1), %st(0) -# CHECK-NEXT: 1 9 4.50 U fcmovu %st(1), %st(0) +# CHECK-NEXT: 1 9 4.50 U fcmovb %st(1), %st +# CHECK-NEXT: 1 9 4.50 U fcmovbe %st(1), %st +# CHECK-NEXT: 1 9 4.50 U fcmove %st(1), %st +# CHECK-NEXT: 1 9 4.50 U fcmovnb %st(1), %st +# CHECK-NEXT: 1 9 4.50 U fcmovnbe %st(1), %st +# CHECK-NEXT: 1 9 4.50 U fcmovne %st(1), %st +# CHECK-NEXT: 1 9 4.50 U fcmovnu %st(1), %st +# CHECK-NEXT: 1 9 4.50 U fcmovu %st(1), %st # CHECK-NEXT: 1 5 5.00 U fcom %st(1) # CHECK-NEXT: 1 5 5.00 U fcom %st(3) # CHECK-NEXT: 1 5 5.00 U fcoms (%ecx) @@ -241,7 +241,7 @@ fyl2xp1 # CHECK-NEXT: 1 9 4.50 U fcompi %st(3) # CHECK-NEXT: 1 174 87.00 U fcos # CHECK-NEXT: 1 1 0.50 U fdecstp -# CHECK-NEXT: 1 34 17.00 U fdiv %st(0), %st(1) +# CHECK-NEXT: 1 34 17.00 U fdiv %st, %st(1) # CHECK-NEXT: 1 34 17.00 U fdiv %st(2) # CHECK-NEXT: 1 34 17.00 * U fdivs (%ecx) # CHECK-NEXT: 1 34 17.00 * U fdivl (%eax) @@ -249,7 +249,7 @@ fyl2xp1 # CHECK-NEXT: 1 34 17.00 U fdivp %st(2) # CHECK-NEXT: 1 34 17.00 * U fidivs (%ecx) # CHECK-NEXT: 1 34 17.00 * U fidivl (%eax) -# CHECK-NEXT: 1 34 17.00 U fdivr %st(0), %st(1) +# CHECK-NEXT: 1 34 17.00 U fdivr %st, %st(1) # CHECK-NEXT: 1 34 17.00 U fdivr %st(2) # CHECK-NEXT: 1 34 17.00 * U fdivrs (%ecx) # CHECK-NEXT: 1 34 17.00 * U fdivrl (%eax) @@ -257,7 +257,7 @@ fyl2xp1 # CHECK-NEXT: 1 34 17.00 U fdivrp %st(2) # CHECK-NEXT: 1 34 17.00 * U fidivrs (%ecx) # CHECK-NEXT: 1 34 17.00 * U fidivrl (%eax) -# CHECK-NEXT: 1 1 0.50 U ffree %st(0) +# CHECK-NEXT: 1 1 0.50 U ffree %st # CHECK-NEXT: 1 5 5.00 U ficoms (%ecx) # CHECK-NEXT: 1 5 5.00 U ficoml (%eax) # CHECK-NEXT: 1 5 5.00 U ficomps (%ecx) @@ -275,7 +275,7 @@ fyl2xp1 # CHECK-NEXT: 1 2 1.00 * U fisttps (%edx) # CHECK-NEXT: 1 2 1.00 * U fisttpl (%ecx) # CHECK-NEXT: 1 2 1.00 * U fisttpll (%eax) -# CHECK-NEXT: 1 1 1.00 U fld %st(0) +# CHECK-NEXT: 1 1 1.00 U fld %st # CHECK-NEXT: 1 1 1.00 * U flds (%edx) # CHECK-NEXT: 1 1 1.00 * U fldl (%ecx) # CHECK-NEXT: 1 4 2.00 * U fldt (%eax) @@ -288,7 +288,7 @@ fyl2xp1 # CHECK-NEXT: 1 10 5.00 U fldln2 # CHECK-NEXT: 1 10 5.00 U fldpi # CHECK-NEXT: 1 1 0.50 U fldz -# CHECK-NEXT: 1 4 4.00 U fmul %st(0), %st(1) +# CHECK-NEXT: 1 4 4.00 U fmul %st, %st(1) # CHECK-NEXT: 1 4 4.00 U fmul %st(2) # CHECK-NEXT: 1 4 4.00 * U fmuls (%ecx) # CHECK-NEXT: 1 4 4.00 * U fmull (%eax) @@ -308,10 +308,10 @@ fyl2xp1 # CHECK-NEXT: 1 174 87.00 U fsin # CHECK-NEXT: 1 174 87.00 U fsincos # CHECK-NEXT: 1 71 35.50 U fsqrt -# CHECK-NEXT: 1 2 1.00 U fst %st(0) +# CHECK-NEXT: 1 2 1.00 U fst %st # CHECK-NEXT: 1 2 1.00 * U fsts (%edx) # CHECK-NEXT: 1 2 1.00 * U fstl (%ecx) -# CHECK-NEXT: 1 2 1.00 U fstp %st(0) +# CHECK-NEXT: 1 2 1.00 U fstp %st # CHECK-NEXT: 1 2 1.00 * U fstpl (%edx) # CHECK-NEXT: 1 2 1.00 * U fstpl (%ecx) # CHECK-NEXT: 1 5 2.50 * U fstpt (%eax) @@ -321,7 +321,7 @@ fyl2xp1 # CHECK-NEXT: 1 100 0.50 U frstor (%eax) # CHECK-NEXT: 1 1 0.50 U wait # CHECK-NEXT: 1 100 0.50 U fnsave (%eax) -# CHECK-NEXT: 1 5 5.00 U fsub %st(0), %st(1) +# CHECK-NEXT: 1 5 5.00 U fsub %st, %st(1) # CHECK-NEXT: 1 5 5.00 U fsub %st(2) # CHECK-NEXT: 1 5 5.00 * U fsubs (%ecx) # CHECK-NEXT: 1 5 5.00 * U fsubl (%eax) @@ -329,7 +329,7 @@ fyl2xp1 # CHECK-NEXT: 1 5 5.00 U fsubp %st(2) # CHECK-NEXT: 1 5 5.00 * U fisubs (%ecx) # CHECK-NEXT: 1 5 5.00 * U fisubl (%eax) -# CHECK-NEXT: 1 5 5.00 U fsubr %st(0), %st(1) +# CHECK-NEXT: 1 5 5.00 U fsubr %st, %st(1) # CHECK-NEXT: 1 5 5.00 U fsubr %st(2) # CHECK-NEXT: 1 5 5.00 * U fsubrs (%ecx) # CHECK-NEXT: 1 5 5.00 * U fsubrl (%eax) @@ -367,7 +367,7 @@ fyl2xp1 # CHECK-NEXT: [0] [1] Instructions: # CHECK-NEXT: 49.50 49.50 f2xm1 # CHECK-NEXT: - 1.00 fabs -# CHECK-NEXT: 5.00 - fadd %st(0), %st(1) +# CHECK-NEXT: 5.00 - fadd %st, %st(1) # CHECK-NEXT: 5.00 - fadd %st(2) # CHECK-NEXT: 5.00 - fadds (%ecx) # CHECK-NEXT: 5.00 - faddl (%ecx) @@ -379,14 +379,14 @@ fyl2xp1 # CHECK-NEXT: 0.50 0.50 fbstp (%eax) # CHECK-NEXT: - 1.00 fchs # CHECK-NEXT: 12.50 12.50 fnclex -# CHECK-NEXT: 4.50 4.50 fcmovb %st(1), %st(0) -# CHECK-NEXT: 4.50 4.50 fcmovbe %st(1), %st(0) -# CHECK-NEXT: 4.50 4.50 fcmove %st(1), %st(0) -# CHECK-NEXT: 4.50 4.50 fcmovnb %st(1), %st(0) -# CHECK-NEXT: 4.50 4.50 fcmovnbe %st(1), %st(0) -# CHECK-NEXT: 4.50 4.50 fcmovne %st(1), %st(0) -# CHECK-NEXT: 4.50 4.50 fcmovnu %st(1), %st(0) -# CHECK-NEXT: 4.50 4.50 fcmovu %st(1), %st(0) +# CHECK-NEXT: 4.50 4.50 fcmovb %st(1), %st +# CHECK-NEXT: 4.50 4.50 fcmovbe %st(1), %st +# CHECK-NEXT: 4.50 4.50 fcmove %st(1), %st +# CHECK-NEXT: 4.50 4.50 fcmovnb %st(1), %st +# CHECK-NEXT: 4.50 4.50 fcmovnbe %st(1), %st +# CHECK-NEXT: 4.50 4.50 fcmovne %st(1), %st +# CHECK-NEXT: 4.50 4.50 fcmovnu %st(1), %st +# CHECK-NEXT: 4.50 4.50 fcmovu %st(1), %st # CHECK-NEXT: 5.00 - fcom %st(1) # CHECK-NEXT: 5.00 - fcom %st(3) # CHECK-NEXT: 5.00 - fcoms (%ecx) @@ -400,7 +400,7 @@ fyl2xp1 # CHECK-NEXT: 4.50 4.50 fcompi %st(3) # CHECK-NEXT: 87.00 87.00 fcos # CHECK-NEXT: 0.50 0.50 fdecstp -# CHECK-NEXT: 17.00 17.00 fdiv %st(0), %st(1) +# CHECK-NEXT: 17.00 17.00 fdiv %st, %st(1) # CHECK-NEXT: 17.00 17.00 fdiv %st(2) # CHECK-NEXT: 17.00 17.00 fdivs (%ecx) # CHECK-NEXT: 17.00 17.00 fdivl (%eax) @@ -408,7 +408,7 @@ fyl2xp1 # CHECK-NEXT: 17.00 17.00 fdivp %st(2) # CHECK-NEXT: 17.00 17.00 fidivs (%ecx) # CHECK-NEXT: 17.00 17.00 fidivl (%eax) -# CHECK-NEXT: 17.00 17.00 fdivr %st(0), %st(1) +# CHECK-NEXT: 17.00 17.00 fdivr %st, %st(1) # CHECK-NEXT: 17.00 17.00 fdivr %st(2) # CHECK-NEXT: 17.00 17.00 fdivrs (%ecx) # CHECK-NEXT: 17.00 17.00 fdivrl (%eax) @@ -416,7 +416,7 @@ fyl2xp1 # CHECK-NEXT: 17.00 17.00 fdivrp %st(2) # CHECK-NEXT: 17.00 17.00 fidivrs (%ecx) # CHECK-NEXT: 17.00 17.00 fidivrl (%eax) -# CHECK-NEXT: 0.50 0.50 ffree %st(0) +# CHECK-NEXT: 0.50 0.50 ffree %st # CHECK-NEXT: 5.00 - ficoms (%ecx) # CHECK-NEXT: 5.00 - ficoml (%eax) # CHECK-NEXT: 5.00 - ficomps (%ecx) @@ -434,7 +434,7 @@ fyl2xp1 # CHECK-NEXT: 1.00 1.00 fisttps (%edx) # CHECK-NEXT: 1.00 1.00 fisttpl (%ecx) # CHECK-NEXT: 1.00 1.00 fisttpll (%eax) -# CHECK-NEXT: 1.00 - fld %st(0) +# CHECK-NEXT: 1.00 - fld %st # CHECK-NEXT: 1.00 - flds (%edx) # CHECK-NEXT: 1.00 - fldl (%ecx) # CHECK-NEXT: 2.00 2.00 fldt (%eax) @@ -447,7 +447,7 @@ fyl2xp1 # CHECK-NEXT: 5.00 5.00 fldln2 # CHECK-NEXT: 5.00 5.00 fldpi # CHECK-NEXT: 0.50 0.50 fldz -# CHECK-NEXT: 4.00 - fmul %st(0), %st(1) +# CHECK-NEXT: 4.00 - fmul %st, %st(1) # CHECK-NEXT: 4.00 - fmul %st(2) # CHECK-NEXT: 4.00 - fmuls (%ecx) # CHECK-NEXT: 4.00 - fmull (%eax) @@ -467,10 +467,10 @@ fyl2xp1 # CHECK-NEXT: 87.00 87.00 fsin # CHECK-NEXT: 87.00 87.00 fsincos # CHECK-NEXT: 35.50 35.50 fsqrt -# CHECK-NEXT: 1.00 1.00 fst %st(0) +# CHECK-NEXT: 1.00 1.00 fst %st # CHECK-NEXT: 1.00 1.00 fsts (%edx) # CHECK-NEXT: 1.00 1.00 fstl (%ecx) -# CHECK-NEXT: 1.00 1.00 fstp %st(0) +# CHECK-NEXT: 1.00 1.00 fstp %st # CHECK-NEXT: 1.00 1.00 fstpl (%edx) # CHECK-NEXT: 1.00 1.00 fstpl (%ecx) # CHECK-NEXT: 2.50 2.50 fstpt (%eax) @@ -480,7 +480,7 @@ fyl2xp1 # CHECK-NEXT: 0.50 0.50 frstor (%eax) # CHECK-NEXT: 0.50 0.50 wait # CHECK-NEXT: 0.50 0.50 fnsave (%eax) -# CHECK-NEXT: 5.00 - fsub %st(0), %st(1) +# CHECK-NEXT: 5.00 - fsub %st, %st(1) # CHECK-NEXT: 5.00 - fsub %st(2) # CHECK-NEXT: 5.00 - fsubs (%ecx) # CHECK-NEXT: 5.00 - fsubl (%eax) @@ -488,7 +488,7 @@ fyl2xp1 # CHECK-NEXT: 5.00 - fsubp %st(2) # CHECK-NEXT: 5.00 - fisubs (%ecx) # CHECK-NEXT: 5.00 - fisubl (%eax) -# CHECK-NEXT: 5.00 - fsubr %st(0), %st(1) +# CHECK-NEXT: 5.00 - fsubr %st, %st(1) # CHECK-NEXT: 5.00 - fsubr %st(2) # CHECK-NEXT: 5.00 - fsubrs (%ecx) # CHECK-NEXT: 5.00 - fsubrl (%eax) diff --git a/llvm/test/tools/llvm-mca/X86/BdVer2/resources-x87.s b/llvm/test/tools/llvm-mca/X86/BdVer2/resources-x87.s index ad72714c74c..33cada60ea9 100644 --- a/llvm/test/tools/llvm-mca/X86/BdVer2/resources-x87.s +++ b/llvm/test/tools/llvm-mca/X86/BdVer2/resources-x87.s @@ -5,7 +5,7 @@ f2xm1 fabs -fadd %st(0), %st(1) +fadd %st, %st(1) fadd %st(2) fadds (%ecx) faddl (%ecx) @@ -21,14 +21,14 @@ fchs fnclex -fcmovb %st(1), %st(0) -fcmovbe %st(1), %st(0) -fcmove %st(1), %st(0) -fcmovnb %st(1), %st(0) -fcmovnbe %st(1), %st(0) -fcmovne %st(1), %st(0) -fcmovnu %st(1), %st(0) -fcmovu %st(1), %st(0) +fcmovb %st(1), %st +fcmovbe %st(1), %st +fcmove %st(1), %st +fcmovnb %st(1), %st +fcmovnbe %st(1), %st +fcmovne %st(1), %st +fcmovnu %st(1), %st +fcmovu %st(1), %st fcom %st(1) fcom %st(3) @@ -47,7 +47,7 @@ fcos fdecstp -fdiv %st(0), %st(1) +fdiv %st, %st(1) fdiv %st(2) fdivs (%ecx) fdivl (%eax) @@ -56,7 +56,7 @@ fdivp %st(2) fidivs (%ecx) fidivl (%eax) -fdivr %st(0), %st(1) +fdivr %st, %st(1) fdivr %st(2) fdivrs (%ecx) fdivrl (%eax) @@ -65,7 +65,7 @@ fdivrp %st(2) fidivrs (%ecx) fidivrl (%eax) -ffree %st(0) +ffree %st ficoms (%ecx) ficoml (%eax) @@ -90,7 +90,7 @@ fisttps (%edx) fisttpl (%ecx) fisttpll (%eax) -fld %st(0) +fld %st flds (%edx) fldl (%ecx) fldt (%eax) @@ -106,7 +106,7 @@ fldln2 fldpi fldz -fmul %st(0), %st(1) +fmul %st, %st(1) fmul %st(2) fmuls (%ecx) fmull (%eax) @@ -138,10 +138,10 @@ fsincos fsqrt -fst %st(0) +fst %st fsts (%edx) fstl (%ecx) -fstp %st(0) +fstp %st fstpl (%edx) fstpl (%ecx) fstpt (%eax) @@ -153,7 +153,7 @@ fnstsw (%eax) frstor (%eax) fsave (%eax) -fsub %st(0), %st(1) +fsub %st, %st(1) fsub %st(2) fsubs (%ecx) fsubl (%eax) @@ -162,7 +162,7 @@ fsubp %st(2) fisubs (%ecx) fisubl (%eax) -fsubr %st(0), %st(1) +fsubr %st, %st(1) fsubr %st(2) fsubrs (%ecx) fsubrl (%eax) @@ -208,7 +208,7 @@ fyl2xp1 # CHECK: [1] [2] [3] [4] [5] [6] Instructions: # CHECK-NEXT: 1 100 0.50 U f2xm1 # CHECK-NEXT: 1 1 1.00 U fabs -# CHECK-NEXT: 1 5 1.00 U fadd %st(0), %st(1) +# CHECK-NEXT: 1 5 1.00 U fadd %st, %st(1) # CHECK-NEXT: 1 5 1.00 U fadd %st(2) # CHECK-NEXT: 1 10 1.00 * U fadds (%ecx) # CHECK-NEXT: 1 10 1.00 * U faddl (%ecx) @@ -220,14 +220,14 @@ fyl2xp1 # CHECK-NEXT: 1 100 0.50 U fbstp (%eax) # CHECK-NEXT: 1 1 1.00 U fchs # CHECK-NEXT: 1 100 0.50 U fnclex -# CHECK-NEXT: 1 1 1.00 U fcmovb %st(1), %st(0) -# CHECK-NEXT: 1 1 1.00 U fcmovbe %st(1), %st(0) -# CHECK-NEXT: 1 1 1.00 U fcmove %st(1), %st(0) -# CHECK-NEXT: 1 1 1.00 U fcmovnb %st(1), %st(0) -# CHECK-NEXT: 1 1 1.00 U fcmovnbe %st(1), %st(0) -# CHECK-NEXT: 1 1 1.00 U fcmovne %st(1), %st(0) -# CHECK-NEXT: 1 1 1.00 U fcmovnu %st(1), %st(0) -# CHECK-NEXT: 1 1 1.00 U fcmovu %st(1), %st(0) +# CHECK-NEXT: 1 1 1.00 U fcmovb %st(1), %st +# CHECK-NEXT: 1 1 1.00 U fcmovbe %st(1), %st +# CHECK-NEXT: 1 1 1.00 U fcmove %st(1), %st +# CHECK-NEXT: 1 1 1.00 U fcmovnb %st(1), %st +# CHECK-NEXT: 1 1 1.00 U fcmovnbe %st(1), %st +# CHECK-NEXT: 1 1 1.00 U fcmovne %st(1), %st +# CHECK-NEXT: 1 1 1.00 U fcmovnu %st(1), %st +# CHECK-NEXT: 1 1 1.00 U fcmovu %st(1), %st # CHECK-NEXT: 2 1 1.00 U fcom %st(1) # CHECK-NEXT: 2 1 1.00 U fcom %st(3) # CHECK-NEXT: 1 6 1.00 U fcoms (%ecx) @@ -241,7 +241,7 @@ fyl2xp1 # CHECK-NEXT: 2 1 1.00 U fcompi %st(3) # CHECK-NEXT: 1 100 0.50 U fcos # CHECK-NEXT: 1 100 0.50 U fdecstp -# CHECK-NEXT: 1 9 9.50 U fdiv %st(0), %st(1) +# CHECK-NEXT: 1 9 9.50 U fdiv %st, %st(1) # CHECK-NEXT: 1 9 9.50 U fdiv %st(2) # CHECK-NEXT: 1 14 9.50 * U fdivs (%ecx) # CHECK-NEXT: 1 14 9.50 * U fdivl (%eax) @@ -249,7 +249,7 @@ fyl2xp1 # CHECK-NEXT: 1 9 9.50 U fdivp %st(2) # CHECK-NEXT: 1 14 9.50 * U fidivs (%ecx) # CHECK-NEXT: 1 14 9.50 * U fidivl (%eax) -# CHECK-NEXT: 1 9 9.50 U fdivr %st(0), %st(1) +# CHECK-NEXT: 1 9 9.50 U fdivr %st, %st(1) # CHECK-NEXT: 1 9 9.50 U fdivr %st(2) # CHECK-NEXT: 1 14 9.50 * U fdivrs (%ecx) # CHECK-NEXT: 1 14 9.50 * U fdivrl (%eax) @@ -257,7 +257,7 @@ fyl2xp1 # CHECK-NEXT: 1 9 9.50 U fdivrp %st(2) # CHECK-NEXT: 1 14 9.50 * U fidivrs (%ecx) # CHECK-NEXT: 1 14 9.50 * U fidivrl (%eax) -# CHECK-NEXT: 1 100 0.50 U ffree %st(0) +# CHECK-NEXT: 1 100 0.50 U ffree %st # CHECK-NEXT: 2 6 1.00 U ficoms (%ecx) # CHECK-NEXT: 2 6 1.00 U ficoml (%eax) # CHECK-NEXT: 2 6 1.00 U ficomps (%ecx) @@ -275,7 +275,7 @@ fyl2xp1 # CHECK-NEXT: 1 1 1.00 * U fisttps (%edx) # CHECK-NEXT: 1 1 1.00 * U fisttpl (%ecx) # CHECK-NEXT: 1 1 1.00 * U fisttpll (%eax) -# CHECK-NEXT: 1 1 0.50 U fld %st(0) +# CHECK-NEXT: 1 1 0.50 U fld %st # CHECK-NEXT: 1 5 0.50 * U flds (%edx) # CHECK-NEXT: 1 5 0.50 * U fldl (%ecx) # CHECK-NEXT: 1 5 0.50 * U fldt (%eax) @@ -288,7 +288,7 @@ fyl2xp1 # CHECK-NEXT: 1 3 1.00 U fldln2 # CHECK-NEXT: 1 3 1.00 U fldpi # CHECK-NEXT: 1 3 1.00 U fldz -# CHECK-NEXT: 1 5 1.00 U fmul %st(0), %st(1) +# CHECK-NEXT: 1 5 1.00 U fmul %st, %st(1) # CHECK-NEXT: 1 5 1.00 U fmul %st(2) # CHECK-NEXT: 1 10 1.00 * U fmuls (%ecx) # CHECK-NEXT: 1 10 1.00 * U fmull (%eax) @@ -308,10 +308,10 @@ fyl2xp1 # CHECK-NEXT: 1 100 0.50 U fsin # CHECK-NEXT: 1 100 0.50 U fsincos # CHECK-NEXT: 1 1 17.50 U fsqrt -# CHECK-NEXT: 1 1 0.50 U fst %st(0) +# CHECK-NEXT: 1 1 0.50 U fst %st # CHECK-NEXT: 1 1 1.00 * U fsts (%edx) # CHECK-NEXT: 1 1 1.00 * U fstl (%ecx) -# CHECK-NEXT: 1 1 0.50 U fstp %st(0) +# CHECK-NEXT: 1 1 0.50 U fstp %st # CHECK-NEXT: 1 1 1.00 * U fstpl (%edx) # CHECK-NEXT: 1 1 1.00 * U fstpl (%ecx) # CHECK-NEXT: 1 1 1.00 * U fstpt (%eax) @@ -321,7 +321,7 @@ fyl2xp1 # CHECK-NEXT: 1 100 0.50 U frstor (%eax) # CHECK-NEXT: 1 100 0.50 U wait # CHECK-NEXT: 1 100 0.50 U fnsave (%eax) -# CHECK-NEXT: 1 5 1.00 U fsub %st(0), %st(1) +# CHECK-NEXT: 1 5 1.00 U fsub %st, %st(1) # CHECK-NEXT: 1 5 1.00 U fsub %st(2) # CHECK-NEXT: 1 10 1.00 * U fsubs (%ecx) # CHECK-NEXT: 1 10 1.00 * U fsubl (%eax) @@ -329,7 +329,7 @@ fyl2xp1 # CHECK-NEXT: 1 5 1.00 U fsubp %st(2) # CHECK-NEXT: 1 10 1.00 * U fisubs (%ecx) # CHECK-NEXT: 1 10 1.00 * U fisubl (%eax) -# CHECK-NEXT: 1 5 1.00 U fsubr %st(0), %st(1) +# CHECK-NEXT: 1 5 1.00 U fsubr %st, %st(1) # CHECK-NEXT: 1 5 1.00 U fsubr %st(2) # CHECK-NEXT: 1 10 1.00 * U fsubrs (%ecx) # CHECK-NEXT: 1 10 1.00 * U fsubrl (%eax) @@ -388,7 +388,7 @@ fyl2xp1 # CHECK-NEXT: [0.0] [0.1] [1] [2] [3] [4] [5] [6] [7.0] [7.1] [8.0] [8.1] [9] [10] [11] [12] [13] [14] [15] [16.0] [16.1] [17] [18] Instructions: # CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - f2xm1 # CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - 1.00 - - - - - - - fabs -# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - 1.00 - - - - - - - - fadd %st(0), %st(1) +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - 1.00 - - - - - - - - fadd %st, %st(1) # CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - 1.00 - - - - - - - - fadd %st(2) # CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - - - 1.00 - - - - 0.50 0.50 - - fadds (%ecx) # CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - - - 1.00 - - - - 0.50 0.50 - - faddl (%ecx) @@ -400,14 +400,14 @@ fyl2xp1 # CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - fbstp (%eax) # CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - 1.00 - - - - - - - fchs # CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - fnclex -# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - 1.00 - - - - - - - - fcmovb %st(1), %st(0) -# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - 1.00 - - - - - - - - fcmovbe %st(1), %st(0) -# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - 1.00 - - - - - - - - fcmove %st(1), %st(0) -# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - 1.00 - - - - - - - - fcmovnb %st(1), %st(0) -# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - 1.00 - - - - - - - - fcmovnbe %st(1), %st(0) -# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - 1.00 - - - - - - - - fcmovne %st(1), %st(0) -# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - 1.00 - - - - - - - - fcmovnu %st(1), %st(0) -# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - 1.00 - - - - - - - - fcmovu %st(1), %st(0) +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - 1.00 - - - - - - - - fcmovb %st(1), %st +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - 1.00 - - - - - - - - fcmovbe %st(1), %st +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - 1.00 - - - - - - - - fcmove %st(1), %st +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - 1.00 - - - - - - - - fcmovnb %st(1), %st +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - 1.00 - - - - - - - - fcmovnbe %st(1), %st +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - 1.00 - - - - - - - - fcmovne %st(1), %st +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - 1.00 - - - - - - - - fcmovnu %st(1), %st +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - 1.00 - - - - - - - - fcmovu %st(1), %st # CHECK-NEXT: - - - - - 1.00 - - 0.50 0.50 - - - - 1.00 - - - - - - - - fcom %st(1) # CHECK-NEXT: - - - - - 1.00 - - 0.50 0.50 - - - - 1.00 - - - - - - - - fcom %st(3) # CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - 1.00 - - - - - - - fcoms (%ecx) @@ -421,7 +421,7 @@ fyl2xp1 # CHECK-NEXT: - - - - - 1.00 - - 0.50 0.50 - - - - 1.00 - - - - - - - - fcompi %st(3) # CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - fcos # CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - fdecstp -# CHECK-NEXT: - - - - - - - - 9.50 9.50 - - - - - 1.00 - - - - - - - fdiv %st(0), %st(1) +# CHECK-NEXT: - - - - - - - - 9.50 9.50 - - - - - 1.00 - - - - - - - fdiv %st, %st(1) # CHECK-NEXT: - - - - - - - - 9.50 9.50 - - - - - 1.00 - - - - - - - fdiv %st(2) # CHECK-NEXT: 0.50 0.50 - - - - - - 9.50 9.50 - - - - - 1.00 - - - 0.50 0.50 - - fdivs (%ecx) # CHECK-NEXT: 0.50 0.50 - - - - - - 9.50 9.50 - - - - - 1.00 - - - 0.50 0.50 - - fdivl (%eax) @@ -429,7 +429,7 @@ fyl2xp1 # CHECK-NEXT: - - - - - - - - 9.50 9.50 - - - - - 1.00 - - - - - - - fdivp %st(2) # CHECK-NEXT: 0.50 0.50 - - - - - - 9.50 9.50 - - - - - 1.00 - - - 0.50 0.50 - - fidivs (%ecx) # CHECK-NEXT: 0.50 0.50 - - - - - - 9.50 9.50 - - - - - 1.00 - - - 0.50 0.50 - - fidivl (%eax) -# CHECK-NEXT: - - - - - - - - 9.50 9.50 - - - - - 1.00 - - - - - - - fdivr %st(0), %st(1) +# CHECK-NEXT: - - - - - - - - 9.50 9.50 - - - - - 1.00 - - - - - - - fdivr %st, %st(1) # CHECK-NEXT: - - - - - - - - 9.50 9.50 - - - - - 1.00 - - - - - - - fdivr %st(2) # CHECK-NEXT: 0.50 0.50 - - - - - - 9.50 9.50 - - - - - 1.00 - - - 0.50 0.50 - - fdivrs (%ecx) # CHECK-NEXT: 0.50 0.50 - - - - - - 9.50 9.50 - - - - - 1.00 - - - 0.50 0.50 - - fdivrl (%eax) @@ -437,7 +437,7 @@ fyl2xp1 # CHECK-NEXT: - - - - - - - - 9.50 9.50 - - - - - 1.00 - - - - - - - fdivrp %st(2) # CHECK-NEXT: 0.50 0.50 - - - - - - 9.50 9.50 - - - - - 1.00 - - - 0.50 0.50 - - fidivrs (%ecx) # CHECK-NEXT: 0.50 0.50 - - - - - - 9.50 9.50 - - - - - 1.00 - - - 0.50 0.50 - - fidivrl (%eax) -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - ffree %st(0) +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - ffree %st # CHECK-NEXT: 0.50 0.50 - - - 1.00 - - 0.50 0.50 - - - - 1.00 - - - - 0.50 0.50 - - ficoms (%ecx) # CHECK-NEXT: 0.50 0.50 - - - 1.00 - - 0.50 0.50 - - - - 1.00 - - - - 0.50 0.50 - - ficoml (%eax) # CHECK-NEXT: 0.50 0.50 - - - 1.00 - - 0.50 0.50 - - - - 1.00 - - - - 0.50 0.50 - - ficomps (%ecx) @@ -455,7 +455,7 @@ fyl2xp1 # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - - - - - - - - - 1.00 fisttps (%edx) # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - - - - - - - - - 1.00 fisttpl (%ecx) # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - - - - - - - - - 1.00 fisttpll (%eax) -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - fld %st(0) +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - fld %st # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - - - - - - 0.50 0.50 - - flds (%edx) # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - - - - - - 0.50 0.50 - - fldl (%ecx) # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - - - - - - 0.50 0.50 - - fldt (%eax) @@ -468,7 +468,7 @@ fyl2xp1 # CHECK-NEXT: - - - - - - - - - - - - - 1.00 - 1.00 - - - - - - - fldln2 # CHECK-NEXT: - - - - - - - - - - - - - 1.00 - 1.00 - - - - - - - fldpi # CHECK-NEXT: - - - - - - - - - - - - - 1.00 - 1.00 - - - - - - - fldz -# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - 1.00 - - - - - - - fmul %st(0), %st(1) +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - 1.00 - - - - - - - fmul %st, %st(1) # CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - 1.00 - - - - - - - fmul %st(2) # CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - - - - 1.00 - - - 0.50 0.50 - - fmuls (%ecx) # CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - - - - 1.00 - - - 0.50 0.50 - - fmull (%eax) @@ -488,10 +488,10 @@ fyl2xp1 # CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - fsin # CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - fsincos # CHECK-NEXT: - - - - - - - - 17.50 17.50 - - - - - 1.00 - - - - - - - fsqrt -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - fst %st(0) +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - fst %st # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - - - - - - - - - 1.00 fsts (%edx) # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - - - - - - - - - 1.00 fstl (%ecx) -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - fstp %st(0) +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - fstp %st # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - - - - - - - - - 1.00 fstpl (%edx) # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - - - - - - - - - 1.00 fstpl (%ecx) # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - - - - - - - - - 1.00 fstpt (%eax) @@ -501,7 +501,7 @@ fyl2xp1 # CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - frstor (%eax) # CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - wait # CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - fnsave (%eax) -# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - 1.00 - - - - - - - - fsub %st(0), %st(1) +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - 1.00 - - - - - - - - fsub %st, %st(1) # CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - 1.00 - - - - - - - - fsub %st(2) # CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - - - 1.00 - - - - 0.50 0.50 - - fsubs (%ecx) # CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - - - 1.00 - - - - 0.50 0.50 - - fsubl (%eax) @@ -509,7 +509,7 @@ fyl2xp1 # CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - 1.00 - - - - - - - - fsubp %st(2) # CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - - - 1.00 - - - - 0.50 0.50 - - fisubs (%ecx) # CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - - - 1.00 - - - - 0.50 0.50 - - fisubl (%eax) -# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - 1.00 - - - - - - - - fsubr %st(0), %st(1) +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - 1.00 - - - - - - - - fsubr %st, %st(1) # CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - 1.00 - - - - - - - - fsubr %st(2) # CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - - - 1.00 - - - - 0.50 0.50 - - fsubrs (%ecx) # CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - - - 1.00 - - - - 0.50 0.50 - - fsubrl (%eax) diff --git a/llvm/test/tools/llvm-mca/X86/Broadwell/resources-x87.s b/llvm/test/tools/llvm-mca/X86/Broadwell/resources-x87.s index 5cb92be47ea..a1fc6e09652 100644 --- a/llvm/test/tools/llvm-mca/X86/Broadwell/resources-x87.s +++ b/llvm/test/tools/llvm-mca/X86/Broadwell/resources-x87.s @@ -5,7 +5,7 @@ f2xm1 fabs -fadd %st(0), %st(1) +fadd %st, %st(1) fadd %st(2) fadds (%ecx) faddl (%ecx) @@ -21,14 +21,14 @@ fchs fnclex -fcmovb %st(1), %st(0) -fcmovbe %st(1), %st(0) -fcmove %st(1), %st(0) -fcmovnb %st(1), %st(0) -fcmovnbe %st(1), %st(0) -fcmovne %st(1), %st(0) -fcmovnu %st(1), %st(0) -fcmovu %st(1), %st(0) +fcmovb %st(1), %st +fcmovbe %st(1), %st +fcmove %st(1), %st +fcmovnb %st(1), %st +fcmovnbe %st(1), %st +fcmovne %st(1), %st +fcmovnu %st(1), %st +fcmovu %st(1), %st fcom %st(1) fcom %st(3) @@ -47,7 +47,7 @@ fcos fdecstp -fdiv %st(0), %st(1) +fdiv %st, %st(1) fdiv %st(2) fdivs (%ecx) fdivl (%eax) @@ -56,7 +56,7 @@ fdivp %st(2) fidivs (%ecx) fidivl (%eax) -fdivr %st(0), %st(1) +fdivr %st, %st(1) fdivr %st(2) fdivrs (%ecx) fdivrl (%eax) @@ -65,7 +65,7 @@ fdivrp %st(2) fidivrs (%ecx) fidivrl (%eax) -ffree %st(0) +ffree %st ficoms (%ecx) ficoml (%eax) @@ -90,7 +90,7 @@ fisttps (%edx) fisttpl (%ecx) fisttpll (%eax) -fld %st(0) +fld %st flds (%edx) fldl (%ecx) fldt (%eax) @@ -106,7 +106,7 @@ fldln2 fldpi fldz -fmul %st(0), %st(1) +fmul %st, %st(1) fmul %st(2) fmuls (%ecx) fmull (%eax) @@ -138,10 +138,10 @@ fsincos fsqrt -fst %st(0) +fst %st fsts (%edx) fstl (%ecx) -fstp %st(0) +fstp %st fstpl (%edx) fstpl (%ecx) fstpt (%eax) @@ -153,7 +153,7 @@ fnstsw (%eax) frstor (%eax) fsave (%eax) -fsub %st(0), %st(1) +fsub %st, %st(1) fsub %st(2) fsubs (%ecx) fsubl (%eax) @@ -162,7 +162,7 @@ fsubp %st(2) fisubs (%ecx) fisubl (%eax) -fsubr %st(0), %st(1) +fsubr %st, %st(1) fsubr %st(2) fsubrs (%ecx) fsubrl (%eax) @@ -208,7 +208,7 @@ fyl2xp1 # CHECK: [1] [2] [3] [4] [5] [6] Instructions: # CHECK-NEXT: 1 100 0.25 U f2xm1 # CHECK-NEXT: 1 1 1.00 U fabs -# CHECK-NEXT: 1 3 1.00 U fadd %st(0), %st(1) +# CHECK-NEXT: 1 3 1.00 U fadd %st, %st(1) # CHECK-NEXT: 1 3 1.00 U fadd %st(2) # CHECK-NEXT: 2 9 1.00 * U fadds (%ecx) # CHECK-NEXT: 2 9 1.00 * U faddl (%ecx) @@ -220,14 +220,14 @@ fyl2xp1 # CHECK-NEXT: 2 1 1.00 U fbstp (%eax) # CHECK-NEXT: 1 1 1.00 U fchs # CHECK-NEXT: 4 4 1.00 U fnclex -# CHECK-NEXT: 1 3 1.00 U fcmovb %st(1), %st(0) -# CHECK-NEXT: 1 3 1.00 U fcmovbe %st(1), %st(0) -# CHECK-NEXT: 1 3 1.00 U fcmove %st(1), %st(0) -# CHECK-NEXT: 1 3 1.00 U fcmovnb %st(1), %st(0) -# CHECK-NEXT: 1 3 1.00 U fcmovnbe %st(1), %st(0) -# CHECK-NEXT: 1 3 1.00 U fcmovne %st(1), %st(0) -# CHECK-NEXT: 1 3 1.00 U fcmovnu %st(1), %st(0) -# CHECK-NEXT: 1 3 1.00 U fcmovu %st(1), %st(0) +# CHECK-NEXT: 1 3 1.00 U fcmovb %st(1), %st +# CHECK-NEXT: 1 3 1.00 U fcmovbe %st(1), %st +# CHECK-NEXT: 1 3 1.00 U fcmove %st(1), %st +# CHECK-NEXT: 1 3 1.00 U fcmovnb %st(1), %st +# CHECK-NEXT: 1 3 1.00 U fcmovnbe %st(1), %st +# CHECK-NEXT: 1 3 1.00 U fcmovne %st(1), %st +# CHECK-NEXT: 1 3 1.00 U fcmovnu %st(1), %st +# CHECK-NEXT: 1 3 1.00 U fcmovu %st(1), %st # CHECK-NEXT: 1 1 1.00 U fcom %st(1) # CHECK-NEXT: 1 1 1.00 U fcom %st(3) # CHECK-NEXT: 2 7 1.00 U fcoms (%ecx) @@ -241,7 +241,7 @@ fyl2xp1 # CHECK-NEXT: 1 3 1.00 U fcompi %st(3) # CHECK-NEXT: 1 100 0.25 U fcos # CHECK-NEXT: 2 2 1.00 U fdecstp -# CHECK-NEXT: 1 15 1.00 U fdiv %st(0), %st(1) +# CHECK-NEXT: 1 15 1.00 U fdiv %st, %st(1) # CHECK-NEXT: 1 20 1.00 U fdiv %st(2) # CHECK-NEXT: 2 21 1.00 * U fdivs (%ecx) # CHECK-NEXT: 2 21 1.00 * U fdivl (%eax) @@ -249,7 +249,7 @@ fyl2xp1 # CHECK-NEXT: 1 15 1.00 U fdivp %st(2) # CHECK-NEXT: 3 24 1.00 * U fidivs (%ecx) # CHECK-NEXT: 3 24 1.00 * U fidivl (%eax) -# CHECK-NEXT: 1 20 1.00 U fdivr %st(0), %st(1) +# CHECK-NEXT: 1 20 1.00 U fdivr %st, %st(1) # CHECK-NEXT: 1 15 1.00 U fdivr %st(2) # CHECK-NEXT: 2 26 1.00 * U fdivrs (%ecx) # CHECK-NEXT: 2 26 1.00 * U fdivrl (%eax) @@ -257,7 +257,7 @@ fyl2xp1 # CHECK-NEXT: 1 20 1.00 U fdivrp %st(2) # CHECK-NEXT: 3 29 1.00 * U fidivrs (%ecx) # CHECK-NEXT: 3 29 1.00 * U fidivrl (%eax) -# CHECK-NEXT: 1 100 0.25 U ffree %st(0) +# CHECK-NEXT: 1 100 0.25 U ffree %st # CHECK-NEXT: 3 10 2.00 U ficoms (%ecx) # CHECK-NEXT: 3 10 2.00 U ficoml (%eax) # CHECK-NEXT: 3 10 2.00 U ficomps (%ecx) @@ -275,7 +275,7 @@ fyl2xp1 # CHECK-NEXT: 3 4 1.00 * U fisttps (%edx) # CHECK-NEXT: 3 4 1.00 * U fisttpl (%ecx) # CHECK-NEXT: 3 4 1.00 * U fisttpll (%eax) -# CHECK-NEXT: 1 1 0.25 U fld %st(0) +# CHECK-NEXT: 1 1 0.25 U fld %st # CHECK-NEXT: 1 6 0.50 * U flds (%edx) # CHECK-NEXT: 1 6 0.50 * U fldl (%ecx) # CHECK-NEXT: 1 6 0.50 * U fldt (%eax) @@ -288,7 +288,7 @@ fyl2xp1 # CHECK-NEXT: 2 1 1.00 U fldln2 # CHECK-NEXT: 2 1 1.00 U fldpi # CHECK-NEXT: 1 1 0.50 U fldz -# CHECK-NEXT: 1 5 1.00 U fmul %st(0), %st(1) +# CHECK-NEXT: 1 5 1.00 U fmul %st, %st(1) # CHECK-NEXT: 1 5 1.00 U fmul %st(2) # CHECK-NEXT: 2 11 1.00 * U fmuls (%ecx) # CHECK-NEXT: 2 11 1.00 * U fmull (%eax) @@ -308,10 +308,10 @@ fyl2xp1 # CHECK-NEXT: 1 100 0.25 U fsin # CHECK-NEXT: 1 100 0.25 U fsincos # CHECK-NEXT: 1 23 9.00 U fsqrt -# CHECK-NEXT: 1 1 0.25 U fst %st(0) +# CHECK-NEXT: 1 1 0.25 U fst %st # CHECK-NEXT: 1 1 1.00 * U fsts (%edx) # CHECK-NEXT: 1 1 1.00 * U fstl (%ecx) -# CHECK-NEXT: 1 1 0.25 U fstp %st(0) +# CHECK-NEXT: 1 1 0.25 U fstp %st # CHECK-NEXT: 2 1 1.00 * U fstpl (%edx) # CHECK-NEXT: 2 1 1.00 * U fstpl (%ecx) # CHECK-NEXT: 2 1 1.00 * U fstpt (%eax) @@ -321,7 +321,7 @@ fyl2xp1 # CHECK-NEXT: 1 100 0.25 U frstor (%eax) # CHECK-NEXT: 2 2 0.50 U wait # CHECK-NEXT: 1 100 0.25 U fnsave (%eax) -# CHECK-NEXT: 1 3 1.00 U fsub %st(0), %st(1) +# CHECK-NEXT: 1 3 1.00 U fsub %st, %st(1) # CHECK-NEXT: 1 3 1.00 U fsub %st(2) # CHECK-NEXT: 2 9 1.00 * U fsubs (%ecx) # CHECK-NEXT: 2 9 1.00 * U fsubl (%eax) @@ -329,7 +329,7 @@ fyl2xp1 # CHECK-NEXT: 1 3 1.00 U fsubp %st(2) # CHECK-NEXT: 3 12 2.00 * U fisubs (%ecx) # CHECK-NEXT: 3 12 2.00 * U fisubl (%eax) -# CHECK-NEXT: 1 3 1.00 U fsubr %st(0), %st(1) +# CHECK-NEXT: 1 3 1.00 U fsubr %st, %st(1) # CHECK-NEXT: 1 3 1.00 U fsubr %st(2) # CHECK-NEXT: 2 9 1.00 * U fsubrs (%ecx) # CHECK-NEXT: 2 9 1.00 * U fsubrl (%eax) @@ -375,7 +375,7 @@ fyl2xp1 # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions: # CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - f2xm1 # CHECK-NEXT: - - - - - - - 1.00 - - fabs -# CHECK-NEXT: - - - 1.00 - - - - - - fadd %st(0), %st(1) +# CHECK-NEXT: - - - 1.00 - - - - - - fadd %st, %st(1) # CHECK-NEXT: - - - 1.00 - - - - - - fadd %st(2) # CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - fadds (%ecx) # CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - faddl (%ecx) @@ -387,14 +387,14 @@ fyl2xp1 # CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 fbstp (%eax) # CHECK-NEXT: - - - - - - - 1.00 - - fchs # CHECK-NEXT: - - 1.00 1.00 - - - 1.00 1.00 - fnclex -# CHECK-NEXT: - - - 1.00 - - - - - - fcmovb %st(1), %st(0) -# CHECK-NEXT: - - - 1.00 - - - - - - fcmovbe %st(1), %st(0) -# CHECK-NEXT: - - - 1.00 - - - - - - fcmove %st(1), %st(0) -# CHECK-NEXT: - - - 1.00 - - - - - - fcmovnb %st(1), %st(0) -# CHECK-NEXT: - - - 1.00 - - - - - - fcmovnbe %st(1), %st(0) -# CHECK-NEXT: - - - 1.00 - - - - - - fcmovne %st(1), %st(0) -# CHECK-NEXT: - - - 1.00 - - - - - - fcmovnu %st(1), %st(0) -# CHECK-NEXT: - - - 1.00 - - - - - - fcmovu %st(1), %st(0) +# CHECK-NEXT: - - - 1.00 - - - - - - fcmovb %st(1), %st +# CHECK-NEXT: - - - 1.00 - - - - - - fcmovbe %st(1), %st +# CHECK-NEXT: - - - 1.00 - - - - - - fcmove %st(1), %st +# CHECK-NEXT: - - - 1.00 - - - - - - fcmovnb %st(1), %st +# CHECK-NEXT: - - - 1.00 - - - - - - fcmovnbe %st(1), %st +# CHECK-NEXT: - - - 1.00 - - - - - - fcmovne %st(1), %st +# CHECK-NEXT: - - - 1.00 - - - - - - fcmovnu %st(1), %st +# CHECK-NEXT: - - - 1.00 - - - - - - fcmovu %st(1), %st # CHECK-NEXT: - - - 1.00 - - - - - - fcom %st(1) # CHECK-NEXT: - - - 1.00 - - - - - - fcom %st(3) # CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - fcoms (%ecx) @@ -408,7 +408,7 @@ fyl2xp1 # CHECK-NEXT: - - - 1.00 - - - - - - fcompi %st(3) # CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fcos # CHECK-NEXT: - - 1.00 1.00 - - - - - - fdecstp -# CHECK-NEXT: - - 1.00 - - - - - - - fdiv %st(0), %st(1) +# CHECK-NEXT: - - 1.00 - - - - - - - fdiv %st, %st(1) # CHECK-NEXT: - - 1.00 - - - - - - - fdiv %st(2) # CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - fdivs (%ecx) # CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - fdivl (%eax) @@ -416,7 +416,7 @@ fyl2xp1 # CHECK-NEXT: - - 1.00 - - - - - - - fdivp %st(2) # CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - fidivs (%ecx) # CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - fidivl (%eax) -# CHECK-NEXT: - - 1.00 - - - - - - - fdivr %st(0), %st(1) +# CHECK-NEXT: - - 1.00 - - - - - - - fdivr %st, %st(1) # CHECK-NEXT: - - 1.00 - - - - - - - fdivr %st(2) # CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - fdivrs (%ecx) # CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - fdivrl (%eax) @@ -424,7 +424,7 @@ fyl2xp1 # CHECK-NEXT: - - 1.00 - - - - - - - fdivrp %st(2) # CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - fidivrs (%ecx) # CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - fidivrl (%eax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - ffree %st(0) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - ffree %st # CHECK-NEXT: - - - 2.00 0.50 0.50 - - - - ficoms (%ecx) # CHECK-NEXT: - - - 2.00 0.50 0.50 - - - - ficoml (%eax) # CHECK-NEXT: - - - 2.00 0.50 0.50 - - - - ficomps (%ecx) @@ -442,7 +442,7 @@ fyl2xp1 # CHECK-NEXT: - - - 1.00 0.33 0.33 1.00 - - 0.33 fisttps (%edx) # CHECK-NEXT: - - - 1.00 0.33 0.33 1.00 - - 0.33 fisttpl (%ecx) # CHECK-NEXT: - - - 1.00 0.33 0.33 1.00 - - 0.33 fisttpll (%eax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fld %st(0) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fld %st # CHECK-NEXT: - - - - 0.50 0.50 - - - - flds (%edx) # CHECK-NEXT: - - - - 0.50 0.50 - - - - fldl (%ecx) # CHECK-NEXT: - - - - 0.50 0.50 - - - - fldt (%eax) @@ -455,7 +455,7 @@ fyl2xp1 # CHECK-NEXT: - - 1.00 1.00 - - - - - - fldln2 # CHECK-NEXT: - - 1.00 1.00 - - - - - - fldpi # CHECK-NEXT: - - 0.50 0.50 - - - - - - fldz -# CHECK-NEXT: - - 1.00 - - - - - - - fmul %st(0), %st(1) +# CHECK-NEXT: - - 1.00 - - - - - - - fmul %st, %st(1) # CHECK-NEXT: - - 1.00 - - - - - - - fmul %st(2) # CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - fmuls (%ecx) # CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - fmull (%eax) @@ -475,10 +475,10 @@ fyl2xp1 # CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fsin # CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fsincos # CHECK-NEXT: - 9.00 1.00 - - - - - - - fsqrt -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fst %st(0) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fst %st # CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 fsts (%edx) # CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 fstl (%ecx) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fstp %st(0) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fstp %st # CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 fstpl (%edx) # CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 fstpl (%ecx) # CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 fstpt (%eax) @@ -488,7 +488,7 @@ fyl2xp1 # CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - frstor (%eax) # CHECK-NEXT: - - 0.50 0.50 - - - 0.50 0.50 - wait # CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fnsave (%eax) -# CHECK-NEXT: - - - 1.00 - - - - - - fsub %st(0), %st(1) +# CHECK-NEXT: - - - 1.00 - - - - - - fsub %st, %st(1) # CHECK-NEXT: - - - 1.00 - - - - - - fsub %st(2) # CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - fsubs (%ecx) # CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - fsubl (%eax) @@ -496,7 +496,7 @@ fyl2xp1 # CHECK-NEXT: - - - 1.00 - - - - - - fsubp %st(2) # CHECK-NEXT: - - - 2.00 0.50 0.50 - - - - fisubs (%ecx) # CHECK-NEXT: - - - 2.00 0.50 0.50 - - - - fisubl (%eax) -# CHECK-NEXT: - - - 1.00 - - - - - - fsubr %st(0), %st(1) +# CHECK-NEXT: - - - 1.00 - - - - - - fsubr %st, %st(1) # CHECK-NEXT: - - - 1.00 - - - - - - fsubr %st(2) # CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - fsubrs (%ecx) # CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - fsubrl (%eax) diff --git a/llvm/test/tools/llvm-mca/X86/BtVer2/resources-x87.s b/llvm/test/tools/llvm-mca/X86/BtVer2/resources-x87.s index 8fabea45f04..ff44cbcebfe 100644 --- a/llvm/test/tools/llvm-mca/X86/BtVer2/resources-x87.s +++ b/llvm/test/tools/llvm-mca/X86/BtVer2/resources-x87.s @@ -5,7 +5,7 @@ f2xm1 fabs -fadd %st(0), %st(1) +fadd %st, %st(1) fadd %st(2) fadds (%ecx) faddl (%ecx) @@ -21,14 +21,14 @@ fchs fnclex -fcmovb %st(1), %st(0) -fcmovbe %st(1), %st(0) -fcmove %st(1), %st(0) -fcmovnb %st(1), %st(0) -fcmovnbe %st(1), %st(0) -fcmovne %st(1), %st(0) -fcmovnu %st(1), %st(0) -fcmovu %st(1), %st(0) +fcmovb %st(1), %st +fcmovbe %st(1), %st +fcmove %st(1), %st +fcmovnb %st(1), %st +fcmovnbe %st(1), %st +fcmovne %st(1), %st +fcmovnu %st(1), %st +fcmovu %st(1), %st fcom %st(1) fcom %st(3) @@ -47,7 +47,7 @@ fcos fdecstp -fdiv %st(0), %st(1) +fdiv %st, %st(1) fdiv %st(2) fdivs (%ecx) fdivl (%eax) @@ -56,7 +56,7 @@ fdivp %st(2) fidivs (%ecx) fidivl (%eax) -fdivr %st(0), %st(1) +fdivr %st, %st(1) fdivr %st(2) fdivrs (%ecx) fdivrl (%eax) @@ -65,7 +65,7 @@ fdivrp %st(2) fidivrs (%ecx) fidivrl (%eax) -ffree %st(0) +ffree %st ficoms (%ecx) ficoml (%eax) @@ -90,7 +90,7 @@ fisttps (%edx) fisttpl (%ecx) fisttpll (%eax) -fld %st(0) +fld %st flds (%edx) fldl (%ecx) fldt (%eax) @@ -106,7 +106,7 @@ fldln2 fldpi fldz -fmul %st(0), %st(1) +fmul %st, %st(1) fmul %st(2) fmuls (%ecx) fmull (%eax) @@ -138,10 +138,10 @@ fsincos fsqrt -fst %st(0) +fst %st fsts (%edx) fstl (%ecx) -fstp %st(0) +fstp %st fstpl (%edx) fstpl (%ecx) fstpt (%eax) @@ -153,7 +153,7 @@ fnstsw (%eax) frstor (%eax) fsave (%eax) -fsub %st(0), %st(1) +fsub %st, %st(1) fsub %st(2) fsubs (%ecx) fsubl (%eax) @@ -162,7 +162,7 @@ fsubp %st(2) fisubs (%ecx) fisubl (%eax) -fsubr %st(0), %st(1) +fsubr %st, %st(1) fsubr %st(2) fsubrs (%ecx) fsubrl (%eax) @@ -208,7 +208,7 @@ fyl2xp1 # CHECK: [1] [2] [3] [4] [5] [6] Instructions: # CHECK-NEXT: 1 100 0.50 U f2xm1 # CHECK-NEXT: 1 2 1.00 U fabs -# CHECK-NEXT: 1 3 1.00 U fadd %st(0), %st(1) +# CHECK-NEXT: 1 3 1.00 U fadd %st, %st(1) # CHECK-NEXT: 1 3 1.00 U fadd %st(2) # CHECK-NEXT: 1 8 1.00 * U fadds (%ecx) # CHECK-NEXT: 1 8 1.00 * U faddl (%ecx) @@ -220,14 +220,14 @@ fyl2xp1 # CHECK-NEXT: 1 100 0.50 U fbstp (%eax) # CHECK-NEXT: 1 2 1.00 U fchs # CHECK-NEXT: 1 100 0.50 U fnclex -# CHECK-NEXT: 1 3 1.00 U fcmovb %st(1), %st(0) -# CHECK-NEXT: 1 3 1.00 U fcmovbe %st(1), %st(0) -# CHECK-NEXT: 1 3 1.00 U fcmove %st(1), %st(0) -# CHECK-NEXT: 1 3 1.00 U fcmovnb %st(1), %st(0) -# CHECK-NEXT: 1 3 1.00 U fcmovnbe %st(1), %st(0) -# CHECK-NEXT: 1 3 1.00 U fcmovne %st(1), %st(0) -# CHECK-NEXT: 1 3 1.00 U fcmovnu %st(1), %st(0) -# CHECK-NEXT: 1 3 1.00 U fcmovu %st(1), %st(0) +# CHECK-NEXT: 1 3 1.00 U fcmovb %st(1), %st +# CHECK-NEXT: 1 3 1.00 U fcmovbe %st(1), %st +# CHECK-NEXT: 1 3 1.00 U fcmove %st(1), %st +# CHECK-NEXT: 1 3 1.00 U fcmovnb %st(1), %st +# CHECK-NEXT: 1 3 1.00 U fcmovnbe %st(1), %st +# CHECK-NEXT: 1 3 1.00 U fcmovne %st(1), %st +# CHECK-NEXT: 1 3 1.00 U fcmovnu %st(1), %st +# CHECK-NEXT: 1 3 1.00 U fcmovu %st(1), %st # CHECK-NEXT: 1 3 1.00 U fcom %st(1) # CHECK-NEXT: 1 3 1.00 U fcom %st(3) # CHECK-NEXT: 1 8 1.00 U fcoms (%ecx) @@ -241,7 +241,7 @@ fyl2xp1 # CHECK-NEXT: 1 3 1.00 U fcompi %st(3) # CHECK-NEXT: 1 100 0.50 U fcos # CHECK-NEXT: 1 100 0.50 U fdecstp -# CHECK-NEXT: 1 19 19.00 U fdiv %st(0), %st(1) +# CHECK-NEXT: 1 19 19.00 U fdiv %st, %st(1) # CHECK-NEXT: 1 19 19.00 U fdiv %st(2) # CHECK-NEXT: 1 24 19.00 * U fdivs (%ecx) # CHECK-NEXT: 1 24 19.00 * U fdivl (%eax) @@ -249,7 +249,7 @@ fyl2xp1 # CHECK-NEXT: 1 19 19.00 U fdivp %st(2) # CHECK-NEXT: 1 24 19.00 * U fidivs (%ecx) # CHECK-NEXT: 1 24 19.00 * U fidivl (%eax) -# CHECK-NEXT: 1 19 19.00 U fdivr %st(0), %st(1) +# CHECK-NEXT: 1 19 19.00 U fdivr %st, %st(1) # CHECK-NEXT: 1 19 19.00 U fdivr %st(2) # CHECK-NEXT: 1 24 19.00 * U fdivrs (%ecx) # CHECK-NEXT: 1 24 19.00 * U fdivrl (%eax) @@ -257,7 +257,7 @@ fyl2xp1 # CHECK-NEXT: 1 19 19.00 U fdivrp %st(2) # CHECK-NEXT: 1 24 19.00 * U fidivrs (%ecx) # CHECK-NEXT: 1 24 19.00 * U fidivrl (%eax) -# CHECK-NEXT: 1 100 0.50 U ffree %st(0) +# CHECK-NEXT: 1 100 0.50 U ffree %st # CHECK-NEXT: 1 8 1.00 U ficoms (%ecx) # CHECK-NEXT: 1 8 1.00 U ficoml (%eax) # CHECK-NEXT: 1 8 1.00 U ficomps (%ecx) @@ -275,7 +275,7 @@ fyl2xp1 # CHECK-NEXT: 1 1 1.00 * U fisttps (%edx) # CHECK-NEXT: 1 1 1.00 * U fisttpl (%ecx) # CHECK-NEXT: 1 1 1.00 * U fisttpll (%eax) -# CHECK-NEXT: 1 1 0.50 U fld %st(0) +# CHECK-NEXT: 1 1 0.50 U fld %st # CHECK-NEXT: 1 3 1.00 * U flds (%edx) # CHECK-NEXT: 1 3 1.00 * U fldl (%ecx) # CHECK-NEXT: 1 3 1.00 * U fldt (%eax) @@ -288,7 +288,7 @@ fyl2xp1 # CHECK-NEXT: 1 3 1.00 U fldln2 # CHECK-NEXT: 1 3 1.00 U fldpi # CHECK-NEXT: 1 3 1.00 U fldz -# CHECK-NEXT: 1 2 1.00 U fmul %st(0), %st(1) +# CHECK-NEXT: 1 2 1.00 U fmul %st, %st(1) # CHECK-NEXT: 1 2 1.00 U fmul %st(2) # CHECK-NEXT: 1 7 1.00 * U fmuls (%ecx) # CHECK-NEXT: 1 7 1.00 * U fmull (%eax) @@ -308,10 +308,10 @@ fyl2xp1 # CHECK-NEXT: 1 100 0.50 U fsin # CHECK-NEXT: 1 100 0.50 U fsincos # CHECK-NEXT: 1 35 35.00 U fsqrt -# CHECK-NEXT: 1 1 0.50 U fst %st(0) +# CHECK-NEXT: 1 1 0.50 U fst %st # CHECK-NEXT: 1 1 1.00 * U fsts (%edx) # CHECK-NEXT: 1 1 1.00 * U fstl (%ecx) -# CHECK-NEXT: 1 1 0.50 U fstp %st(0) +# CHECK-NEXT: 1 1 0.50 U fstp %st # CHECK-NEXT: 1 1 1.00 * U fstpl (%edx) # CHECK-NEXT: 1 1 1.00 * U fstpl (%ecx) # CHECK-NEXT: 1 1 1.00 * U fstpt (%eax) @@ -321,7 +321,7 @@ fyl2xp1 # CHECK-NEXT: 1 100 0.50 U frstor (%eax) # CHECK-NEXT: 1 100 0.50 U wait # CHECK-NEXT: 1 100 0.50 U fnsave (%eax) -# CHECK-NEXT: 1 3 1.00 U fsub %st(0), %st(1) +# CHECK-NEXT: 1 3 1.00 U fsub %st, %st(1) # CHECK-NEXT: 1 3 1.00 U fsub %st(2) # CHECK-NEXT: 1 8 1.00 * U fsubs (%ecx) # CHECK-NEXT: 1 8 1.00 * U fsubl (%eax) @@ -329,7 +329,7 @@ fyl2xp1 # CHECK-NEXT: 1 3 1.00 U fsubp %st(2) # CHECK-NEXT: 1 8 1.00 * U fisubs (%ecx) # CHECK-NEXT: 1 8 1.00 * U fisubl (%eax) -# CHECK-NEXT: 1 3 1.00 U fsubr %st(0), %st(1) +# CHECK-NEXT: 1 3 1.00 U fsubr %st, %st(1) # CHECK-NEXT: 1 3 1.00 U fsubr %st(2) # CHECK-NEXT: 1 8 1.00 * U fsubrs (%ecx) # CHECK-NEXT: 1 8 1.00 * U fsubrl (%eax) @@ -379,7 +379,7 @@ fyl2xp1 # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] Instructions: # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - f2xm1 # CHECK-NEXT: - - - - 1.00 - 1.00 - - - - - - - fabs -# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - fadd %st(0), %st(1) +# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - fadd %st, %st(1) # CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - fadd %st(2) # CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - fadds (%ecx) # CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - faddl (%ecx) @@ -391,14 +391,14 @@ fyl2xp1 # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - fbstp (%eax) # CHECK-NEXT: - - - - 1.00 - 1.00 - - - - - - - fchs # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - fnclex -# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - fcmovb %st(1), %st(0) -# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - fcmovbe %st(1), %st(0) -# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - fcmove %st(1), %st(0) -# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - fcmovnb %st(1), %st(0) -# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - fcmovnbe %st(1), %st(0) -# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - fcmovne %st(1), %st(0) -# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - fcmovnu %st(1), %st(0) -# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - fcmovu %st(1), %st(0) +# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - fcmovb %st(1), %st +# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - fcmovbe %st(1), %st +# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - fcmove %st(1), %st +# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - fcmovnb %st(1), %st +# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - fcmovnbe %st(1), %st +# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - fcmovne %st(1), %st +# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - fcmovnu %st(1), %st +# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - fcmovu %st(1), %st # CHECK-NEXT: 1.00 - - 1.00 - 1.00 - - - - - - - - fcom %st(1) # CHECK-NEXT: 1.00 - - 1.00 - 1.00 - - - - - - - - fcom %st(3) # CHECK-NEXT: 1.00 - - 1.00 - 1.00 - 1.00 - - - - - - fcoms (%ecx) @@ -412,7 +412,7 @@ fyl2xp1 # CHECK-NEXT: 1.00 - - 1.00 - 1.00 - - - - - - - - fcompi %st(3) # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - fcos # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - fdecstp -# CHECK-NEXT: - - - - 19.00 - 1.00 - - - - - - - fdiv %st(0), %st(1) +# CHECK-NEXT: - - - - 19.00 - 1.00 - - - - - - - fdiv %st, %st(1) # CHECK-NEXT: - - - - 19.00 - 1.00 - - - - - - - fdiv %st(2) # CHECK-NEXT: - - - - 19.00 - 1.00 1.00 - - - - - - fdivs (%ecx) # CHECK-NEXT: - - - - 19.00 - 1.00 1.00 - - - - - - fdivl (%eax) @@ -420,7 +420,7 @@ fyl2xp1 # CHECK-NEXT: - - - - 19.00 - 1.00 - - - - - - - fdivp %st(2) # CHECK-NEXT: - - - - 19.00 - 1.00 1.00 - - - - - - fidivs (%ecx) # CHECK-NEXT: - - - - 19.00 - 1.00 1.00 - - - - - - fidivl (%eax) -# CHECK-NEXT: - - - - 19.00 - 1.00 - - - - - - - fdivr %st(0), %st(1) +# CHECK-NEXT: - - - - 19.00 - 1.00 - - - - - - - fdivr %st, %st(1) # CHECK-NEXT: - - - - 19.00 - 1.00 - - - - - - - fdivr %st(2) # CHECK-NEXT: - - - - 19.00 - 1.00 1.00 - - - - - - fdivrs (%ecx) # CHECK-NEXT: - - - - 19.00 - 1.00 1.00 - - - - - - fdivrl (%eax) @@ -428,7 +428,7 @@ fyl2xp1 # CHECK-NEXT: - - - - 19.00 - 1.00 - - - - - - - fdivrp %st(2) # CHECK-NEXT: - - - - 19.00 - 1.00 1.00 - - - - - - fidivrs (%ecx) # CHECK-NEXT: - - - - 19.00 - 1.00 1.00 - - - - - - fidivrl (%eax) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - ffree %st(0) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - ffree %st # CHECK-NEXT: 1.00 - - 1.00 - 1.00 - 1.00 - - - - - - ficoms (%ecx) # CHECK-NEXT: 1.00 - - 1.00 - 1.00 - 1.00 - - - - - - ficoml (%eax) # CHECK-NEXT: 1.00 - - 1.00 - 1.00 - 1.00 - - - - - - ficomps (%ecx) @@ -446,7 +446,7 @@ fyl2xp1 # CHECK-NEXT: - - - - - - - - - 1.00 - - - - fisttps (%edx) # CHECK-NEXT: - - - - - - - - - 1.00 - - - - fisttpl (%ecx) # CHECK-NEXT: - - - - - - - - - 1.00 - - - - fisttpll (%eax) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - fld %st(0) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - fld %st # CHECK-NEXT: - - - - - - - 1.00 - - - - - - flds (%edx) # CHECK-NEXT: - - - - - - - 1.00 - - - - - - fldl (%ecx) # CHECK-NEXT: - - - - - - - 1.00 - - - - - - fldt (%eax) @@ -459,7 +459,7 @@ fyl2xp1 # CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - fldln2 # CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - fldpi # CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - fldz -# CHECK-NEXT: - - - - 1.00 - 1.00 - - - - - - - fmul %st(0), %st(1) +# CHECK-NEXT: - - - - 1.00 - 1.00 - - - - - - - fmul %st, %st(1) # CHECK-NEXT: - - - - 1.00 - 1.00 - - - - - - - fmul %st(2) # CHECK-NEXT: - - - - 1.00 - 1.00 1.00 - - - - - - fmuls (%ecx) # CHECK-NEXT: - - - - 1.00 - 1.00 1.00 - - - - - - fmull (%eax) @@ -479,10 +479,10 @@ fyl2xp1 # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - fsin # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - fsincos # CHECK-NEXT: - - - - 35.00 - 1.00 - - - - - - - fsqrt -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - fst %st(0) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - fst %st # CHECK-NEXT: - - - - - - - - - 1.00 - - - - fsts (%edx) # CHECK-NEXT: - - - - - - - - - 1.00 - - - - fstl (%ecx) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - fstp %st(0) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - fstp %st # CHECK-NEXT: - - - - - - - - - 1.00 - - - - fstpl (%edx) # CHECK-NEXT: - - - - - - - - - 1.00 - - - - fstpl (%ecx) # CHECK-NEXT: - - - - - - - - - 1.00 - - - - fstpt (%eax) @@ -492,7 +492,7 @@ fyl2xp1 # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - frstor (%eax) # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - wait # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - fnsave (%eax) -# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - fsub %st(0), %st(1) +# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - fsub %st, %st(1) # CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - fsub %st(2) # CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - fsubs (%ecx) # CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - fsubl (%eax) @@ -500,7 +500,7 @@ fyl2xp1 # CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - fsubp %st(2) # CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - fisubs (%ecx) # CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - fisubl (%eax) -# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - fsubr %st(0), %st(1) +# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - fsubr %st, %st(1) # CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - fsubr %st(2) # CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - fsubrs (%ecx) # CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - fsubrl (%eax) diff --git a/llvm/test/tools/llvm-mca/X86/Generic/resources-x87.s b/llvm/test/tools/llvm-mca/X86/Generic/resources-x87.s index 1cba9a7d77f..43549faa595 100644 --- a/llvm/test/tools/llvm-mca/X86/Generic/resources-x87.s +++ b/llvm/test/tools/llvm-mca/X86/Generic/resources-x87.s @@ -5,7 +5,7 @@ f2xm1 fabs -fadd %st(0), %st(1) +fadd %st, %st(1) fadd %st(2) fadds (%ecx) faddl (%ecx) @@ -21,14 +21,14 @@ fchs fnclex -fcmovb %st(1), %st(0) -fcmovbe %st(1), %st(0) -fcmove %st(1), %st(0) -fcmovnb %st(1), %st(0) -fcmovnbe %st(1), %st(0) -fcmovne %st(1), %st(0) -fcmovnu %st(1), %st(0) -fcmovu %st(1), %st(0) +fcmovb %st(1), %st +fcmovbe %st(1), %st +fcmove %st(1), %st +fcmovnb %st(1), %st +fcmovnbe %st(1), %st +fcmovne %st(1), %st +fcmovnu %st(1), %st +fcmovu %st(1), %st fcom %st(1) fcom %st(3) @@ -47,7 +47,7 @@ fcos fdecstp -fdiv %st(0), %st(1) +fdiv %st, %st(1) fdiv %st(2) fdivs (%ecx) fdivl (%eax) @@ -56,7 +56,7 @@ fdivp %st(2) fidivs (%ecx) fidivl (%eax) -fdivr %st(0), %st(1) +fdivr %st, %st(1) fdivr %st(2) fdivrs (%ecx) fdivrl (%eax) @@ -65,7 +65,7 @@ fdivrp %st(2) fidivrs (%ecx) fidivrl (%eax) -ffree %st(0) +ffree %st ficoms (%ecx) ficoml (%eax) @@ -90,7 +90,7 @@ fisttps (%edx) fisttpl (%ecx) fisttpll (%eax) -fld %st(0) +fld %st flds (%edx) fldl (%ecx) fldt (%eax) @@ -106,7 +106,7 @@ fldln2 fldpi fldz -fmul %st(0), %st(1) +fmul %st, %st(1) fmul %st(2) fmuls (%ecx) fmull (%eax) @@ -138,10 +138,10 @@ fsincos fsqrt -fst %st(0) +fst %st fsts (%edx) fstl (%ecx) -fstp %st(0) +fstp %st fstpl (%edx) fstpl (%ecx) fstpt (%eax) @@ -153,7 +153,7 @@ fnstsw (%eax) frstor (%eax) fsave (%eax) -fsub %st(0), %st(1) +fsub %st, %st(1) fsub %st(2) fsubs (%ecx) fsubl (%eax) @@ -162,7 +162,7 @@ fsubp %st(2) fisubs (%ecx) fisubl (%eax) -fsubr %st(0), %st(1) +fsubr %st, %st(1) fsubr %st(2) fsubrs (%ecx) fsubrl (%eax) @@ -208,7 +208,7 @@ fyl2xp1 # CHECK: [1] [2] [3] [4] [5] [6] Instructions: # CHECK-NEXT: 1 100 0.33 U f2xm1 # CHECK-NEXT: 1 1 1.00 U fabs -# CHECK-NEXT: 1 3 1.00 U fadd %st(0), %st(1) +# CHECK-NEXT: 1 3 1.00 U fadd %st, %st(1) # CHECK-NEXT: 1 3 1.00 U fadd %st(2) # CHECK-NEXT: 2 10 1.00 * U fadds (%ecx) # CHECK-NEXT: 2 10 1.00 * U faddl (%ecx) @@ -220,14 +220,14 @@ fyl2xp1 # CHECK-NEXT: 1 100 0.33 U fbstp (%eax) # CHECK-NEXT: 1 1 1.00 U fchs # CHECK-NEXT: 1 100 0.33 U fnclex -# CHECK-NEXT: 3 3 2.00 U fcmovb %st(1), %st(0) -# CHECK-NEXT: 3 3 2.00 U fcmovbe %st(1), %st(0) -# CHECK-NEXT: 3 3 2.00 U fcmove %st(1), %st(0) -# CHECK-NEXT: 3 3 2.00 U fcmovnb %st(1), %st(0) -# CHECK-NEXT: 3 3 2.00 U fcmovnbe %st(1), %st(0) -# CHECK-NEXT: 3 3 2.00 U fcmovne %st(1), %st(0) -# CHECK-NEXT: 3 3 2.00 U fcmovnu %st(1), %st(0) -# CHECK-NEXT: 3 3 2.00 U fcmovu %st(1), %st(0) +# CHECK-NEXT: 3 3 2.00 U fcmovb %st(1), %st +# CHECK-NEXT: 3 3 2.00 U fcmovbe %st(1), %st +# CHECK-NEXT: 3 3 2.00 U fcmove %st(1), %st +# CHECK-NEXT: 3 3 2.00 U fcmovnb %st(1), %st +# CHECK-NEXT: 3 3 2.00 U fcmovnbe %st(1), %st +# CHECK-NEXT: 3 3 2.00 U fcmovne %st(1), %st +# CHECK-NEXT: 3 3 2.00 U fcmovnu %st(1), %st +# CHECK-NEXT: 3 3 2.00 U fcmovu %st(1), %st # CHECK-NEXT: 1 1 1.00 U fcom %st(1) # CHECK-NEXT: 1 1 1.00 U fcom %st(3) # CHECK-NEXT: 2 8 1.00 U fcoms (%ecx) @@ -241,7 +241,7 @@ fyl2xp1 # CHECK-NEXT: 3 3 1.00 U fcompi %st(3) # CHECK-NEXT: 1 100 0.33 U fcos # CHECK-NEXT: 1 1 1.00 U fdecstp -# CHECK-NEXT: 1 14 14.00 U fdiv %st(0), %st(1) +# CHECK-NEXT: 1 14 14.00 U fdiv %st, %st(1) # CHECK-NEXT: 1 14 14.00 U fdiv %st(2) # CHECK-NEXT: 2 31 1.00 * U fdivs (%ecx) # CHECK-NEXT: 2 31 1.00 * U fdivl (%eax) @@ -249,7 +249,7 @@ fyl2xp1 # CHECK-NEXT: 1 14 14.00 U fdivp %st(2) # CHECK-NEXT: 3 34 1.00 * U fidivs (%ecx) # CHECK-NEXT: 3 34 1.00 * U fidivl (%eax) -# CHECK-NEXT: 1 14 14.00 U fdivr %st(0), %st(1) +# CHECK-NEXT: 1 14 14.00 U fdivr %st, %st(1) # CHECK-NEXT: 1 14 14.00 U fdivr %st(2) # CHECK-NEXT: 2 31 1.00 * U fdivrs (%ecx) # CHECK-NEXT: 2 31 1.00 * U fdivrl (%eax) @@ -257,7 +257,7 @@ fyl2xp1 # CHECK-NEXT: 1 14 14.00 U fdivrp %st(2) # CHECK-NEXT: 3 34 1.00 * U fidivrs (%ecx) # CHECK-NEXT: 3 34 1.00 * U fidivrl (%eax) -# CHECK-NEXT: 1 1 1.00 U ffree %st(0) +# CHECK-NEXT: 1 1 1.00 U ffree %st # CHECK-NEXT: 3 11 2.00 U ficoms (%ecx) # CHECK-NEXT: 3 11 2.00 U ficoml (%eax) # CHECK-NEXT: 3 11 2.00 U ficomps (%ecx) @@ -275,7 +275,7 @@ fyl2xp1 # CHECK-NEXT: 3 5 1.00 * U fisttps (%edx) # CHECK-NEXT: 3 5 1.00 * U fisttpl (%ecx) # CHECK-NEXT: 3 5 1.00 * U fisttpll (%eax) -# CHECK-NEXT: 1 1 1.00 U fld %st(0) +# CHECK-NEXT: 1 1 1.00 U fld %st # CHECK-NEXT: 3 9 1.00 * U flds (%edx) # CHECK-NEXT: 3 9 1.00 * U fldl (%ecx) # CHECK-NEXT: 3 9 1.00 * U fldt (%eax) @@ -288,7 +288,7 @@ fyl2xp1 # CHECK-NEXT: 2 1 1.00 U fldln2 # CHECK-NEXT: 2 1 1.00 U fldpi # CHECK-NEXT: 1 1 1.00 U fldz -# CHECK-NEXT: 1 5 1.00 U fmul %st(0), %st(1) +# CHECK-NEXT: 1 5 1.00 U fmul %st, %st(1) # CHECK-NEXT: 1 5 1.00 U fmul %st(2) # CHECK-NEXT: 2 12 1.00 * U fmuls (%ecx) # CHECK-NEXT: 2 12 1.00 * U fmull (%eax) @@ -308,10 +308,10 @@ fyl2xp1 # CHECK-NEXT: 1 100 0.33 U fsin # CHECK-NEXT: 1 100 0.33 U fsincos # CHECK-NEXT: 1 24 24.00 U fsqrt -# CHECK-NEXT: 1 1 1.00 U fst %st(0) +# CHECK-NEXT: 1 1 1.00 U fst %st # CHECK-NEXT: 3 6 1.00 * U fsts (%edx) # CHECK-NEXT: 3 6 1.00 * U fstl (%ecx) -# CHECK-NEXT: 1 1 1.00 U fstp %st(0) +# CHECK-NEXT: 1 1 1.00 U fstp %st # CHECK-NEXT: 3 6 1.00 * U fstpl (%edx) # CHECK-NEXT: 3 6 1.00 * U fstpl (%ecx) # CHECK-NEXT: 3 6 1.00 * U fstpt (%eax) @@ -321,7 +321,7 @@ fyl2xp1 # CHECK-NEXT: 1 100 0.33 U frstor (%eax) # CHECK-NEXT: 1 100 0.33 U wait # CHECK-NEXT: 1 100 0.33 U fnsave (%eax) -# CHECK-NEXT: 1 3 1.00 U fsub %st(0), %st(1) +# CHECK-NEXT: 1 3 1.00 U fsub %st, %st(1) # CHECK-NEXT: 1 3 1.00 U fsub %st(2) # CHECK-NEXT: 2 10 1.00 * U fsubs (%ecx) # CHECK-NEXT: 2 10 1.00 * U fsubl (%eax) @@ -329,7 +329,7 @@ fyl2xp1 # CHECK-NEXT: 1 3 1.00 U fsubp %st(2) # CHECK-NEXT: 3 13 2.00 * U fisubs (%ecx) # CHECK-NEXT: 3 13 2.00 * U fisubl (%eax) -# CHECK-NEXT: 1 3 1.00 U fsubr %st(0), %st(1) +# CHECK-NEXT: 1 3 1.00 U fsubr %st, %st(1) # CHECK-NEXT: 1 3 1.00 U fsubr %st(2) # CHECK-NEXT: 2 10 1.00 * U fsubrs (%ecx) # CHECK-NEXT: 2 10 1.00 * U fsubrl (%eax) @@ -373,7 +373,7 @@ fyl2xp1 # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1] Instructions: # CHECK-NEXT: - - 0.33 0.33 - 0.33 - - f2xm1 # CHECK-NEXT: - - - - - 1.00 - - fabs -# CHECK-NEXT: - - - 1.00 - - - - fadd %st(0), %st(1) +# CHECK-NEXT: - - - 1.00 - - - - fadd %st, %st(1) # CHECK-NEXT: - - - 1.00 - - - - fadd %st(2) # CHECK-NEXT: - - - 1.00 - - 0.50 0.50 fadds (%ecx) # CHECK-NEXT: - - - 1.00 - - 0.50 0.50 faddl (%ecx) @@ -385,14 +385,14 @@ fyl2xp1 # CHECK-NEXT: - - 0.33 0.33 - 0.33 - - fbstp (%eax) # CHECK-NEXT: - - - - - 1.00 - - fchs # CHECK-NEXT: - - 0.33 0.33 - 0.33 - - fnclex -# CHECK-NEXT: - - 0.50 - - 2.50 - - fcmovb %st(1), %st(0) -# CHECK-NEXT: - - 0.50 - - 2.50 - - fcmovbe %st(1), %st(0) -# CHECK-NEXT: - - 0.50 - - 2.50 - - fcmove %st(1), %st(0) -# CHECK-NEXT: - - 0.50 - - 2.50 - - fcmovnb %st(1), %st(0) -# CHECK-NEXT: - - 0.50 - - 2.50 - - fcmovnbe %st(1), %st(0) -# CHECK-NEXT: - - 0.50 - - 2.50 - - fcmovne %st(1), %st(0) -# CHECK-NEXT: - - 0.50 - - 2.50 - - fcmovnu %st(1), %st(0) -# CHECK-NEXT: - - 0.50 - - 2.50 - - fcmovu %st(1), %st(0) +# CHECK-NEXT: - - 0.50 - - 2.50 - - fcmovb %st(1), %st +# CHECK-NEXT: - - 0.50 - - 2.50 - - fcmovbe %st(1), %st +# CHECK-NEXT: - - 0.50 - - 2.50 - - fcmove %st(1), %st +# CHECK-NEXT: - - 0.50 - - 2.50 - - fcmovnb %st(1), %st +# CHECK-NEXT: - - 0.50 - - 2.50 - - fcmovnbe %st(1), %st +# CHECK-NEXT: - - 0.50 - - 2.50 - - fcmovne %st(1), %st +# CHECK-NEXT: - - 0.50 - - 2.50 - - fcmovnu %st(1), %st +# CHECK-NEXT: - - 0.50 - - 2.50 - - fcmovu %st(1), %st # CHECK-NEXT: - - - 1.00 - - - - fcom %st(1) # CHECK-NEXT: - - - 1.00 - - - - fcom %st(3) # CHECK-NEXT: - - - 1.00 - - 0.50 0.50 fcoms (%ecx) @@ -406,7 +406,7 @@ fyl2xp1 # CHECK-NEXT: - - 1.00 1.00 - 1.00 - - fcompi %st(3) # CHECK-NEXT: - - 0.33 0.33 - 0.33 - - fcos # CHECK-NEXT: - - - - - 1.00 - - fdecstp -# CHECK-NEXT: - 14.00 1.00 - - - - - fdiv %st(0), %st(1) +# CHECK-NEXT: - 14.00 1.00 - - - - - fdiv %st, %st(1) # CHECK-NEXT: - 14.00 1.00 - - - - - fdiv %st(2) # CHECK-NEXT: - - 1.00 - - - 0.50 0.50 fdivs (%ecx) # CHECK-NEXT: - - 1.00 - - - 0.50 0.50 fdivl (%eax) @@ -414,7 +414,7 @@ fyl2xp1 # CHECK-NEXT: - 14.00 1.00 - - - - - fdivp %st(2) # CHECK-NEXT: - - 1.00 1.00 - - 0.50 0.50 fidivs (%ecx) # CHECK-NEXT: - - 1.00 1.00 - - 0.50 0.50 fidivl (%eax) -# CHECK-NEXT: - 14.00 1.00 - - - - - fdivr %st(0), %st(1) +# CHECK-NEXT: - 14.00 1.00 - - - - - fdivr %st, %st(1) # CHECK-NEXT: - 14.00 1.00 - - - - - fdivr %st(2) # CHECK-NEXT: - - 1.00 - - - 0.50 0.50 fdivrs (%ecx) # CHECK-NEXT: - - 1.00 - - - 0.50 0.50 fdivrl (%eax) @@ -422,7 +422,7 @@ fyl2xp1 # CHECK-NEXT: - 14.00 1.00 - - - - - fdivrp %st(2) # CHECK-NEXT: - - 1.00 1.00 - - 0.50 0.50 fidivrs (%ecx) # CHECK-NEXT: - - 1.00 1.00 - - 0.50 0.50 fidivrl (%eax) -# CHECK-NEXT: - - - - - 1.00 - - ffree %st(0) +# CHECK-NEXT: - - - - - 1.00 - - ffree %st # CHECK-NEXT: - - - 2.00 - - 0.50 0.50 ficoms (%ecx) # CHECK-NEXT: - - - 2.00 - - 0.50 0.50 ficoml (%eax) # CHECK-NEXT: - - - 2.00 - - 0.50 0.50 ficomps (%ecx) @@ -440,7 +440,7 @@ fyl2xp1 # CHECK-NEXT: - - - 1.00 1.00 - 0.50 0.50 fisttps (%edx) # CHECK-NEXT: - - - 1.00 1.00 - 0.50 0.50 fisttpl (%ecx) # CHECK-NEXT: - - - 1.00 1.00 - 0.50 0.50 fisttpll (%eax) -# CHECK-NEXT: - - - - - 1.00 - - fld %st(0) +# CHECK-NEXT: - - - - - 1.00 - - fld %st # CHECK-NEXT: - - 0.50 0.50 - 1.00 0.50 0.50 flds (%edx) # CHECK-NEXT: - - 0.50 0.50 - 1.00 0.50 0.50 fldl (%ecx) # CHECK-NEXT: - - 0.50 0.50 - 1.00 0.50 0.50 fldt (%eax) @@ -453,7 +453,7 @@ fyl2xp1 # CHECK-NEXT: - - 1.00 1.00 - - - - fldln2 # CHECK-NEXT: - - 1.00 1.00 - - - - fldpi # CHECK-NEXT: - - - - - 1.00 - - fldz -# CHECK-NEXT: - - 1.00 - - - - - fmul %st(0), %st(1) +# CHECK-NEXT: - - 1.00 - - - - - fmul %st, %st(1) # CHECK-NEXT: - - 1.00 - - - - - fmul %st(2) # CHECK-NEXT: - - 1.00 - - - 0.50 0.50 fmuls (%ecx) # CHECK-NEXT: - - 1.00 - - - 0.50 0.50 fmull (%eax) @@ -473,10 +473,10 @@ fyl2xp1 # CHECK-NEXT: - - 0.33 0.33 - 0.33 - - fsin # CHECK-NEXT: - - 0.33 0.33 - 0.33 - - fsincos # CHECK-NEXT: - 24.00 1.00 - - - - - fsqrt -# CHECK-NEXT: - - - - - 1.00 - - fst %st(0) +# CHECK-NEXT: - - - - - 1.00 - - fst %st # CHECK-NEXT: - - - - 1.00 - 1.00 1.00 fsts (%edx) # CHECK-NEXT: - - - - 1.00 - 1.00 1.00 fstl (%ecx) -# CHECK-NEXT: - - - - - 1.00 - - fstp %st(0) +# CHECK-NEXT: - - - - - 1.00 - - fstp %st # CHECK-NEXT: - - - - 1.00 - 1.00 1.00 fstpl (%edx) # CHECK-NEXT: - - - - 1.00 - 1.00 1.00 fstpl (%ecx) # CHECK-NEXT: - - - - 1.00 - 1.00 1.00 fstpt (%eax) @@ -486,7 +486,7 @@ fyl2xp1 # CHECK-NEXT: - - 0.33 0.33 - 0.33 - - frstor (%eax) # CHECK-NEXT: - - 0.33 0.33 - 0.33 - - wait # CHECK-NEXT: - - 0.33 0.33 - 0.33 - - fnsave (%eax) -# CHECK-NEXT: - - - 1.00 - - - - fsub %st(0), %st(1) +# CHECK-NEXT: - - - 1.00 - - - - fsub %st, %st(1) # CHECK-NEXT: - - - 1.00 - - - - fsub %st(2) # CHECK-NEXT: - - - 1.00 - - 0.50 0.50 fsubs (%ecx) # CHECK-NEXT: - - - 1.00 - - 0.50 0.50 fsubl (%eax) @@ -494,7 +494,7 @@ fyl2xp1 # CHECK-NEXT: - - - 1.00 - - - - fsubp %st(2) # CHECK-NEXT: - - - 2.00 - - 0.50 0.50 fisubs (%ecx) # CHECK-NEXT: - - - 2.00 - - 0.50 0.50 fisubl (%eax) -# CHECK-NEXT: - - - 1.00 - - - - fsubr %st(0), %st(1) +# CHECK-NEXT: - - - 1.00 - - - - fsubr %st, %st(1) # CHECK-NEXT: - - - 1.00 - - - - fsubr %st(2) # CHECK-NEXT: - - - 1.00 - - 0.50 0.50 fsubrs (%ecx) # CHECK-NEXT: - - - 1.00 - - 0.50 0.50 fsubrl (%eax) diff --git a/llvm/test/tools/llvm-mca/X86/Haswell/resources-x87.s b/llvm/test/tools/llvm-mca/X86/Haswell/resources-x87.s index 53006bbc329..18f3389cc0c 100644 --- a/llvm/test/tools/llvm-mca/X86/Haswell/resources-x87.s +++ b/llvm/test/tools/llvm-mca/X86/Haswell/resources-x87.s @@ -5,7 +5,7 @@ f2xm1 fabs -fadd %st(0), %st(1) +fadd %st, %st(1) fadd %st(2) fadds (%ecx) faddl (%ecx) @@ -21,14 +21,14 @@ fchs fnclex -fcmovb %st(1), %st(0) -fcmovbe %st(1), %st(0) -fcmove %st(1), %st(0) -fcmovnb %st(1), %st(0) -fcmovnbe %st(1), %st(0) -fcmovne %st(1), %st(0) -fcmovnu %st(1), %st(0) -fcmovu %st(1), %st(0) +fcmovb %st(1), %st +fcmovbe %st(1), %st +fcmove %st(1), %st +fcmovnb %st(1), %st +fcmovnbe %st(1), %st +fcmovne %st(1), %st +fcmovnu %st(1), %st +fcmovu %st(1), %st fcom %st(1) fcom %st(3) @@ -47,7 +47,7 @@ fcos fdecstp -fdiv %st(0), %st(1) +fdiv %st, %st(1) fdiv %st(2) fdivs (%ecx) fdivl (%eax) @@ -56,7 +56,7 @@ fdivp %st(2) fidivs (%ecx) fidivl (%eax) -fdivr %st(0), %st(1) +fdivr %st, %st(1) fdivr %st(2) fdivrs (%ecx) fdivrl (%eax) @@ -65,7 +65,7 @@ fdivrp %st(2) fidivrs (%ecx) fidivrl (%eax) -ffree %st(0) +ffree %st ficoms (%ecx) ficoml (%eax) @@ -90,7 +90,7 @@ fisttps (%edx) fisttpl (%ecx) fisttpll (%eax) -fld %st(0) +fld %st flds (%edx) fldl (%ecx) fldt (%eax) @@ -106,7 +106,7 @@ fldln2 fldpi fldz -fmul %st(0), %st(1) +fmul %st, %st(1) fmul %st(2) fmuls (%ecx) fmull (%eax) @@ -138,10 +138,10 @@ fsincos fsqrt -fst %st(0) +fst %st fsts (%edx) fstl (%ecx) -fstp %st(0) +fstp %st fstpl (%edx) fstpl (%ecx) fstpt (%eax) @@ -153,7 +153,7 @@ fnstsw (%eax) frstor (%eax) fsave (%eax) -fsub %st(0), %st(1) +fsub %st, %st(1) fsub %st(2) fsubs (%ecx) fsubl (%eax) @@ -162,7 +162,7 @@ fsubp %st(2) fisubs (%ecx) fisubl (%eax) -fsubr %st(0), %st(1) +fsubr %st, %st(1) fsubr %st(2) fsubrs (%ecx) fsubrl (%eax) @@ -208,7 +208,7 @@ fyl2xp1 # CHECK: [1] [2] [3] [4] [5] [6] Instructions: # CHECK-NEXT: 1 100 0.25 U f2xm1 # CHECK-NEXT: 1 1 1.00 U fabs -# CHECK-NEXT: 1 3 1.00 U fadd %st(0), %st(1) +# CHECK-NEXT: 1 3 1.00 U fadd %st, %st(1) # CHECK-NEXT: 1 3 1.00 U fadd %st(2) # CHECK-NEXT: 2 10 1.00 * U fadds (%ecx) # CHECK-NEXT: 2 10 1.00 * U faddl (%ecx) @@ -220,14 +220,14 @@ fyl2xp1 # CHECK-NEXT: 2 1 1.00 U fbstp (%eax) # CHECK-NEXT: 1 1 1.00 U fchs # CHECK-NEXT: 4 4 1.00 U fnclex -# CHECK-NEXT: 1 3 1.00 U fcmovb %st(1), %st(0) -# CHECK-NEXT: 1 3 1.00 U fcmovbe %st(1), %st(0) -# CHECK-NEXT: 1 3 1.00 U fcmove %st(1), %st(0) -# CHECK-NEXT: 1 3 1.00 U fcmovnb %st(1), %st(0) -# CHECK-NEXT: 1 3 1.00 U fcmovnbe %st(1), %st(0) -# CHECK-NEXT: 1 3 1.00 U fcmovne %st(1), %st(0) -# CHECK-NEXT: 1 3 1.00 U fcmovnu %st(1), %st(0) -# CHECK-NEXT: 1 3 1.00 U fcmovu %st(1), %st(0) +# CHECK-NEXT: 1 3 1.00 U fcmovb %st(1), %st +# CHECK-NEXT: 1 3 1.00 U fcmovbe %st(1), %st +# CHECK-NEXT: 1 3 1.00 U fcmove %st(1), %st +# CHECK-NEXT: 1 3 1.00 U fcmovnb %st(1), %st +# CHECK-NEXT: 1 3 1.00 U fcmovnbe %st(1), %st +# CHECK-NEXT: 1 3 1.00 U fcmovne %st(1), %st +# CHECK-NEXT: 1 3 1.00 U fcmovnu %st(1), %st +# CHECK-NEXT: 1 3 1.00 U fcmovu %st(1), %st # CHECK-NEXT: 1 1 1.00 U fcom %st(1) # CHECK-NEXT: 1 1 1.00 U fcom %st(3) # CHECK-NEXT: 2 8 1.00 U fcoms (%ecx) @@ -241,7 +241,7 @@ fyl2xp1 # CHECK-NEXT: 3 1 0.50 U fcompi %st(3) # CHECK-NEXT: 1 100 0.25 U fcos # CHECK-NEXT: 2 2 1.00 U fdecstp -# CHECK-NEXT: 1 24 1.00 U fdiv %st(0), %st(1) +# CHECK-NEXT: 1 24 1.00 U fdiv %st, %st(1) # CHECK-NEXT: 1 20 1.00 U fdiv %st(2) # CHECK-NEXT: 2 31 1.00 * U fdivs (%ecx) # CHECK-NEXT: 2 31 1.00 * U fdivl (%eax) @@ -249,7 +249,7 @@ fyl2xp1 # CHECK-NEXT: 1 24 1.00 U fdivp %st(2) # CHECK-NEXT: 3 34 1.00 * U fidivs (%ecx) # CHECK-NEXT: 3 34 1.00 * U fidivl (%eax) -# CHECK-NEXT: 1 20 1.00 U fdivr %st(0), %st(1) +# CHECK-NEXT: 1 20 1.00 U fdivr %st, %st(1) # CHECK-NEXT: 1 24 1.00 U fdivr %st(2) # CHECK-NEXT: 2 27 1.00 * U fdivrs (%ecx) # CHECK-NEXT: 2 27 1.00 * U fdivrl (%eax) @@ -257,7 +257,7 @@ fyl2xp1 # CHECK-NEXT: 1 20 1.00 U fdivrp %st(2) # CHECK-NEXT: 3 30 1.00 * U fidivrs (%ecx) # CHECK-NEXT: 3 30 1.00 * U fidivrl (%eax) -# CHECK-NEXT: 1 1 0.50 U ffree %st(0) +# CHECK-NEXT: 1 1 0.50 U ffree %st # CHECK-NEXT: 3 11 2.00 U ficoms (%ecx) # CHECK-NEXT: 3 11 2.00 U ficoml (%eax) # CHECK-NEXT: 3 11 2.00 U ficomps (%ecx) @@ -275,7 +275,7 @@ fyl2xp1 # CHECK-NEXT: 3 4 1.00 * U fisttps (%edx) # CHECK-NEXT: 3 4 1.00 * U fisttpl (%ecx) # CHECK-NEXT: 3 4 1.00 * U fisttpll (%eax) -# CHECK-NEXT: 1 1 0.50 U fld %st(0) +# CHECK-NEXT: 1 1 0.50 U fld %st # CHECK-NEXT: 1 7 0.50 * U flds (%edx) # CHECK-NEXT: 1 7 0.50 * U fldl (%ecx) # CHECK-NEXT: 1 7 0.50 * U fldt (%eax) @@ -288,7 +288,7 @@ fyl2xp1 # CHECK-NEXT: 2 1 1.00 U fldln2 # CHECK-NEXT: 2 1 1.00 U fldpi # CHECK-NEXT: 1 1 0.50 U fldz -# CHECK-NEXT: 1 5 1.00 U fmul %st(0), %st(1) +# CHECK-NEXT: 1 5 1.00 U fmul %st, %st(1) # CHECK-NEXT: 1 5 1.00 U fmul %st(2) # CHECK-NEXT: 2 12 1.00 * U fmuls (%ecx) # CHECK-NEXT: 2 12 1.00 * U fmull (%eax) @@ -308,10 +308,10 @@ fyl2xp1 # CHECK-NEXT: 1 100 0.25 U fsin # CHECK-NEXT: 1 100 0.25 U fsincos # CHECK-NEXT: 1 23 17.00 U fsqrt -# CHECK-NEXT: 1 1 0.50 U fst %st(0) +# CHECK-NEXT: 1 1 0.50 U fst %st # CHECK-NEXT: 1 1 1.00 * U fsts (%edx) # CHECK-NEXT: 1 1 1.00 * U fstl (%ecx) -# CHECK-NEXT: 1 1 0.50 U fstp %st(0) +# CHECK-NEXT: 1 1 0.50 U fstp %st # CHECK-NEXT: 2 1 1.00 * U fstpl (%edx) # CHECK-NEXT: 2 1 1.00 * U fstpl (%ecx) # CHECK-NEXT: 2 1 1.00 * U fstpt (%eax) @@ -321,7 +321,7 @@ fyl2xp1 # CHECK-NEXT: 90 1 22.50 U frstor (%eax) # CHECK-NEXT: 2 2 0.50 U wait # CHECK-NEXT: 147 1 36.75 U fnsave (%eax) -# CHECK-NEXT: 1 3 1.00 U fsub %st(0), %st(1) +# CHECK-NEXT: 1 3 1.00 U fsub %st, %st(1) # CHECK-NEXT: 1 3 1.00 U fsub %st(2) # CHECK-NEXT: 2 10 1.00 * U fsubs (%ecx) # CHECK-NEXT: 2 10 1.00 * U fsubl (%eax) @@ -329,7 +329,7 @@ fyl2xp1 # CHECK-NEXT: 1 3 1.00 U fsubp %st(2) # CHECK-NEXT: 3 13 2.00 * U fisubs (%ecx) # CHECK-NEXT: 3 13 2.00 * U fisubl (%eax) -# CHECK-NEXT: 1 3 1.00 U fsubr %st(0), %st(1) +# CHECK-NEXT: 1 3 1.00 U fsubr %st, %st(1) # CHECK-NEXT: 1 3 1.00 U fsubr %st(2) # CHECK-NEXT: 2 10 1.00 * U fsubrs (%ecx) # CHECK-NEXT: 2 10 1.00 * U fsubrl (%eax) @@ -375,7 +375,7 @@ fyl2xp1 # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions: # CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - f2xm1 # CHECK-NEXT: - - 1.00 - - - - - - - fabs -# CHECK-NEXT: - - - 1.00 - - - - - - fadd %st(0), %st(1) +# CHECK-NEXT: - - - 1.00 - - - - - - fadd %st, %st(1) # CHECK-NEXT: - - - 1.00 - - - - - - fadd %st(2) # CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - fadds (%ecx) # CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - faddl (%ecx) @@ -387,14 +387,14 @@ fyl2xp1 # CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 fbstp (%eax) # CHECK-NEXT: - - 1.00 - - - - - - - fchs # CHECK-NEXT: - - 1.00 1.00 - - - 1.00 1.00 - fnclex -# CHECK-NEXT: - - - 1.00 - - - - - - fcmovb %st(1), %st(0) -# CHECK-NEXT: - - - 1.00 - - - - - - fcmovbe %st(1), %st(0) -# CHECK-NEXT: - - - 1.00 - - - - - - fcmove %st(1), %st(0) -# CHECK-NEXT: - - - 1.00 - - - - - - fcmovnb %st(1), %st(0) -# CHECK-NEXT: - - - 1.00 - - - - - - fcmovnbe %st(1), %st(0) -# CHECK-NEXT: - - - 1.00 - - - - - - fcmovne %st(1), %st(0) -# CHECK-NEXT: - - - 1.00 - - - - - - fcmovnu %st(1), %st(0) -# CHECK-NEXT: - - - 1.00 - - - - - - fcmovu %st(1), %st(0) +# CHECK-NEXT: - - - 1.00 - - - - - - fcmovb %st(1), %st +# CHECK-NEXT: - - - 1.00 - - - - - - fcmovbe %st(1), %st +# CHECK-NEXT: - - - 1.00 - - - - - - fcmove %st(1), %st +# CHECK-NEXT: - - - 1.00 - - - - - - fcmovnb %st(1), %st +# CHECK-NEXT: - - - 1.00 - - - - - - fcmovnbe %st(1), %st +# CHECK-NEXT: - - - 1.00 - - - - - - fcmovne %st(1), %st +# CHECK-NEXT: - - - 1.00 - - - - - - fcmovnu %st(1), %st +# CHECK-NEXT: - - - 1.00 - - - - - - fcmovu %st(1), %st # CHECK-NEXT: - - - 1.00 - - - - - - fcom %st(1) # CHECK-NEXT: - - - 1.00 - - - - - - fcom %st(3) # CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - fcoms (%ecx) @@ -408,7 +408,7 @@ fyl2xp1 # CHECK-NEXT: - - 0.50 0.50 - - - - - - fcompi %st(3) # CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fcos # CHECK-NEXT: - - 1.00 1.00 - - - - - - fdecstp -# CHECK-NEXT: - - 1.00 - - - - - - - fdiv %st(0), %st(1) +# CHECK-NEXT: - - 1.00 - - - - - - - fdiv %st, %st(1) # CHECK-NEXT: - - 1.00 - - - - - - - fdiv %st(2) # CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - fdivs (%ecx) # CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - fdivl (%eax) @@ -416,7 +416,7 @@ fyl2xp1 # CHECK-NEXT: - - 1.00 - - - - - - - fdivp %st(2) # CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - fidivs (%ecx) # CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - fidivl (%eax) -# CHECK-NEXT: - - 1.00 - - - - - - - fdivr %st(0), %st(1) +# CHECK-NEXT: - - 1.00 - - - - - - - fdivr %st, %st(1) # CHECK-NEXT: - - 1.00 - - - - - - - fdivr %st(2) # CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - fdivrs (%ecx) # CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - fdivrl (%eax) @@ -424,7 +424,7 @@ fyl2xp1 # CHECK-NEXT: - - 1.00 - - - - - - - fdivrp %st(2) # CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - fidivrs (%ecx) # CHECK-NEXT: - - 1.00 1.00 0.50 0.50 - - - - fidivrl (%eax) -# CHECK-NEXT: - - 0.50 0.50 - - - - - - ffree %st(0) +# CHECK-NEXT: - - 0.50 0.50 - - - - - - ffree %st # CHECK-NEXT: - - - 2.00 0.50 0.50 - - - - ficoms (%ecx) # CHECK-NEXT: - - - 2.00 0.50 0.50 - - - - ficoml (%eax) # CHECK-NEXT: - - - 2.00 0.50 0.50 - - - - ficomps (%ecx) @@ -442,7 +442,7 @@ fyl2xp1 # CHECK-NEXT: - - - 1.00 0.33 0.33 1.00 - - 0.33 fisttps (%edx) # CHECK-NEXT: - - - 1.00 0.33 0.33 1.00 - - 0.33 fisttpl (%ecx) # CHECK-NEXT: - - - 1.00 0.33 0.33 1.00 - - 0.33 fisttpll (%eax) -# CHECK-NEXT: - - 0.50 0.50 - - - - - - fld %st(0) +# CHECK-NEXT: - - 0.50 0.50 - - - - - - fld %st # CHECK-NEXT: - - - - 0.50 0.50 - - - - flds (%edx) # CHECK-NEXT: - - - - 0.50 0.50 - - - - fldl (%ecx) # CHECK-NEXT: - - - - 0.50 0.50 - - - - fldt (%eax) @@ -455,7 +455,7 @@ fyl2xp1 # CHECK-NEXT: - - 1.00 1.00 - - - - - - fldln2 # CHECK-NEXT: - - 1.00 1.00 - - - - - - fldpi # CHECK-NEXT: - - 0.50 0.50 - - - - - - fldz -# CHECK-NEXT: - - 1.00 - - - - - - - fmul %st(0), %st(1) +# CHECK-NEXT: - - 1.00 - - - - - - - fmul %st, %st(1) # CHECK-NEXT: - - 1.00 - - - - - - - fmul %st(2) # CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - fmuls (%ecx) # CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - fmull (%eax) @@ -475,10 +475,10 @@ fyl2xp1 # CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fsin # CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fsincos # CHECK-NEXT: - 17.00 1.00 - - - - - - - fsqrt -# CHECK-NEXT: - - 0.50 0.50 - - - - - - fst %st(0) +# CHECK-NEXT: - - 0.50 0.50 - - - - - - fst %st # CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 fsts (%edx) # CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 fstl (%ecx) -# CHECK-NEXT: - - 0.50 0.50 - - - - - - fstp %st(0) +# CHECK-NEXT: - - 0.50 0.50 - - - - - - fstp %st # CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 fstpl (%edx) # CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 fstpl (%ecx) # CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 fstpt (%eax) @@ -488,7 +488,7 @@ fyl2xp1 # CHECK-NEXT: - - - - - - - - - - frstor (%eax) # CHECK-NEXT: - - 0.50 0.50 - - - 0.50 0.50 - wait # CHECK-NEXT: - - - - - - - - - - fnsave (%eax) -# CHECK-NEXT: - - - 1.00 - - - - - - fsub %st(0), %st(1) +# CHECK-NEXT: - - - 1.00 - - - - - - fsub %st, %st(1) # CHECK-NEXT: - - - 1.00 - - - - - - fsub %st(2) # CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - fsubs (%ecx) # CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - fsubl (%eax) @@ -496,7 +496,7 @@ fyl2xp1 # CHECK-NEXT: - - - 1.00 - - - - - - fsubp %st(2) # CHECK-NEXT: - - - 2.00 0.50 0.50 - - - - fisubs (%ecx) # CHECK-NEXT: - - - 2.00 0.50 0.50 - - - - fisubl (%eax) -# CHECK-NEXT: - - - 1.00 - - - - - - fsubr %st(0), %st(1) +# CHECK-NEXT: - - - 1.00 - - - - - - fsubr %st, %st(1) # CHECK-NEXT: - - - 1.00 - - - - - - fsubr %st(2) # CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - fsubrs (%ecx) # CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - fsubrl (%eax) diff --git a/llvm/test/tools/llvm-mca/X86/SLM/resources-x87.s b/llvm/test/tools/llvm-mca/X86/SLM/resources-x87.s index fe5de61296f..3d3b2f3a1bf 100644 --- a/llvm/test/tools/llvm-mca/X86/SLM/resources-x87.s +++ b/llvm/test/tools/llvm-mca/X86/SLM/resources-x87.s @@ -5,7 +5,7 @@ f2xm1 fabs -fadd %st(0), %st(1) +fadd %st, %st(1) fadd %st(2) fadds (%ecx) faddl (%ecx) @@ -21,14 +21,14 @@ fchs fnclex -fcmovb %st(1), %st(0) -fcmovbe %st(1), %st(0) -fcmove %st(1), %st(0) -fcmovnb %st(1), %st(0) -fcmovnbe %st(1), %st(0) -fcmovne %st(1), %st(0) -fcmovnu %st(1), %st(0) -fcmovu %st(1), %st(0) +fcmovb %st(1), %st +fcmovbe %st(1), %st +fcmove %st(1), %st +fcmovnb %st(1), %st +fcmovnbe %st(1), %st +fcmovne %st(1), %st +fcmovnu %st(1), %st +fcmovu %st(1), %st fcom %st(1) fcom %st(3) @@ -47,7 +47,7 @@ fcos fdecstp -fdiv %st(0), %st(1) +fdiv %st, %st(1) fdiv %st(2) fdivs (%ecx) fdivl (%eax) @@ -56,7 +56,7 @@ fdivp %st(2) fidivs (%ecx) fidivl (%eax) -fdivr %st(0), %st(1) +fdivr %st, %st(1) fdivr %st(2) fdivrs (%ecx) fdivrl (%eax) @@ -65,7 +65,7 @@ fdivrp %st(2) fidivrs (%ecx) fidivrl (%eax) -ffree %st(0) +ffree %st ficoms (%ecx) ficoml (%eax) @@ -90,7 +90,7 @@ fisttps (%edx) fisttpl (%ecx) fisttpll (%eax) -fld %st(0) +fld %st flds (%edx) fldl (%ecx) fldt (%eax) @@ -106,7 +106,7 @@ fldln2 fldpi fldz -fmul %st(0), %st(1) +fmul %st, %st(1) fmul %st(2) fmuls (%ecx) fmull (%eax) @@ -138,10 +138,10 @@ fsincos fsqrt -fst %st(0) +fst %st fsts (%edx) fstl (%ecx) -fstp %st(0) +fstp %st fstpl (%edx) fstpl (%ecx) fstpt (%eax) @@ -153,7 +153,7 @@ fnstsw (%eax) frstor (%eax) fsave (%eax) -fsub %st(0), %st(1) +fsub %st, %st(1) fsub %st(2) fsubs (%ecx) fsubl (%eax) @@ -162,7 +162,7 @@ fsubp %st(2) fisubs (%ecx) fisubl (%eax) -fsubr %st(0), %st(1) +fsubr %st, %st(1) fsubr %st(2) fsubrs (%ecx) fsubrl (%eax) @@ -208,7 +208,7 @@ fyl2xp1 # CHECK: [1] [2] [3] [4] [5] [6] Instructions: # CHECK-NEXT: 1 100 1.00 U f2xm1 # CHECK-NEXT: 1 1 0.50 U fabs -# CHECK-NEXT: 1 3 1.00 U fadd %st(0), %st(1) +# CHECK-NEXT: 1 3 1.00 U fadd %st, %st(1) # CHECK-NEXT: 1 3 1.00 U fadd %st(2) # CHECK-NEXT: 1 6 1.00 * U fadds (%ecx) # CHECK-NEXT: 1 6 1.00 * U faddl (%ecx) @@ -220,14 +220,14 @@ fyl2xp1 # CHECK-NEXT: 1 100 1.00 U fbstp (%eax) # CHECK-NEXT: 1 1 0.50 U fchs # CHECK-NEXT: 1 100 1.00 U fnclex -# CHECK-NEXT: 1 3 1.00 U fcmovb %st(1), %st(0) -# CHECK-NEXT: 1 3 1.00 U fcmovbe %st(1), %st(0) -# CHECK-NEXT: 1 3 1.00 U fcmove %st(1), %st(0) -# CHECK-NEXT: 1 3 1.00 U fcmovnb %st(1), %st(0) -# CHECK-NEXT: 1 3 1.00 U fcmovnbe %st(1), %st(0) -# CHECK-NEXT: 1 3 1.00 U fcmovne %st(1), %st(0) -# CHECK-NEXT: 1 3 1.00 U fcmovnu %st(1), %st(0) -# CHECK-NEXT: 1 3 1.00 U fcmovu %st(1), %st(0) +# CHECK-NEXT: 1 3 1.00 U fcmovb %st(1), %st +# CHECK-NEXT: 1 3 1.00 U fcmovbe %st(1), %st +# CHECK-NEXT: 1 3 1.00 U fcmove %st(1), %st +# CHECK-NEXT: 1 3 1.00 U fcmovnb %st(1), %st +# CHECK-NEXT: 1 3 1.00 U fcmovnbe %st(1), %st +# CHECK-NEXT: 1 3 1.00 U fcmovne %st(1), %st +# CHECK-NEXT: 1 3 1.00 U fcmovnu %st(1), %st +# CHECK-NEXT: 1 3 1.00 U fcmovu %st(1), %st # CHECK-NEXT: 1 3 1.00 U fcom %st(1) # CHECK-NEXT: 1 3 1.00 U fcom %st(3) # CHECK-NEXT: 1 6 1.00 U fcoms (%ecx) @@ -241,7 +241,7 @@ fyl2xp1 # CHECK-NEXT: 1 3 1.00 U fcompi %st(3) # CHECK-NEXT: 1 100 1.00 U fcos # CHECK-NEXT: 1 100 1.00 U fdecstp -# CHECK-NEXT: 1 19 17.00 U fdiv %st(0), %st(1) +# CHECK-NEXT: 1 19 17.00 U fdiv %st, %st(1) # CHECK-NEXT: 1 19 17.00 U fdiv %st(2) # CHECK-NEXT: 1 22 17.00 * U fdivs (%ecx) # CHECK-NEXT: 1 22 17.00 * U fdivl (%eax) @@ -249,7 +249,7 @@ fyl2xp1 # CHECK-NEXT: 1 19 17.00 U fdivp %st(2) # CHECK-NEXT: 1 22 17.00 * U fidivs (%ecx) # CHECK-NEXT: 1 22 17.00 * U fidivl (%eax) -# CHECK-NEXT: 1 19 17.00 U fdivr %st(0), %st(1) +# CHECK-NEXT: 1 19 17.00 U fdivr %st, %st(1) # CHECK-NEXT: 1 19 17.00 U fdivr %st(2) # CHECK-NEXT: 1 22 17.00 * U fdivrs (%ecx) # CHECK-NEXT: 1 22 17.00 * U fdivrl (%eax) @@ -257,7 +257,7 @@ fyl2xp1 # CHECK-NEXT: 1 19 17.00 U fdivrp %st(2) # CHECK-NEXT: 1 22 17.00 * U fidivrs (%ecx) # CHECK-NEXT: 1 22 17.00 * U fidivrl (%eax) -# CHECK-NEXT: 1 100 1.00 U ffree %st(0) +# CHECK-NEXT: 1 100 1.00 U ffree %st # CHECK-NEXT: 1 6 1.00 U ficoms (%ecx) # CHECK-NEXT: 1 6 1.00 U ficoml (%eax) # CHECK-NEXT: 1 6 1.00 U ficomps (%ecx) @@ -275,7 +275,7 @@ fyl2xp1 # CHECK-NEXT: 1 1 1.00 * U fisttps (%edx) # CHECK-NEXT: 1 1 1.00 * U fisttpl (%ecx) # CHECK-NEXT: 1 1 1.00 * U fisttpll (%eax) -# CHECK-NEXT: 1 1 0.50 U fld %st(0) +# CHECK-NEXT: 1 1 0.50 U fld %st # CHECK-NEXT: 1 3 1.00 * U flds (%edx) # CHECK-NEXT: 1 3 1.00 * U fldl (%ecx) # CHECK-NEXT: 1 3 1.00 * U fldt (%eax) @@ -288,7 +288,7 @@ fyl2xp1 # CHECK-NEXT: 2 1 1.00 U fldln2 # CHECK-NEXT: 2 1 1.00 U fldpi # CHECK-NEXT: 1 1 0.50 U fldz -# CHECK-NEXT: 1 5 2.00 U fmul %st(0), %st(1) +# CHECK-NEXT: 1 5 2.00 U fmul %st, %st(1) # CHECK-NEXT: 1 5 2.00 U fmul %st(2) # CHECK-NEXT: 1 8 2.00 * U fmuls (%ecx) # CHECK-NEXT: 1 8 2.00 * U fmull (%eax) @@ -308,10 +308,10 @@ fyl2xp1 # CHECK-NEXT: 1 100 1.00 U fsin # CHECK-NEXT: 1 100 1.00 U fsincos # CHECK-NEXT: 1 40 40.00 U fsqrt -# CHECK-NEXT: 1 1 0.50 U fst %st(0) +# CHECK-NEXT: 1 1 0.50 U fst %st # CHECK-NEXT: 1 1 1.00 * U fsts (%edx) # CHECK-NEXT: 1 1 1.00 * U fstl (%ecx) -# CHECK-NEXT: 1 1 0.50 U fstp %st(0) +# CHECK-NEXT: 1 1 0.50 U fstp %st # CHECK-NEXT: 1 1 1.00 * U fstpl (%edx) # CHECK-NEXT: 1 1 1.00 * U fstpl (%ecx) # CHECK-NEXT: 1 1 1.00 * U fstpt (%eax) @@ -321,7 +321,7 @@ fyl2xp1 # CHECK-NEXT: 1 100 1.00 U frstor (%eax) # CHECK-NEXT: 1 100 1.00 U wait # CHECK-NEXT: 1 100 1.00 U fnsave (%eax) -# CHECK-NEXT: 1 3 1.00 U fsub %st(0), %st(1) +# CHECK-NEXT: 1 3 1.00 U fsub %st, %st(1) # CHECK-NEXT: 1 3 1.00 U fsub %st(2) # CHECK-NEXT: 1 6 1.00 * U fsubs (%ecx) # CHECK-NEXT: 1 6 1.00 * U fsubl (%eax) @@ -329,7 +329,7 @@ fyl2xp1 # CHECK-NEXT: 1 3 1.00 U fsubp %st(2) # CHECK-NEXT: 1 6 1.00 * U fisubs (%ecx) # CHECK-NEXT: 1 6 1.00 * U fisubl (%eax) -# CHECK-NEXT: 1 3 1.00 U fsubr %st(0), %st(1) +# CHECK-NEXT: 1 3 1.00 U fsubr %st, %st(1) # CHECK-NEXT: 1 3 1.00 U fsubr %st(2) # CHECK-NEXT: 1 6 1.00 * U fsubrs (%ecx) # CHECK-NEXT: 1 6 1.00 * U fsubrl (%eax) @@ -373,7 +373,7 @@ fyl2xp1 # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] Instructions: # CHECK-NEXT: - - - 1.00 - - - - f2xm1 # CHECK-NEXT: - - - 0.50 0.50 - - - fabs -# CHECK-NEXT: - - - - 1.00 - - - fadd %st(0), %st(1) +# CHECK-NEXT: - - - - 1.00 - - - fadd %st, %st(1) # CHECK-NEXT: - - - - 1.00 - - - fadd %st(2) # CHECK-NEXT: - - - - 1.00 - - 1.00 fadds (%ecx) # CHECK-NEXT: - - - - 1.00 - - 1.00 faddl (%ecx) @@ -385,14 +385,14 @@ fyl2xp1 # CHECK-NEXT: - - - 1.00 - - - - fbstp (%eax) # CHECK-NEXT: - - - 0.50 0.50 - - - fchs # CHECK-NEXT: - - - 1.00 - - - - fnclex -# CHECK-NEXT: - - - - 1.00 - - - fcmovb %st(1), %st(0) -# CHECK-NEXT: - - - - 1.00 - - - fcmovbe %st(1), %st(0) -# CHECK-NEXT: - - - - 1.00 - - - fcmove %st(1), %st(0) -# CHECK-NEXT: - - - - 1.00 - - - fcmovnb %st(1), %st(0) -# CHECK-NEXT: - - - - 1.00 - - - fcmovnbe %st(1), %st(0) -# CHECK-NEXT: - - - - 1.00 - - - fcmovne %st(1), %st(0) -# CHECK-NEXT: - - - - 1.00 - - - fcmovnu %st(1), %st(0) -# CHECK-NEXT: - - - - 1.00 - - - fcmovu %st(1), %st(0) +# CHECK-NEXT: - - - - 1.00 - - - fcmovb %st(1), %st +# CHECK-NEXT: - - - - 1.00 - - - fcmovbe %st(1), %st +# CHECK-NEXT: - - - - 1.00 - - - fcmove %st(1), %st +# CHECK-NEXT: - - - - 1.00 - - - fcmovnb %st(1), %st +# CHECK-NEXT: - - - - 1.00 - - - fcmovnbe %st(1), %st +# CHECK-NEXT: - - - - 1.00 - - - fcmovne %st(1), %st +# CHECK-NEXT: - - - - 1.00 - - - fcmovnu %st(1), %st +# CHECK-NEXT: - - - - 1.00 - - - fcmovu %st(1), %st # CHECK-NEXT: - - - - 1.00 - - - fcom %st(1) # CHECK-NEXT: - - - - 1.00 - - - fcom %st(3) # CHECK-NEXT: - - - - 1.00 - - 1.00 fcoms (%ecx) @@ -406,7 +406,7 @@ fyl2xp1 # CHECK-NEXT: - - - - 1.00 - - - fcompi %st(3) # CHECK-NEXT: - - - 1.00 - - - - fcos # CHECK-NEXT: - - - 1.00 - - - - fdecstp -# CHECK-NEXT: - 17.00 - 1.00 - - - - fdiv %st(0), %st(1) +# CHECK-NEXT: - 17.00 - 1.00 - - - - fdiv %st, %st(1) # CHECK-NEXT: - 17.00 - 1.00 - - - - fdiv %st(2) # CHECK-NEXT: - 17.00 - 1.00 - - - 1.00 fdivs (%ecx) # CHECK-NEXT: - 17.00 - 1.00 - - - 1.00 fdivl (%eax) @@ -414,7 +414,7 @@ fyl2xp1 # CHECK-NEXT: - 17.00 - 1.00 - - - - fdivp %st(2) # CHECK-NEXT: - 17.00 - 1.00 - - - 1.00 fidivs (%ecx) # CHECK-NEXT: - 17.00 - 1.00 - - - 1.00 fidivl (%eax) -# CHECK-NEXT: - 17.00 - 1.00 - - - - fdivr %st(0), %st(1) +# CHECK-NEXT: - 17.00 - 1.00 - - - - fdivr %st, %st(1) # CHECK-NEXT: - 17.00 - 1.00 - - - - fdivr %st(2) # CHECK-NEXT: - 17.00 - 1.00 - - - 1.00 fdivrs (%ecx) # CHECK-NEXT: - 17.00 - 1.00 - - - 1.00 fdivrl (%eax) @@ -422,7 +422,7 @@ fyl2xp1 # CHECK-NEXT: - 17.00 - 1.00 - - - - fdivrp %st(2) # CHECK-NEXT: - 17.00 - 1.00 - - - 1.00 fidivrs (%ecx) # CHECK-NEXT: - 17.00 - 1.00 - - - 1.00 fidivrl (%eax) -# CHECK-NEXT: - - - 1.00 - - - - ffree %st(0) +# CHECK-NEXT: - - - 1.00 - - - - ffree %st # CHECK-NEXT: - - - - 1.00 - - 1.00 ficoms (%ecx) # CHECK-NEXT: - - - - 1.00 - - 1.00 ficoml (%eax) # CHECK-NEXT: - - - - 1.00 - - 1.00 ficomps (%ecx) @@ -440,7 +440,7 @@ fyl2xp1 # CHECK-NEXT: - - - - - 0.50 0.50 1.00 fisttps (%edx) # CHECK-NEXT: - - - - - 0.50 0.50 1.00 fisttpl (%ecx) # CHECK-NEXT: - - - - - 0.50 0.50 1.00 fisttpll (%eax) -# CHECK-NEXT: - - - - - 0.50 0.50 - fld %st(0) +# CHECK-NEXT: - - - - - 0.50 0.50 - fld %st # CHECK-NEXT: - - - - - - - 1.00 flds (%edx) # CHECK-NEXT: - - - - - - - 1.00 fldl (%ecx) # CHECK-NEXT: - - - - - - - 1.00 fldt (%eax) @@ -453,7 +453,7 @@ fyl2xp1 # CHECK-NEXT: - - - 1.00 1.00 - - - fldln2 # CHECK-NEXT: - - - 1.00 1.00 - - - fldpi # CHECK-NEXT: - - - 0.50 0.50 - - - fldz -# CHECK-NEXT: - - 2.00 1.00 - - - - fmul %st(0), %st(1) +# CHECK-NEXT: - - 2.00 1.00 - - - - fmul %st, %st(1) # CHECK-NEXT: - - 2.00 1.00 - - - - fmul %st(2) # CHECK-NEXT: - - 2.00 1.00 - - - 1.00 fmuls (%ecx) # CHECK-NEXT: - - 2.00 1.00 - - - 1.00 fmull (%eax) @@ -473,10 +473,10 @@ fyl2xp1 # CHECK-NEXT: - - - 1.00 - - - - fsin # CHECK-NEXT: - - - 1.00 - - - - fsincos # CHECK-NEXT: - 40.00 - 1.00 - - - - fsqrt -# CHECK-NEXT: - - - - - 0.50 0.50 - fst %st(0) +# CHECK-NEXT: - - - - - 0.50 0.50 - fst %st # CHECK-NEXT: - - - - - 0.50 0.50 1.00 fsts (%edx) # CHECK-NEXT: - - - - - 0.50 0.50 1.00 fstl (%ecx) -# CHECK-NEXT: - - - - - 0.50 0.50 - fstp %st(0) +# CHECK-NEXT: - - - - - 0.50 0.50 - fstp %st # CHECK-NEXT: - - - - - 0.50 0.50 1.00 fstpl (%edx) # CHECK-NEXT: - - - - - 0.50 0.50 1.00 fstpl (%ecx) # CHECK-NEXT: - - - - - 0.50 0.50 1.00 fstpt (%eax) @@ -486,7 +486,7 @@ fyl2xp1 # CHECK-NEXT: - - - 1.00 - - - - frstor (%eax) # CHECK-NEXT: - - - 1.00 - - - - wait # CHECK-NEXT: - - - 1.00 - - - - fnsave (%eax) -# CHECK-NEXT: - - - - 1.00 - - - fsub %st(0), %st(1) +# CHECK-NEXT: - - - - 1.00 - - - fsub %st, %st(1) # CHECK-NEXT: - - - - 1.00 - - - fsub %st(2) # CHECK-NEXT: - - - - 1.00 - - 1.00 fsubs (%ecx) # CHECK-NEXT: - - - - 1.00 - - 1.00 fsubl (%eax) @@ -494,7 +494,7 @@ fyl2xp1 # CHECK-NEXT: - - - - 1.00 - - - fsubp %st(2) # CHECK-NEXT: - - - - 1.00 - - 1.00 fisubs (%ecx) # CHECK-NEXT: - - - - 1.00 - - 1.00 fisubl (%eax) -# CHECK-NEXT: - - - - 1.00 - - - fsubr %st(0), %st(1) +# CHECK-NEXT: - - - - 1.00 - - - fsubr %st, %st(1) # CHECK-NEXT: - - - - 1.00 - - - fsubr %st(2) # CHECK-NEXT: - - - - 1.00 - - 1.00 fsubrs (%ecx) # CHECK-NEXT: - - - - 1.00 - - 1.00 fsubrl (%eax) diff --git a/llvm/test/tools/llvm-mca/X86/SandyBridge/resources-x87.s b/llvm/test/tools/llvm-mca/X86/SandyBridge/resources-x87.s index 332f365f1fd..cc4269e7760 100644 --- a/llvm/test/tools/llvm-mca/X86/SandyBridge/resources-x87.s +++ b/llvm/test/tools/llvm-mca/X86/SandyBridge/resources-x87.s @@ -5,7 +5,7 @@ f2xm1 fabs -fadd %st(0), %st(1) +fadd %st, %st(1) fadd %st(2) fadds (%ecx) faddl (%ecx) @@ -21,14 +21,14 @@ fchs fnclex -fcmovb %st(1), %st(0) -fcmovbe %st(1), %st(0) -fcmove %st(1), %st(0) -fcmovnb %st(1), %st(0) -fcmovnbe %st(1), %st(0) -fcmovne %st(1), %st(0) -fcmovnu %st(1), %st(0) -fcmovu %st(1), %st(0) +fcmovb %st(1), %st +fcmovbe %st(1), %st +fcmove %st(1), %st +fcmovnb %st(1), %st +fcmovnbe %st(1), %st +fcmovne %st(1), %st +fcmovnu %st(1), %st +fcmovu %st(1), %st fcom %st(1) fcom %st(3) @@ -47,7 +47,7 @@ fcos fdecstp -fdiv %st(0), %st(1) +fdiv %st, %st(1) fdiv %st(2) fdivs (%ecx) fdivl (%eax) @@ -56,7 +56,7 @@ fdivp %st(2) fidivs (%ecx) fidivl (%eax) -fdivr %st(0), %st(1) +fdivr %st, %st(1) fdivr %st(2) fdivrs (%ecx) fdivrl (%eax) @@ -65,7 +65,7 @@ fdivrp %st(2) fidivrs (%ecx) fidivrl (%eax) -ffree %st(0) +ffree %st ficoms (%ecx) ficoml (%eax) @@ -90,7 +90,7 @@ fisttps (%edx) fisttpl (%ecx) fisttpll (%eax) -fld %st(0) +fld %st flds (%edx) fldl (%ecx) fldt (%eax) @@ -106,7 +106,7 @@ fldln2 fldpi fldz -fmul %st(0), %st(1) +fmul %st, %st(1) fmul %st(2) fmuls (%ecx) fmull (%eax) @@ -138,10 +138,10 @@ fsincos fsqrt -fst %st(0) +fst %st fsts (%edx) fstl (%ecx) -fstp %st(0) +fstp %st fstpl (%edx) fstpl (%ecx) fstpt (%eax) @@ -153,7 +153,7 @@ fnstsw (%eax) frstor (%eax) fsave (%eax) -fsub %st(0), %st(1) +fsub %st, %st(1) fsub %st(2) fsubs (%ecx) fsubl (%eax) @@ -162,7 +162,7 @@ fsubp %st(2) fisubs (%ecx) fisubl (%eax) -fsubr %st(0), %st(1) +fsubr %st, %st(1) fsubr %st(2) fsubrs (%ecx) fsubrl (%eax) @@ -208,7 +208,7 @@ fyl2xp1 # CHECK: [1] [2] [3] [4] [5] [6] Instructions: # CHECK-NEXT: 1 100 0.33 U f2xm1 # CHECK-NEXT: 1 1 1.00 U fabs -# CHECK-NEXT: 1 3 1.00 U fadd %st(0), %st(1) +# CHECK-NEXT: 1 3 1.00 U fadd %st, %st(1) # CHECK-NEXT: 1 3 1.00 U fadd %st(2) # CHECK-NEXT: 2 10 1.00 * U fadds (%ecx) # CHECK-NEXT: 2 10 1.00 * U faddl (%ecx) @@ -220,14 +220,14 @@ fyl2xp1 # CHECK-NEXT: 1 100 0.33 U fbstp (%eax) # CHECK-NEXT: 1 1 1.00 U fchs # CHECK-NEXT: 1 100 0.33 U fnclex -# CHECK-NEXT: 3 3 2.00 U fcmovb %st(1), %st(0) -# CHECK-NEXT: 3 3 2.00 U fcmovbe %st(1), %st(0) -# CHECK-NEXT: 3 3 2.00 U fcmove %st(1), %st(0) -# CHECK-NEXT: 3 3 2.00 U fcmovnb %st(1), %st(0) -# CHECK-NEXT: 3 3 2.00 U fcmovnbe %st(1), %st(0) -# CHECK-NEXT: 3 3 2.00 U fcmovne %st(1), %st(0) -# CHECK-NEXT: 3 3 2.00 U fcmovnu %st(1), %st(0) -# CHECK-NEXT: 3 3 2.00 U fcmovu %st(1), %st(0) +# CHECK-NEXT: 3 3 2.00 U fcmovb %st(1), %st +# CHECK-NEXT: 3 3 2.00 U fcmovbe %st(1), %st +# CHECK-NEXT: 3 3 2.00 U fcmove %st(1), %st +# CHECK-NEXT: 3 3 2.00 U fcmovnb %st(1), %st +# CHECK-NEXT: 3 3 2.00 U fcmovnbe %st(1), %st +# CHECK-NEXT: 3 3 2.00 U fcmovne %st(1), %st +# CHECK-NEXT: 3 3 2.00 U fcmovnu %st(1), %st +# CHECK-NEXT: 3 3 2.00 U fcmovu %st(1), %st # CHECK-NEXT: 1 1 1.00 U fcom %st(1) # CHECK-NEXT: 1 1 1.00 U fcom %st(3) # CHECK-NEXT: 2 8 1.00 U fcoms (%ecx) @@ -241,7 +241,7 @@ fyl2xp1 # CHECK-NEXT: 3 3 1.00 U fcompi %st(3) # CHECK-NEXT: 1 100 0.33 U fcos # CHECK-NEXT: 1 1 1.00 U fdecstp -# CHECK-NEXT: 1 14 14.00 U fdiv %st(0), %st(1) +# CHECK-NEXT: 1 14 14.00 U fdiv %st, %st(1) # CHECK-NEXT: 1 14 14.00 U fdiv %st(2) # CHECK-NEXT: 2 31 1.00 * U fdivs (%ecx) # CHECK-NEXT: 2 31 1.00 * U fdivl (%eax) @@ -249,7 +249,7 @@ fyl2xp1 # CHECK-NEXT: 1 14 14.00 U fdivp %st(2) # CHECK-NEXT: 3 34 1.00 * U fidivs (%ecx) # CHECK-NEXT: 3 34 1.00 * U fidivl (%eax) -# CHECK-NEXT: 1 14 14.00 U fdivr %st(0), %st(1) +# CHECK-NEXT: 1 14 14.00 U fdivr %st, %st(1) # CHECK-NEXT: 1 14 14.00 U fdivr %st(2) # CHECK-NEXT: 2 31 1.00 * U fdivrs (%ecx) # CHECK-NEXT: 2 31 1.00 * U fdivrl (%eax) @@ -257,7 +257,7 @@ fyl2xp1 # CHECK-NEXT: 1 14 14.00 U fdivrp %st(2) # CHECK-NEXT: 3 34 1.00 * U fidivrs (%ecx) # CHECK-NEXT: 3 34 1.00 * U fidivrl (%eax) -# CHECK-NEXT: 1 1 1.00 U ffree %st(0) +# CHECK-NEXT: 1 1 1.00 U ffree %st # CHECK-NEXT: 3 11 2.00 U ficoms (%ecx) # CHECK-NEXT: 3 11 2.00 U ficoml (%eax) # CHECK-NEXT: 3 11 2.00 U ficomps (%ecx) @@ -275,7 +275,7 @@ fyl2xp1 # CHECK-NEXT: 3 5 1.00 * U fisttps (%edx) # CHECK-NEXT: 3 5 1.00 * U fisttpl (%ecx) # CHECK-NEXT: 3 5 1.00 * U fisttpll (%eax) -# CHECK-NEXT: 1 1 1.00 U fld %st(0) +# CHECK-NEXT: 1 1 1.00 U fld %st # CHECK-NEXT: 3 9 1.00 * U flds (%edx) # CHECK-NEXT: 3 9 1.00 * U fldl (%ecx) # CHECK-NEXT: 3 9 1.00 * U fldt (%eax) @@ -288,7 +288,7 @@ fyl2xp1 # CHECK-NEXT: 2 1 1.00 U fldln2 # CHECK-NEXT: 2 1 1.00 U fldpi # CHECK-NEXT: 1 1 1.00 U fldz -# CHECK-NEXT: 1 5 1.00 U fmul %st(0), %st(1) +# CHECK-NEXT: 1 5 1.00 U fmul %st, %st(1) # CHECK-NEXT: 1 5 1.00 U fmul %st(2) # CHECK-NEXT: 2 12 1.00 * U fmuls (%ecx) # CHECK-NEXT: 2 12 1.00 * U fmull (%eax) @@ -308,10 +308,10 @@ fyl2xp1 # CHECK-NEXT: 1 100 0.33 U fsin # CHECK-NEXT: 1 100 0.33 U fsincos # CHECK-NEXT: 1 24 24.00 U fsqrt -# CHECK-NEXT: 1 1 1.00 U fst %st(0) +# CHECK-NEXT: 1 1 1.00 U fst %st # CHECK-NEXT: 3 6 1.00 * U fsts (%edx) # CHECK-NEXT: 3 6 1.00 * U fstl (%ecx) -# CHECK-NEXT: 1 1 1.00 U fstp %st(0) +# CHECK-NEXT: 1 1 1.00 U fstp %st # CHECK-NEXT: 3 6 1.00 * U fstpl (%edx) # CHECK-NEXT: 3 6 1.00 * U fstpl (%ecx) # CHECK-NEXT: 3 6 1.00 * U fstpt (%eax) @@ -321,7 +321,7 @@ fyl2xp1 # CHECK-NEXT: 1 100 0.33 U frstor (%eax) # CHECK-NEXT: 1 100 0.33 U wait # CHECK-NEXT: 1 100 0.33 U fnsave (%eax) -# CHECK-NEXT: 1 3 1.00 U fsub %st(0), %st(1) +# CHECK-NEXT: 1 3 1.00 U fsub %st, %st(1) # CHECK-NEXT: 1 3 1.00 U fsub %st(2) # CHECK-NEXT: 2 10 1.00 * U fsubs (%ecx) # CHECK-NEXT: 2 10 1.00 * U fsubl (%eax) @@ -329,7 +329,7 @@ fyl2xp1 # CHECK-NEXT: 1 3 1.00 U fsubp %st(2) # CHECK-NEXT: 3 13 2.00 * U fisubs (%ecx) # CHECK-NEXT: 3 13 2.00 * U fisubl (%eax) -# CHECK-NEXT: 1 3 1.00 U fsubr %st(0), %st(1) +# CHECK-NEXT: 1 3 1.00 U fsubr %st, %st(1) # CHECK-NEXT: 1 3 1.00 U fsubr %st(2) # CHECK-NEXT: 2 10 1.00 * U fsubrs (%ecx) # CHECK-NEXT: 2 10 1.00 * U fsubrl (%eax) @@ -373,7 +373,7 @@ fyl2xp1 # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1] Instructions: # CHECK-NEXT: - - 0.33 0.33 - 0.33 - - f2xm1 # CHECK-NEXT: - - - - - 1.00 - - fabs -# CHECK-NEXT: - - - 1.00 - - - - fadd %st(0), %st(1) +# CHECK-NEXT: - - - 1.00 - - - - fadd %st, %st(1) # CHECK-NEXT: - - - 1.00 - - - - fadd %st(2) # CHECK-NEXT: - - - 1.00 - - 0.50 0.50 fadds (%ecx) # CHECK-NEXT: - - - 1.00 - - 0.50 0.50 faddl (%ecx) @@ -385,14 +385,14 @@ fyl2xp1 # CHECK-NEXT: - - 0.33 0.33 - 0.33 - - fbstp (%eax) # CHECK-NEXT: - - - - - 1.00 - - fchs # CHECK-NEXT: - - 0.33 0.33 - 0.33 - - fnclex -# CHECK-NEXT: - - 0.50 - - 2.50 - - fcmovb %st(1), %st(0) -# CHECK-NEXT: - - 0.50 - - 2.50 - - fcmovbe %st(1), %st(0) -# CHECK-NEXT: - - 0.50 - - 2.50 - - fcmove %st(1), %st(0) -# CHECK-NEXT: - - 0.50 - - 2.50 - - fcmovnb %st(1), %st(0) -# CHECK-NEXT: - - 0.50 - - 2.50 - - fcmovnbe %st(1), %st(0) -# CHECK-NEXT: - - 0.50 - - 2.50 - - fcmovne %st(1), %st(0) -# CHECK-NEXT: - - 0.50 - - 2.50 - - fcmovnu %st(1), %st(0) -# CHECK-NEXT: - - 0.50 - - 2.50 - - fcmovu %st(1), %st(0) +# CHECK-NEXT: - - 0.50 - - 2.50 - - fcmovb %st(1), %st +# CHECK-NEXT: - - 0.50 - - 2.50 - - fcmovbe %st(1), %st +# CHECK-NEXT: - - 0.50 - - 2.50 - - fcmove %st(1), %st +# CHECK-NEXT: - - 0.50 - - 2.50 - - fcmovnb %st(1), %st +# CHECK-NEXT: - - 0.50 - - 2.50 - - fcmovnbe %st(1), %st +# CHECK-NEXT: - - 0.50 - - 2.50 - - fcmovne %st(1), %st +# CHECK-NEXT: - - 0.50 - - 2.50 - - fcmovnu %st(1), %st +# CHECK-NEXT: - - 0.50 - - 2.50 - - fcmovu %st(1), %st # CHECK-NEXT: - - - 1.00 - - - - fcom %st(1) # CHECK-NEXT: - - - 1.00 - - - - fcom %st(3) # CHECK-NEXT: - - - 1.00 - - 0.50 0.50 fcoms (%ecx) @@ -406,7 +406,7 @@ fyl2xp1 # CHECK-NEXT: - - 1.00 1.00 - 1.00 - - fcompi %st(3) # CHECK-NEXT: - - 0.33 0.33 - 0.33 - - fcos # CHECK-NEXT: - - - - - 1.00 - - fdecstp -# CHECK-NEXT: - 14.00 1.00 - - - - - fdiv %st(0), %st(1) +# CHECK-NEXT: - 14.00 1.00 - - - - - fdiv %st, %st(1) # CHECK-NEXT: - 14.00 1.00 - - - - - fdiv %st(2) # CHECK-NEXT: - - 1.00 - - - 0.50 0.50 fdivs (%ecx) # CHECK-NEXT: - - 1.00 - - - 0.50 0.50 fdivl (%eax) @@ -414,7 +414,7 @@ fyl2xp1 # CHECK-NEXT: - 14.00 1.00 - - - - - fdivp %st(2) # CHECK-NEXT: - - 1.00 1.00 - - 0.50 0.50 fidivs (%ecx) # CHECK-NEXT: - - 1.00 1.00 - - 0.50 0.50 fidivl (%eax) -# CHECK-NEXT: - 14.00 1.00 - - - - - fdivr %st(0), %st(1) +# CHECK-NEXT: - 14.00 1.00 - - - - - fdivr %st, %st(1) # CHECK-NEXT: - 14.00 1.00 - - - - - fdivr %st(2) # CHECK-NEXT: - - 1.00 - - - 0.50 0.50 fdivrs (%ecx) # CHECK-NEXT: - - 1.00 - - - 0.50 0.50 fdivrl (%eax) @@ -422,7 +422,7 @@ fyl2xp1 # CHECK-NEXT: - 14.00 1.00 - - - - - fdivrp %st(2) # CHECK-NEXT: - - 1.00 1.00 - - 0.50 0.50 fidivrs (%ecx) # CHECK-NEXT: - - 1.00 1.00 - - 0.50 0.50 fidivrl (%eax) -# CHECK-NEXT: - - - - - 1.00 - - ffree %st(0) +# CHECK-NEXT: - - - - - 1.00 - - ffree %st # CHECK-NEXT: - - - 2.00 - - 0.50 0.50 ficoms (%ecx) # CHECK-NEXT: - - - 2.00 - - 0.50 0.50 ficoml (%eax) # CHECK-NEXT: - - - 2.00 - - 0.50 0.50 ficomps (%ecx) @@ -440,7 +440,7 @@ fyl2xp1 # CHECK-NEXT: - - - 1.00 1.00 - 0.50 0.50 fisttps (%edx) # CHECK-NEXT: - - - 1.00 1.00 - 0.50 0.50 fisttpl (%ecx) # CHECK-NEXT: - - - 1.00 1.00 - 0.50 0.50 fisttpll (%eax) -# CHECK-NEXT: - - - - - 1.00 - - fld %st(0) +# CHECK-NEXT: - - - - - 1.00 - - fld %st # CHECK-NEXT: - - 0.50 0.50 - 1.00 0.50 0.50 flds (%edx) # CHECK-NEXT: - - 0.50 0.50 - 1.00 0.50 0.50 fldl (%ecx) # CHECK-NEXT: - - 0.50 0.50 - 1.00 0.50 0.50 fldt (%eax) @@ -453,7 +453,7 @@ fyl2xp1 # CHECK-NEXT: - - 1.00 1.00 - - - - fldln2 # CHECK-NEXT: - - 1.00 1.00 - - - - fldpi # CHECK-NEXT: - - - - - 1.00 - - fldz -# CHECK-NEXT: - - 1.00 - - - - - fmul %st(0), %st(1) +# CHECK-NEXT: - - 1.00 - - - - - fmul %st, %st(1) # CHECK-NEXT: - - 1.00 - - - - - fmul %st(2) # CHECK-NEXT: - - 1.00 - - - 0.50 0.50 fmuls (%ecx) # CHECK-NEXT: - - 1.00 - - - 0.50 0.50 fmull (%eax) @@ -473,10 +473,10 @@ fyl2xp1 # CHECK-NEXT: - - 0.33 0.33 - 0.33 - - fsin # CHECK-NEXT: - - 0.33 0.33 - 0.33 - - fsincos # CHECK-NEXT: - 24.00 1.00 - - - - - fsqrt -# CHECK-NEXT: - - - - - 1.00 - - fst %st(0) +# CHECK-NEXT: - - - - - 1.00 - - fst %st # CHECK-NEXT: - - - - 1.00 - 1.00 1.00 fsts (%edx) # CHECK-NEXT: - - - - 1.00 - 1.00 1.00 fstl (%ecx) -# CHECK-NEXT: - - - - - 1.00 - - fstp %st(0) +# CHECK-NEXT: - - - - - 1.00 - - fstp %st # CHECK-NEXT: - - - - 1.00 - 1.00 1.00 fstpl (%edx) # CHECK-NEXT: - - - - 1.00 - 1.00 1.00 fstpl (%ecx) # CHECK-NEXT: - - - - 1.00 - 1.00 1.00 fstpt (%eax) @@ -486,7 +486,7 @@ fyl2xp1 # CHECK-NEXT: - - 0.33 0.33 - 0.33 - - frstor (%eax) # CHECK-NEXT: - - 0.33 0.33 - 0.33 - - wait # CHECK-NEXT: - - 0.33 0.33 - 0.33 - - fnsave (%eax) -# CHECK-NEXT: - - - 1.00 - - - - fsub %st(0), %st(1) +# CHECK-NEXT: - - - 1.00 - - - - fsub %st, %st(1) # CHECK-NEXT: - - - 1.00 - - - - fsub %st(2) # CHECK-NEXT: - - - 1.00 - - 0.50 0.50 fsubs (%ecx) # CHECK-NEXT: - - - 1.00 - - 0.50 0.50 fsubl (%eax) @@ -494,7 +494,7 @@ fyl2xp1 # CHECK-NEXT: - - - 1.00 - - - - fsubp %st(2) # CHECK-NEXT: - - - 2.00 - - 0.50 0.50 fisubs (%ecx) # CHECK-NEXT: - - - 2.00 - - 0.50 0.50 fisubl (%eax) -# CHECK-NEXT: - - - 1.00 - - - - fsubr %st(0), %st(1) +# CHECK-NEXT: - - - 1.00 - - - - fsubr %st, %st(1) # CHECK-NEXT: - - - 1.00 - - - - fsubr %st(2) # CHECK-NEXT: - - - 1.00 - - 0.50 0.50 fsubrs (%ecx) # CHECK-NEXT: - - - 1.00 - - 0.50 0.50 fsubrl (%eax) diff --git a/llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-x87.s b/llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-x87.s index 7be9d699573..2202e284782 100644 --- a/llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-x87.s +++ b/llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-x87.s @@ -5,7 +5,7 @@ f2xm1 fabs -fadd %st(0), %st(1) +fadd %st, %st(1) fadd %st(2) fadds (%ecx) faddl (%ecx) @@ -21,14 +21,14 @@ fchs fnclex -fcmovb %st(1), %st(0) -fcmovbe %st(1), %st(0) -fcmove %st(1), %st(0) -fcmovnb %st(1), %st(0) -fcmovnbe %st(1), %st(0) -fcmovne %st(1), %st(0) -fcmovnu %st(1), %st(0) -fcmovu %st(1), %st(0) +fcmovb %st(1), %st +fcmovbe %st(1), %st +fcmove %st(1), %st +fcmovnb %st(1), %st +fcmovnbe %st(1), %st +fcmovne %st(1), %st +fcmovnu %st(1), %st +fcmovu %st(1), %st fcom %st(1) fcom %st(3) @@ -47,7 +47,7 @@ fcos fdecstp -fdiv %st(0), %st(1) +fdiv %st, %st(1) fdiv %st(2) fdivs (%ecx) fdivl (%eax) @@ -56,7 +56,7 @@ fdivp %st(2) fidivs (%ecx) fidivl (%eax) -fdivr %st(0), %st(1) +fdivr %st, %st(1) fdivr %st(2) fdivrs (%ecx) fdivrl (%eax) @@ -65,7 +65,7 @@ fdivrp %st(2) fidivrs (%ecx) fidivrl (%eax) -ffree %st(0) +ffree %st ficoms (%ecx) ficoml (%eax) @@ -90,7 +90,7 @@ fisttps (%edx) fisttpl (%ecx) fisttpll (%eax) -fld %st(0) +fld %st flds (%edx) fldl (%ecx) fldt (%eax) @@ -106,7 +106,7 @@ fldln2 fldpi fldz -fmul %st(0), %st(1) +fmul %st, %st(1) fmul %st(2) fmuls (%ecx) fmull (%eax) @@ -138,10 +138,10 @@ fsincos fsqrt -fst %st(0) +fst %st fsts (%edx) fstl (%ecx) -fstp %st(0) +fstp %st fstpl (%edx) fstpl (%ecx) fstpt (%eax) @@ -153,7 +153,7 @@ fnstsw (%eax) frstor (%eax) fsave (%eax) -fsub %st(0), %st(1) +fsub %st, %st(1) fsub %st(2) fsubs (%ecx) fsubl (%eax) @@ -162,7 +162,7 @@ fsubp %st(2) fisubs (%ecx) fisubl (%eax) -fsubr %st(0), %st(1) +fsubr %st, %st(1) fsubr %st(2) fsubrs (%ecx) fsubrl (%eax) @@ -208,7 +208,7 @@ fyl2xp1 # CHECK: [1] [2] [3] [4] [5] [6] Instructions: # CHECK-NEXT: 1 100 0.25 U f2xm1 # CHECK-NEXT: 1 1 1.00 U fabs -# CHECK-NEXT: 1 3 1.00 U fadd %st(0), %st(1) +# CHECK-NEXT: 1 3 1.00 U fadd %st, %st(1) # CHECK-NEXT: 1 3 1.00 U fadd %st(2) # CHECK-NEXT: 2 10 1.00 * U fadds (%ecx) # CHECK-NEXT: 2 10 1.00 * U faddl (%ecx) @@ -220,14 +220,14 @@ fyl2xp1 # CHECK-NEXT: 2 1 1.00 U fbstp (%eax) # CHECK-NEXT: 1 1 1.00 U fchs # CHECK-NEXT: 4 4 1.00 U fnclex -# CHECK-NEXT: 1 3 1.00 U fcmovb %st(1), %st(0) -# CHECK-NEXT: 1 3 1.00 U fcmovbe %st(1), %st(0) -# CHECK-NEXT: 1 3 1.00 U fcmove %st(1), %st(0) -# CHECK-NEXT: 1 3 1.00 U fcmovnb %st(1), %st(0) -# CHECK-NEXT: 1 3 1.00 U fcmovnbe %st(1), %st(0) -# CHECK-NEXT: 1 3 1.00 U fcmovne %st(1), %st(0) -# CHECK-NEXT: 1 3 1.00 U fcmovnu %st(1), %st(0) -# CHECK-NEXT: 1 3 1.00 U fcmovu %st(1), %st(0) +# CHECK-NEXT: 1 3 1.00 U fcmovb %st(1), %st +# CHECK-NEXT: 1 3 1.00 U fcmovbe %st(1), %st +# CHECK-NEXT: 1 3 1.00 U fcmove %st(1), %st +# CHECK-NEXT: 1 3 1.00 U fcmovnb %st(1), %st +# CHECK-NEXT: 1 3 1.00 U fcmovnbe %st(1), %st +# CHECK-NEXT: 1 3 1.00 U fcmovne %st(1), %st +# CHECK-NEXT: 1 3 1.00 U fcmovnu %st(1), %st +# CHECK-NEXT: 1 3 1.00 U fcmovu %st(1), %st # CHECK-NEXT: 1 1 1.00 U fcom %st(1) # CHECK-NEXT: 1 1 1.00 U fcom %st(3) # CHECK-NEXT: 2 8 1.00 U fcoms (%ecx) @@ -241,7 +241,7 @@ fyl2xp1 # CHECK-NEXT: 1 2 1.00 U fcompi %st(3) # CHECK-NEXT: 1 100 0.25 U fcos # CHECK-NEXT: 2 2 1.00 U fdecstp -# CHECK-NEXT: 1 15 1.00 U fdiv %st(0), %st(1) +# CHECK-NEXT: 1 15 1.00 U fdiv %st, %st(1) # CHECK-NEXT: 1 20 1.00 U fdiv %st(2) # CHECK-NEXT: 2 22 1.00 * U fdivs (%ecx) # CHECK-NEXT: 2 22 1.00 * U fdivl (%eax) @@ -249,7 +249,7 @@ fyl2xp1 # CHECK-NEXT: 1 15 1.00 U fdivp %st(2) # CHECK-NEXT: 3 25 1.00 * U fidivs (%ecx) # CHECK-NEXT: 3 25 1.00 * U fidivl (%eax) -# CHECK-NEXT: 1 20 1.00 U fdivr %st(0), %st(1) +# CHECK-NEXT: 1 20 1.00 U fdivr %st, %st(1) # CHECK-NEXT: 1 15 1.00 U fdivr %st(2) # CHECK-NEXT: 2 27 1.00 * U fdivrs (%ecx) # CHECK-NEXT: 2 27 1.00 * U fdivrl (%eax) @@ -257,7 +257,7 @@ fyl2xp1 # CHECK-NEXT: 1 20 1.00 U fdivrp %st(2) # CHECK-NEXT: 3 30 1.00 * U fidivrs (%ecx) # CHECK-NEXT: 3 30 1.00 * U fidivrl (%eax) -# CHECK-NEXT: 1 100 0.25 U ffree %st(0) +# CHECK-NEXT: 1 100 0.25 U ffree %st # CHECK-NEXT: 3 11 2.00 U ficoms (%ecx) # CHECK-NEXT: 3 11 2.00 U ficoml (%eax) # CHECK-NEXT: 3 11 2.00 U ficomps (%ecx) @@ -275,7 +275,7 @@ fyl2xp1 # CHECK-NEXT: 3 4 1.00 * U fisttps (%edx) # CHECK-NEXT: 3 4 1.00 * U fisttpl (%ecx) # CHECK-NEXT: 3 4 1.00 * U fisttpll (%eax) -# CHECK-NEXT: 1 1 0.25 U fld %st(0) +# CHECK-NEXT: 1 1 0.25 U fld %st # CHECK-NEXT: 1 7 0.50 * U flds (%edx) # CHECK-NEXT: 1 7 0.50 * U fldl (%ecx) # CHECK-NEXT: 1 7 0.50 * U fldt (%eax) @@ -288,7 +288,7 @@ fyl2xp1 # CHECK-NEXT: 2 1 1.00 U fldln2 # CHECK-NEXT: 2 1 1.00 U fldpi # CHECK-NEXT: 1 1 0.50 U fldz -# CHECK-NEXT: 1 4 1.00 U fmul %st(0), %st(1) +# CHECK-NEXT: 1 4 1.00 U fmul %st, %st(1) # CHECK-NEXT: 1 4 1.00 U fmul %st(2) # CHECK-NEXT: 2 11 1.00 * U fmuls (%ecx) # CHECK-NEXT: 2 11 1.00 * U fmull (%eax) @@ -308,10 +308,10 @@ fyl2xp1 # CHECK-NEXT: 1 100 0.25 U fsin # CHECK-NEXT: 1 100 0.25 U fsincos # CHECK-NEXT: 1 21 7.00 U fsqrt -# CHECK-NEXT: 1 1 0.25 U fst %st(0) +# CHECK-NEXT: 1 1 0.25 U fst %st # CHECK-NEXT: 1 1 1.00 * U fsts (%edx) # CHECK-NEXT: 1 1 1.00 * U fstl (%ecx) -# CHECK-NEXT: 1 1 0.25 U fstp %st(0) +# CHECK-NEXT: 1 1 0.25 U fstp %st # CHECK-NEXT: 2 1 1.00 * U fstpl (%edx) # CHECK-NEXT: 2 1 1.00 * U fstpl (%ecx) # CHECK-NEXT: 2 1 1.00 * U fstpt (%eax) @@ -321,7 +321,7 @@ fyl2xp1 # CHECK-NEXT: 1 100 0.25 U frstor (%eax) # CHECK-NEXT: 2 2 0.50 U wait # CHECK-NEXT: 1 100 0.25 U fnsave (%eax) -# CHECK-NEXT: 1 3 1.00 U fsub %st(0), %st(1) +# CHECK-NEXT: 1 3 1.00 U fsub %st, %st(1) # CHECK-NEXT: 1 3 1.00 U fsub %st(2) # CHECK-NEXT: 2 10 1.00 * U fsubs (%ecx) # CHECK-NEXT: 2 10 1.00 * U fsubl (%eax) @@ -329,7 +329,7 @@ fyl2xp1 # CHECK-NEXT: 1 3 1.00 U fsubp %st(2) # CHECK-NEXT: 3 13 2.00 * U fisubs (%ecx) # CHECK-NEXT: 3 13 2.00 * U fisubl (%eax) -# CHECK-NEXT: 1 3 1.00 U fsubr %st(0), %st(1) +# CHECK-NEXT: 1 3 1.00 U fsubr %st, %st(1) # CHECK-NEXT: 1 3 1.00 U fsubr %st(2) # CHECK-NEXT: 2 10 1.00 * U fsubrs (%ecx) # CHECK-NEXT: 2 10 1.00 * U fsubrl (%eax) @@ -375,7 +375,7 @@ fyl2xp1 # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions: # CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - f2xm1 # CHECK-NEXT: - - 1.00 - - - - - - - fabs -# CHECK-NEXT: - - - - - - - 1.00 - - fadd %st(0), %st(1) +# CHECK-NEXT: - - - - - - - 1.00 - - fadd %st, %st(1) # CHECK-NEXT: - - - - - - - 1.00 - - fadd %st(2) # CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - fadds (%ecx) # CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - faddl (%ecx) @@ -387,14 +387,14 @@ fyl2xp1 # CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 fbstp (%eax) # CHECK-NEXT: - - 1.00 - - - - - - - fchs # CHECK-NEXT: - - 1.00 1.00 - - - 1.00 1.00 - fnclex -# CHECK-NEXT: - - - 1.00 - - - - - - fcmovb %st(1), %st(0) -# CHECK-NEXT: - - - 1.00 - - - - - - fcmovbe %st(1), %st(0) -# CHECK-NEXT: - - - 1.00 - - - - - - fcmove %st(1), %st(0) -# CHECK-NEXT: - - - 1.00 - - - - - - fcmovnb %st(1), %st(0) -# CHECK-NEXT: - - - 1.00 - - - - - - fcmovnbe %st(1), %st(0) -# CHECK-NEXT: - - - 1.00 - - - - - - fcmovne %st(1), %st(0) -# CHECK-NEXT: - - - 1.00 - - - - - - fcmovnu %st(1), %st(0) -# CHECK-NEXT: - - - 1.00 - - - - - - fcmovu %st(1), %st(0) +# CHECK-NEXT: - - - 1.00 - - - - - - fcmovb %st(1), %st +# CHECK-NEXT: - - - 1.00 - - - - - - fcmovbe %st(1), %st +# CHECK-NEXT: - - - 1.00 - - - - - - fcmove %st(1), %st +# CHECK-NEXT: - - - 1.00 - - - - - - fcmovnb %st(1), %st +# CHECK-NEXT: - - - 1.00 - - - - - - fcmovnbe %st(1), %st +# CHECK-NEXT: - - - 1.00 - - - - - - fcmovne %st(1), %st +# CHECK-NEXT: - - - 1.00 - - - - - - fcmovnu %st(1), %st +# CHECK-NEXT: - - - 1.00 - - - - - - fcmovu %st(1), %st # CHECK-NEXT: - - - - - - - 1.00 - - fcom %st(1) # CHECK-NEXT: - - - - - - - 1.00 - - fcom %st(3) # CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - fcoms (%ecx) @@ -408,7 +408,7 @@ fyl2xp1 # CHECK-NEXT: - - 1.00 - - - - - - - fcompi %st(3) # CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fcos # CHECK-NEXT: - - 1.00 - - - - 1.00 - - fdecstp -# CHECK-NEXT: - - 1.00 - - - - - - - fdiv %st(0), %st(1) +# CHECK-NEXT: - - 1.00 - - - - - - - fdiv %st, %st(1) # CHECK-NEXT: - - 1.00 - - - - - - - fdiv %st(2) # CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - fdivs (%ecx) # CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - fdivl (%eax) @@ -416,7 +416,7 @@ fyl2xp1 # CHECK-NEXT: - - 1.00 - - - - - - - fdivp %st(2) # CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - fidivs (%ecx) # CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - fidivl (%eax) -# CHECK-NEXT: - - 1.00 - - - - - - - fdivr %st(0), %st(1) +# CHECK-NEXT: - - 1.00 - - - - - - - fdivr %st, %st(1) # CHECK-NEXT: - - 1.00 - - - - - - - fdivr %st(2) # CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - fdivrs (%ecx) # CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - fdivrl (%eax) @@ -424,7 +424,7 @@ fyl2xp1 # CHECK-NEXT: - - 1.00 - - - - - - - fdivrp %st(2) # CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - fidivrs (%ecx) # CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - fidivrl (%eax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - ffree %st(0) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - ffree %st # CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - ficoms (%ecx) # CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - ficoml (%eax) # CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - ficomps (%ecx) @@ -442,7 +442,7 @@ fyl2xp1 # CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 fisttps (%edx) # CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 fisttpl (%ecx) # CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 fisttpll (%eax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fld %st(0) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fld %st # CHECK-NEXT: - - - - 0.50 0.50 - - - - flds (%edx) # CHECK-NEXT: - - - - 0.50 0.50 - - - - fldl (%ecx) # CHECK-NEXT: - - - - 0.50 0.50 - - - - fldt (%eax) @@ -455,7 +455,7 @@ fyl2xp1 # CHECK-NEXT: - - 1.00 - - - - 1.00 - - fldln2 # CHECK-NEXT: - - 1.00 - - - - 1.00 - - fldpi # CHECK-NEXT: - - 0.50 - - - - 0.50 - - fldz -# CHECK-NEXT: - - 1.00 - - - - - - - fmul %st(0), %st(1) +# CHECK-NEXT: - - 1.00 - - - - - - - fmul %st, %st(1) # CHECK-NEXT: - - 1.00 - - - - - - - fmul %st(2) # CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - fmuls (%ecx) # CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - fmull (%eax) @@ -475,10 +475,10 @@ fyl2xp1 # CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fsin # CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fsincos # CHECK-NEXT: - 7.00 1.00 - - - - - - - fsqrt -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fst %st(0) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fst %st # CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 fsts (%edx) # CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 fstl (%ecx) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fstp %st(0) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fstp %st # CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 fstpl (%edx) # CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 fstpl (%ecx) # CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 fstpt (%eax) @@ -488,7 +488,7 @@ fyl2xp1 # CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - frstor (%eax) # CHECK-NEXT: - - 0.50 0.50 - - - 0.50 0.50 - wait # CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fnsave (%eax) -# CHECK-NEXT: - - - - - - - 1.00 - - fsub %st(0), %st(1) +# CHECK-NEXT: - - - - - - - 1.00 - - fsub %st, %st(1) # CHECK-NEXT: - - - - - - - 1.00 - - fsub %st(2) # CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - fsubs (%ecx) # CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - fsubl (%eax) @@ -496,7 +496,7 @@ fyl2xp1 # CHECK-NEXT: - - - - - - - 1.00 - - fsubp %st(2) # CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - fisubs (%ecx) # CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - fisubl (%eax) -# CHECK-NEXT: - - - - - - - 1.00 - - fsubr %st(0), %st(1) +# CHECK-NEXT: - - - - - - - 1.00 - - fsubr %st, %st(1) # CHECK-NEXT: - - - - - - - 1.00 - - fsubr %st(2) # CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - fsubrs (%ecx) # CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - fsubrl (%eax) diff --git a/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-x87.s b/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-x87.s index aecb4a7ab92..b4bc9b2f05d 100644 --- a/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-x87.s +++ b/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-x87.s @@ -5,7 +5,7 @@ f2xm1 fabs -fadd %st(0), %st(1) +fadd %st, %st(1) fadd %st(2) fadds (%ecx) faddl (%ecx) @@ -21,14 +21,14 @@ fchs fnclex -fcmovb %st(1), %st(0) -fcmovbe %st(1), %st(0) -fcmove %st(1), %st(0) -fcmovnb %st(1), %st(0) -fcmovnbe %st(1), %st(0) -fcmovne %st(1), %st(0) -fcmovnu %st(1), %st(0) -fcmovu %st(1), %st(0) +fcmovb %st(1), %st +fcmovbe %st(1), %st +fcmove %st(1), %st +fcmovnb %st(1), %st +fcmovnbe %st(1), %st +fcmovne %st(1), %st +fcmovnu %st(1), %st +fcmovu %st(1), %st fcom %st(1) fcom %st(3) @@ -47,7 +47,7 @@ fcos fdecstp -fdiv %st(0), %st(1) +fdiv %st, %st(1) fdiv %st(2) fdivs (%ecx) fdivl (%eax) @@ -56,7 +56,7 @@ fdivp %st(2) fidivs (%ecx) fidivl (%eax) -fdivr %st(0), %st(1) +fdivr %st, %st(1) fdivr %st(2) fdivrs (%ecx) fdivrl (%eax) @@ -65,7 +65,7 @@ fdivrp %st(2) fidivrs (%ecx) fidivrl (%eax) -ffree %st(0) +ffree %st ficoms (%ecx) ficoml (%eax) @@ -90,7 +90,7 @@ fisttps (%edx) fisttpl (%ecx) fisttpll (%eax) -fld %st(0) +fld %st flds (%edx) fldl (%ecx) fldt (%eax) @@ -106,7 +106,7 @@ fldln2 fldpi fldz -fmul %st(0), %st(1) +fmul %st, %st(1) fmul %st(2) fmuls (%ecx) fmull (%eax) @@ -138,10 +138,10 @@ fsincos fsqrt -fst %st(0) +fst %st fsts (%edx) fstl (%ecx) -fstp %st(0) +fstp %st fstpl (%edx) fstpl (%ecx) fstpt (%eax) @@ -153,7 +153,7 @@ fnstsw (%eax) frstor (%eax) fsave (%eax) -fsub %st(0), %st(1) +fsub %st, %st(1) fsub %st(2) fsubs (%ecx) fsubl (%eax) @@ -162,7 +162,7 @@ fsubp %st(2) fisubs (%ecx) fisubl (%eax) -fsubr %st(0), %st(1) +fsubr %st, %st(1) fsubr %st(2) fsubrs (%ecx) fsubrl (%eax) @@ -208,7 +208,7 @@ fyl2xp1 # CHECK: [1] [2] [3] [4] [5] [6] Instructions: # CHECK-NEXT: 1 100 0.25 U f2xm1 # CHECK-NEXT: 1 1 1.00 U fabs -# CHECK-NEXT: 1 3 1.00 U fadd %st(0), %st(1) +# CHECK-NEXT: 1 3 1.00 U fadd %st, %st(1) # CHECK-NEXT: 1 3 1.00 U fadd %st(2) # CHECK-NEXT: 2 10 1.00 * U fadds (%ecx) # CHECK-NEXT: 2 10 1.00 * U faddl (%ecx) @@ -220,14 +220,14 @@ fyl2xp1 # CHECK-NEXT: 2 1 1.00 U fbstp (%eax) # CHECK-NEXT: 1 1 1.00 U fchs # CHECK-NEXT: 4 4 1.00 U fnclex -# CHECK-NEXT: 1 3 1.00 U fcmovb %st(1), %st(0) -# CHECK-NEXT: 1 3 1.00 U fcmovbe %st(1), %st(0) -# CHECK-NEXT: 1 3 1.00 U fcmove %st(1), %st(0) -# CHECK-NEXT: 1 3 1.00 U fcmovnb %st(1), %st(0) -# CHECK-NEXT: 1 3 1.00 U fcmovnbe %st(1), %st(0) -# CHECK-NEXT: 1 3 1.00 U fcmovne %st(1), %st(0) -# CHECK-NEXT: 1 3 1.00 U fcmovnu %st(1), %st(0) -# CHECK-NEXT: 1 3 1.00 U fcmovu %st(1), %st(0) +# CHECK-NEXT: 1 3 1.00 U fcmovb %st(1), %st +# CHECK-NEXT: 1 3 1.00 U fcmovbe %st(1), %st +# CHECK-NEXT: 1 3 1.00 U fcmove %st(1), %st +# CHECK-NEXT: 1 3 1.00 U fcmovnb %st(1), %st +# CHECK-NEXT: 1 3 1.00 U fcmovnbe %st(1), %st +# CHECK-NEXT: 1 3 1.00 U fcmovne %st(1), %st +# CHECK-NEXT: 1 3 1.00 U fcmovnu %st(1), %st +# CHECK-NEXT: 1 3 1.00 U fcmovu %st(1), %st # CHECK-NEXT: 1 1 1.00 U fcom %st(1) # CHECK-NEXT: 1 1 1.00 U fcom %st(3) # CHECK-NEXT: 2 8 1.00 U fcoms (%ecx) @@ -241,7 +241,7 @@ fyl2xp1 # CHECK-NEXT: 1 2 1.00 U fcompi %st(3) # CHECK-NEXT: 1 100 0.25 U fcos # CHECK-NEXT: 2 2 1.00 U fdecstp -# CHECK-NEXT: 1 15 1.00 U fdiv %st(0), %st(1) +# CHECK-NEXT: 1 15 1.00 U fdiv %st, %st(1) # CHECK-NEXT: 1 20 1.00 U fdiv %st(2) # CHECK-NEXT: 2 22 1.00 * U fdivs (%ecx) # CHECK-NEXT: 2 22 1.00 * U fdivl (%eax) @@ -249,7 +249,7 @@ fyl2xp1 # CHECK-NEXT: 1 15 1.00 U fdivp %st(2) # CHECK-NEXT: 3 25 1.00 * U fidivs (%ecx) # CHECK-NEXT: 3 25 1.00 * U fidivl (%eax) -# CHECK-NEXT: 1 20 1.00 U fdivr %st(0), %st(1) +# CHECK-NEXT: 1 20 1.00 U fdivr %st, %st(1) # CHECK-NEXT: 1 15 1.00 U fdivr %st(2) # CHECK-NEXT: 2 27 1.00 * U fdivrs (%ecx) # CHECK-NEXT: 2 27 1.00 * U fdivrl (%eax) @@ -257,7 +257,7 @@ fyl2xp1 # CHECK-NEXT: 1 20 1.00 U fdivrp %st(2) # CHECK-NEXT: 3 30 1.00 * U fidivrs (%ecx) # CHECK-NEXT: 3 30 1.00 * U fidivrl (%eax) -# CHECK-NEXT: 1 100 0.25 U ffree %st(0) +# CHECK-NEXT: 1 100 0.25 U ffree %st # CHECK-NEXT: 3 11 2.00 U ficoms (%ecx) # CHECK-NEXT: 3 11 2.00 U ficoml (%eax) # CHECK-NEXT: 3 11 2.00 U ficomps (%ecx) @@ -275,7 +275,7 @@ fyl2xp1 # CHECK-NEXT: 3 4 1.00 * U fisttps (%edx) # CHECK-NEXT: 3 4 1.00 * U fisttpl (%ecx) # CHECK-NEXT: 3 4 1.00 * U fisttpll (%eax) -# CHECK-NEXT: 1 1 0.25 U fld %st(0) +# CHECK-NEXT: 1 1 0.25 U fld %st # CHECK-NEXT: 1 7 0.50 * U flds (%edx) # CHECK-NEXT: 1 7 0.50 * U fldl (%ecx) # CHECK-NEXT: 1 7 0.50 * U fldt (%eax) @@ -288,7 +288,7 @@ fyl2xp1 # CHECK-NEXT: 2 1 1.00 U fldln2 # CHECK-NEXT: 2 1 1.00 U fldpi # CHECK-NEXT: 1 1 0.50 U fldz -# CHECK-NEXT: 1 4 1.00 U fmul %st(0), %st(1) +# CHECK-NEXT: 1 4 1.00 U fmul %st, %st(1) # CHECK-NEXT: 1 4 1.00 U fmul %st(2) # CHECK-NEXT: 2 11 1.00 * U fmuls (%ecx) # CHECK-NEXT: 2 11 1.00 * U fmull (%eax) @@ -308,10 +308,10 @@ fyl2xp1 # CHECK-NEXT: 1 100 0.25 U fsin # CHECK-NEXT: 1 100 0.25 U fsincos # CHECK-NEXT: 1 21 7.00 U fsqrt -# CHECK-NEXT: 1 1 0.25 U fst %st(0) +# CHECK-NEXT: 1 1 0.25 U fst %st # CHECK-NEXT: 1 1 1.00 * U fsts (%edx) # CHECK-NEXT: 1 1 1.00 * U fstl (%ecx) -# CHECK-NEXT: 1 1 0.25 U fstp %st(0) +# CHECK-NEXT: 1 1 0.25 U fstp %st # CHECK-NEXT: 2 1 1.00 * U fstpl (%edx) # CHECK-NEXT: 2 1 1.00 * U fstpl (%ecx) # CHECK-NEXT: 2 1 1.00 * U fstpt (%eax) @@ -321,7 +321,7 @@ fyl2xp1 # CHECK-NEXT: 1 100 0.25 U frstor (%eax) # CHECK-NEXT: 2 2 0.50 U wait # CHECK-NEXT: 1 100 0.25 U fnsave (%eax) -# CHECK-NEXT: 1 3 1.00 U fsub %st(0), %st(1) +# CHECK-NEXT: 1 3 1.00 U fsub %st, %st(1) # CHECK-NEXT: 1 3 1.00 U fsub %st(2) # CHECK-NEXT: 2 10 1.00 * U fsubs (%ecx) # CHECK-NEXT: 2 10 1.00 * U fsubl (%eax) @@ -329,7 +329,7 @@ fyl2xp1 # CHECK-NEXT: 1 3 1.00 U fsubp %st(2) # CHECK-NEXT: 3 13 2.00 * U fisubs (%ecx) # CHECK-NEXT: 3 13 2.00 * U fisubl (%eax) -# CHECK-NEXT: 1 3 1.00 U fsubr %st(0), %st(1) +# CHECK-NEXT: 1 3 1.00 U fsubr %st, %st(1) # CHECK-NEXT: 1 3 1.00 U fsubr %st(2) # CHECK-NEXT: 2 10 1.00 * U fsubrs (%ecx) # CHECK-NEXT: 2 10 1.00 * U fsubrl (%eax) @@ -375,7 +375,7 @@ fyl2xp1 # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions: # CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - f2xm1 # CHECK-NEXT: - - 1.00 - - - - - - - fabs -# CHECK-NEXT: - - - - - - - 1.00 - - fadd %st(0), %st(1) +# CHECK-NEXT: - - - - - - - 1.00 - - fadd %st, %st(1) # CHECK-NEXT: - - - - - - - 1.00 - - fadd %st(2) # CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - fadds (%ecx) # CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - faddl (%ecx) @@ -387,14 +387,14 @@ fyl2xp1 # CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 fbstp (%eax) # CHECK-NEXT: - - 1.00 - - - - - - - fchs # CHECK-NEXT: - - 1.00 1.00 - - - 1.00 1.00 - fnclex -# CHECK-NEXT: - - - 1.00 - - - - - - fcmovb %st(1), %st(0) -# CHECK-NEXT: - - - 1.00 - - - - - - fcmovbe %st(1), %st(0) -# CHECK-NEXT: - - - 1.00 - - - - - - fcmove %st(1), %st(0) -# CHECK-NEXT: - - - 1.00 - - - - - - fcmovnb %st(1), %st(0) -# CHECK-NEXT: - - - 1.00 - - - - - - fcmovnbe %st(1), %st(0) -# CHECK-NEXT: - - - 1.00 - - - - - - fcmovne %st(1), %st(0) -# CHECK-NEXT: - - - 1.00 - - - - - - fcmovnu %st(1), %st(0) -# CHECK-NEXT: - - - 1.00 - - - - - - fcmovu %st(1), %st(0) +# CHECK-NEXT: - - - 1.00 - - - - - - fcmovb %st(1), %st +# CHECK-NEXT: - - - 1.00 - - - - - - fcmovbe %st(1), %st +# CHECK-NEXT: - - - 1.00 - - - - - - fcmove %st(1), %st +# CHECK-NEXT: - - - 1.00 - - - - - - fcmovnb %st(1), %st +# CHECK-NEXT: - - - 1.00 - - - - - - fcmovnbe %st(1), %st +# CHECK-NEXT: - - - 1.00 - - - - - - fcmovne %st(1), %st +# CHECK-NEXT: - - - 1.00 - - - - - - fcmovnu %st(1), %st +# CHECK-NEXT: - - - 1.00 - - - - - - fcmovu %st(1), %st # CHECK-NEXT: - - - - - - - 1.00 - - fcom %st(1) # CHECK-NEXT: - - - - - - - 1.00 - - fcom %st(3) # CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - fcoms (%ecx) @@ -408,7 +408,7 @@ fyl2xp1 # CHECK-NEXT: - - 1.00 - - - - - - - fcompi %st(3) # CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fcos # CHECK-NEXT: - - 1.00 - - - - 1.00 - - fdecstp -# CHECK-NEXT: - - 1.00 - - - - - - - fdiv %st(0), %st(1) +# CHECK-NEXT: - - 1.00 - - - - - - - fdiv %st, %st(1) # CHECK-NEXT: - - 1.00 - - - - - - - fdiv %st(2) # CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - fdivs (%ecx) # CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - fdivl (%eax) @@ -416,7 +416,7 @@ fyl2xp1 # CHECK-NEXT: - - 1.00 - - - - - - - fdivp %st(2) # CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - fidivs (%ecx) # CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - fidivl (%eax) -# CHECK-NEXT: - - 1.00 - - - - - - - fdivr %st(0), %st(1) +# CHECK-NEXT: - - 1.00 - - - - - - - fdivr %st, %st(1) # CHECK-NEXT: - - 1.00 - - - - - - - fdivr %st(2) # CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - fdivrs (%ecx) # CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - fdivrl (%eax) @@ -424,7 +424,7 @@ fyl2xp1 # CHECK-NEXT: - - 1.00 - - - - - - - fdivrp %st(2) # CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - fidivrs (%ecx) # CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - fidivrl (%eax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - ffree %st(0) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - ffree %st # CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - ficoms (%ecx) # CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - ficoml (%eax) # CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - ficomps (%ecx) @@ -442,7 +442,7 @@ fyl2xp1 # CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 fisttps (%edx) # CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 fisttpl (%ecx) # CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 fisttpll (%eax) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fld %st(0) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fld %st # CHECK-NEXT: - - - - 0.50 0.50 - - - - flds (%edx) # CHECK-NEXT: - - - - 0.50 0.50 - - - - fldl (%ecx) # CHECK-NEXT: - - - - 0.50 0.50 - - - - fldt (%eax) @@ -455,7 +455,7 @@ fyl2xp1 # CHECK-NEXT: - - 1.00 - - - - 1.00 - - fldln2 # CHECK-NEXT: - - 1.00 - - - - 1.00 - - fldpi # CHECK-NEXT: - - 0.50 - - - - 0.50 - - fldz -# CHECK-NEXT: - - 1.00 - - - - - - - fmul %st(0), %st(1) +# CHECK-NEXT: - - 1.00 - - - - - - - fmul %st, %st(1) # CHECK-NEXT: - - 1.00 - - - - - - - fmul %st(2) # CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - fmuls (%ecx) # CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - fmull (%eax) @@ -475,10 +475,10 @@ fyl2xp1 # CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fsin # CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fsincos # CHECK-NEXT: - 7.00 1.00 - - - - - - - fsqrt -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fst %st(0) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fst %st # CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 fsts (%edx) # CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 fstl (%ecx) -# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fstp %st(0) +# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fstp %st # CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 fstpl (%edx) # CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 fstpl (%ecx) # CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 fstpt (%eax) @@ -488,7 +488,7 @@ fyl2xp1 # CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - frstor (%eax) # CHECK-NEXT: - - 0.50 0.50 - - - 0.50 0.50 - wait # CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fnsave (%eax) -# CHECK-NEXT: - - - - - - - 1.00 - - fsub %st(0), %st(1) +# CHECK-NEXT: - - - - - - - 1.00 - - fsub %st, %st(1) # CHECK-NEXT: - - - - - - - 1.00 - - fsub %st(2) # CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - fsubs (%ecx) # CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - fsubl (%eax) @@ -496,7 +496,7 @@ fyl2xp1 # CHECK-NEXT: - - - - - - - 1.00 - - fsubp %st(2) # CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - fisubs (%ecx) # CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - fisubl (%eax) -# CHECK-NEXT: - - - - - - - 1.00 - - fsubr %st(0), %st(1) +# CHECK-NEXT: - - - - - - - 1.00 - - fsubr %st, %st(1) # CHECK-NEXT: - - - - - - - 1.00 - - fsubr %st(2) # CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - fsubrs (%ecx) # CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - fsubrl (%eax) diff --git a/llvm/test/tools/llvm-mca/X86/Znver1/resources-x87.s b/llvm/test/tools/llvm-mca/X86/Znver1/resources-x87.s index 2f5f6ef08f1..8da33440b7f 100644 --- a/llvm/test/tools/llvm-mca/X86/Znver1/resources-x87.s +++ b/llvm/test/tools/llvm-mca/X86/Znver1/resources-x87.s @@ -5,7 +5,7 @@ f2xm1 fabs -fadd %st(0), %st(1) +fadd %st, %st(1) fadd %st(2) fadds (%ecx) faddl (%ecx) @@ -21,14 +21,14 @@ fchs fnclex -fcmovb %st(1), %st(0) -fcmovbe %st(1), %st(0) -fcmove %st(1), %st(0) -fcmovnb %st(1), %st(0) -fcmovnbe %st(1), %st(0) -fcmovne %st(1), %st(0) -fcmovnu %st(1), %st(0) -fcmovu %st(1), %st(0) +fcmovb %st(1), %st +fcmovbe %st(1), %st +fcmove %st(1), %st +fcmovnb %st(1), %st +fcmovnbe %st(1), %st +fcmovne %st(1), %st +fcmovnu %st(1), %st +fcmovu %st(1), %st fcom %st(1) fcom %st(3) @@ -47,7 +47,7 @@ fcos fdecstp -fdiv %st(0), %st(1) +fdiv %st, %st(1) fdiv %st(2) fdivs (%ecx) fdivl (%eax) @@ -56,7 +56,7 @@ fdivp %st(2) fidivs (%ecx) fidivl (%eax) -fdivr %st(0), %st(1) +fdivr %st, %st(1) fdivr %st(2) fdivrs (%ecx) fdivrl (%eax) @@ -65,7 +65,7 @@ fdivrp %st(2) fidivrs (%ecx) fidivrl (%eax) -ffree %st(0) +ffree %st ficoms (%ecx) ficoml (%eax) @@ -90,7 +90,7 @@ fisttps (%edx) fisttpl (%ecx) fisttpll (%eax) -fld %st(0) +fld %st flds (%edx) fldl (%ecx) fldt (%eax) @@ -106,7 +106,7 @@ fldln2 fldpi fldz -fmul %st(0), %st(1) +fmul %st, %st(1) fmul %st(2) fmuls (%ecx) fmull (%eax) @@ -138,10 +138,10 @@ fsincos fsqrt -fst %st(0) +fst %st fsts (%edx) fstl (%ecx) -fstp %st(0) +fstp %st fstpl (%edx) fstpl (%ecx) fstpt (%eax) @@ -153,7 +153,7 @@ fnstsw (%eax) frstor (%eax) fsave (%eax) -fsub %st(0), %st(1) +fsub %st, %st(1) fsub %st(2) fsubs (%ecx) fsubl (%eax) @@ -162,7 +162,7 @@ fsubp %st(2) fisubs (%ecx) fisubl (%eax) -fsubr %st(0), %st(1) +fsubr %st, %st(1) fsubr %st(2) fsubrs (%ecx) fsubrl (%eax) @@ -208,7 +208,7 @@ fyl2xp1 # CHECK: [1] [2] [3] [4] [5] [6] Instructions: # CHECK-NEXT: 1 100 0.25 U f2xm1 # CHECK-NEXT: 1 2 1.00 U fabs -# CHECK-NEXT: 1 3 1.00 U fadd %st(0), %st(1) +# CHECK-NEXT: 1 3 1.00 U fadd %st, %st(1) # CHECK-NEXT: 1 3 1.00 U fadd %st(2) # CHECK-NEXT: 1 10 1.00 * U fadds (%ecx) # CHECK-NEXT: 1 10 1.00 * U faddl (%ecx) @@ -220,14 +220,14 @@ fyl2xp1 # CHECK-NEXT: 1 100 0.25 U fbstp (%eax) # CHECK-NEXT: 1 1 1.00 U fchs # CHECK-NEXT: 1 100 0.25 U fnclex -# CHECK-NEXT: 1 100 0.25 U fcmovb %st(1), %st(0) -# CHECK-NEXT: 1 100 0.25 U fcmovbe %st(1), %st(0) -# CHECK-NEXT: 1 100 0.25 U fcmove %st(1), %st(0) -# CHECK-NEXT: 1 100 0.25 U fcmovnb %st(1), %st(0) -# CHECK-NEXT: 1 100 0.25 U fcmovnbe %st(1), %st(0) -# CHECK-NEXT: 1 100 0.25 U fcmovne %st(1), %st(0) -# CHECK-NEXT: 1 100 0.25 U fcmovnu %st(1), %st(0) -# CHECK-NEXT: 1 100 0.25 U fcmovu %st(1), %st(0) +# CHECK-NEXT: 1 100 0.25 U fcmovb %st(1), %st +# CHECK-NEXT: 1 100 0.25 U fcmovbe %st(1), %st +# CHECK-NEXT: 1 100 0.25 U fcmove %st(1), %st +# CHECK-NEXT: 1 100 0.25 U fcmovnb %st(1), %st +# CHECK-NEXT: 1 100 0.25 U fcmovnbe %st(1), %st +# CHECK-NEXT: 1 100 0.25 U fcmovne %st(1), %st +# CHECK-NEXT: 1 100 0.25 U fcmovnu %st(1), %st +# CHECK-NEXT: 1 100 0.25 U fcmovu %st(1), %st # CHECK-NEXT: 1 1 1.00 U fcom %st(1) # CHECK-NEXT: 1 1 1.00 U fcom %st(3) # CHECK-NEXT: 1 8 1.00 U fcoms (%ecx) @@ -241,7 +241,7 @@ fyl2xp1 # CHECK-NEXT: 1 9 0.50 U fcompi %st(3) # CHECK-NEXT: 1 100 0.25 U fcos # CHECK-NEXT: 1 11 1.00 U fdecstp -# CHECK-NEXT: 1 15 1.00 U fdiv %st(0), %st(1) +# CHECK-NEXT: 1 15 1.00 U fdiv %st, %st(1) # CHECK-NEXT: 1 15 1.00 U fdiv %st(2) # CHECK-NEXT: 1 22 1.00 * U fdivs (%ecx) # CHECK-NEXT: 1 22 1.00 * U fdivl (%eax) @@ -249,7 +249,7 @@ fyl2xp1 # CHECK-NEXT: 1 15 1.00 U fdivp %st(2) # CHECK-NEXT: 1 22 1.00 * U fidivs (%ecx) # CHECK-NEXT: 1 22 1.00 * U fidivl (%eax) -# CHECK-NEXT: 1 15 1.00 U fdivr %st(0), %st(1) +# CHECK-NEXT: 1 15 1.00 U fdivr %st, %st(1) # CHECK-NEXT: 1 15 1.00 U fdivr %st(2) # CHECK-NEXT: 1 22 1.00 * U fdivrs (%ecx) # CHECK-NEXT: 1 22 1.00 * U fdivrl (%eax) @@ -257,7 +257,7 @@ fyl2xp1 # CHECK-NEXT: 1 15 1.00 U fdivrp %st(2) # CHECK-NEXT: 1 22 1.00 * U fidivrs (%ecx) # CHECK-NEXT: 1 22 1.00 * U fidivrl (%eax) -# CHECK-NEXT: 1 11 1.00 U ffree %st(0) +# CHECK-NEXT: 1 11 1.00 U ffree %st # CHECK-NEXT: 2 12 1.50 U ficoms (%ecx) # CHECK-NEXT: 2 12 1.50 U ficoml (%eax) # CHECK-NEXT: 2 12 1.50 U ficomps (%ecx) @@ -275,7 +275,7 @@ fyl2xp1 # CHECK-NEXT: 1 12 0.50 * U fisttps (%edx) # CHECK-NEXT: 1 12 0.50 * U fisttpl (%ecx) # CHECK-NEXT: 1 12 0.50 * U fisttpll (%eax) -# CHECK-NEXT: 1 1 0.50 U fld %st(0) +# CHECK-NEXT: 1 1 0.50 U fld %st # CHECK-NEXT: 1 8 0.50 * U flds (%edx) # CHECK-NEXT: 1 8 0.50 * U fldl (%ecx) # CHECK-NEXT: 2 1 0.50 * U fldt (%eax) @@ -288,7 +288,7 @@ fyl2xp1 # CHECK-NEXT: 1 11 1.00 U fldln2 # CHECK-NEXT: 1 11 1.00 U fldpi # CHECK-NEXT: 1 8 0.50 U fldz -# CHECK-NEXT: 1 3 0.50 U fmul %st(0), %st(1) +# CHECK-NEXT: 1 3 0.50 U fmul %st, %st(1) # CHECK-NEXT: 1 3 0.50 U fmul %st(2) # CHECK-NEXT: 2 10 0.50 * U fmuls (%ecx) # CHECK-NEXT: 2 10 0.50 * U fmull (%eax) @@ -308,10 +308,10 @@ fyl2xp1 # CHECK-NEXT: 1 100 0.25 U fsin # CHECK-NEXT: 1 100 0.25 U fsincos # CHECK-NEXT: 1 20 20.00 U fsqrt -# CHECK-NEXT: 2 5 0.50 U fst %st(0) +# CHECK-NEXT: 2 5 0.50 U fst %st # CHECK-NEXT: 1 1 0.50 * U fsts (%edx) # CHECK-NEXT: 1 1 0.50 * U fstl (%ecx) -# CHECK-NEXT: 2 5 0.50 U fstp %st(0) +# CHECK-NEXT: 2 5 0.50 U fstp %st # CHECK-NEXT: 1 1 0.50 * U fstpl (%edx) # CHECK-NEXT: 1 1 0.50 * U fstpl (%ecx) # CHECK-NEXT: 1 5 0.50 * U fstpt (%eax) @@ -321,7 +321,7 @@ fyl2xp1 # CHECK-NEXT: 1 100 0.25 U frstor (%eax) # CHECK-NEXT: 1 1 1.00 U wait # CHECK-NEXT: 1 100 0.25 U fnsave (%eax) -# CHECK-NEXT: 1 3 1.00 U fsub %st(0), %st(1) +# CHECK-NEXT: 1 3 1.00 U fsub %st, %st(1) # CHECK-NEXT: 1 3 1.00 U fsub %st(2) # CHECK-NEXT: 1 10 1.00 * U fsubs (%ecx) # CHECK-NEXT: 1 10 1.00 * U fsubl (%eax) @@ -329,7 +329,7 @@ fyl2xp1 # CHECK-NEXT: 1 3 1.00 U fsubp %st(2) # CHECK-NEXT: 1 10 1.00 * U fisubs (%ecx) # CHECK-NEXT: 1 10 1.00 * U fisubl (%eax) -# CHECK-NEXT: 1 3 1.00 U fsubr %st(0), %st(1) +# CHECK-NEXT: 1 3 1.00 U fsubr %st, %st(1) # CHECK-NEXT: 1 3 1.00 U fsubr %st(2) # CHECK-NEXT: 1 10 1.00 * U fsubrs (%ecx) # CHECK-NEXT: 1 10 1.00 * U fsubrl (%eax) @@ -377,7 +377,7 @@ fyl2xp1 # CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] Instructions: # CHECK-NEXT: - - - - - - - - - - - - f2xm1 # CHECK-NEXT: - - - - - - - - - - 1.00 - fabs -# CHECK-NEXT: - - - - - - - 1.00 - - - - fadd %st(0), %st(1) +# CHECK-NEXT: - - - - - - - 1.00 - - - - fadd %st, %st(1) # CHECK-NEXT: - - - - - - - 1.00 - - - - fadd %st(2) # CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - fadds (%ecx) # CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - faddl (%ecx) @@ -389,14 +389,14 @@ fyl2xp1 # CHECK-NEXT: - - - - - - - - - - - - fbstp (%eax) # CHECK-NEXT: - - - - - - - - - - 1.00 - fchs # CHECK-NEXT: - - - - - - - - - - - - fnclex -# CHECK-NEXT: - - - - - - - - - - - - fcmovb %st(1), %st(0) -# CHECK-NEXT: - - - - - - - - - - - - fcmovbe %st(1), %st(0) -# CHECK-NEXT: - - - - - - - - - - - - fcmove %st(1), %st(0) -# CHECK-NEXT: - - - - - - - - - - - - fcmovnb %st(1), %st(0) -# CHECK-NEXT: - - - - - - - - - - - - fcmovnbe %st(1), %st(0) -# CHECK-NEXT: - - - - - - - - - - - - fcmovne %st(1), %st(0) -# CHECK-NEXT: - - - - - - - - - - - - fcmovnu %st(1), %st(0) -# CHECK-NEXT: - - - - - - - - - - - - fcmovu %st(1), %st(0) +# CHECK-NEXT: - - - - - - - - - - - - fcmovb %st(1), %st +# CHECK-NEXT: - - - - - - - - - - - - fcmovbe %st(1), %st +# CHECK-NEXT: - - - - - - - - - - - - fcmove %st(1), %st +# CHECK-NEXT: - - - - - - - - - - - - fcmovnb %st(1), %st +# CHECK-NEXT: - - - - - - - - - - - - fcmovnbe %st(1), %st +# CHECK-NEXT: - - - - - - - - - - - - fcmovne %st(1), %st +# CHECK-NEXT: - - - - - - - - - - - - fcmovnu %st(1), %st +# CHECK-NEXT: - - - - - - - - - - - - fcmovu %st(1), %st # CHECK-NEXT: - - - - - - - 1.00 - - - - fcom %st(1) # CHECK-NEXT: - - - - - - - 1.00 - - - - fcom %st(3) # CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - fcoms (%ecx) @@ -410,7 +410,7 @@ fyl2xp1 # CHECK-NEXT: 0.50 0.50 - - - - - 0.50 - 0.50 - - fcompi %st(3) # CHECK-NEXT: - - - - - - - - - - - - fcos # CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - fdecstp -# CHECK-NEXT: - - - - - - - - - - 1.00 - fdiv %st(0), %st(1) +# CHECK-NEXT: - - - - - - - - - - 1.00 - fdiv %st, %st(1) # CHECK-NEXT: - - - - - - - - - - 1.00 - fdiv %st(2) # CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - fdivs (%ecx) # CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - fdivl (%eax) @@ -418,7 +418,7 @@ fyl2xp1 # CHECK-NEXT: - - - - - - - - - - 1.00 - fdivp %st(2) # CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - fidivs (%ecx) # CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - fidivl (%eax) -# CHECK-NEXT: - - - - - - - - - - 1.00 - fdivr %st(0), %st(1) +# CHECK-NEXT: - - - - - - - - - - 1.00 - fdivr %st, %st(1) # CHECK-NEXT: - - - - - - - - - - 1.00 - fdivr %st(2) # CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - fdivrs (%ecx) # CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - fdivrl (%eax) @@ -426,7 +426,7 @@ fyl2xp1 # CHECK-NEXT: - - - - - - - - - - 1.00 - fdivrp %st(2) # CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - fidivrs (%ecx) # CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - fidivrl (%eax) -# CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - ffree %st(0) +# CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - ffree %st # CHECK-NEXT: 0.50 0.50 - - - - - 1.50 - - 1.50 - ficoms (%ecx) # CHECK-NEXT: 0.50 0.50 - - - - - 1.50 - - 1.50 - ficoml (%eax) # CHECK-NEXT: 0.50 0.50 - - - - - 1.50 - - 1.50 - ficomps (%ecx) @@ -444,7 +444,7 @@ fyl2xp1 # CHECK-NEXT: 0.50 0.50 - - - - - - - 0.50 0.50 - fisttps (%edx) # CHECK-NEXT: 0.50 0.50 - - - - - - - 0.50 0.50 - fisttpl (%ecx) # CHECK-NEXT: 0.50 0.50 - - - - - - - 0.50 0.50 - fisttpll (%eax) -# CHECK-NEXT: - - - - - - - - 0.50 - 0.50 - fld %st(0) +# CHECK-NEXT: - - - - - - - - 0.50 - 0.50 - fld %st # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - flds (%edx) # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - fldl (%ecx) # CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 - 0.50 - fldt (%eax) @@ -457,7 +457,7 @@ fyl2xp1 # CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - fldln2 # CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - fldpi # CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 - 0.50 - fldz -# CHECK-NEXT: - - - - - - - 0.50 0.50 - - - fmul %st(0), %st(1) +# CHECK-NEXT: - - - - - - - 0.50 0.50 - - - fmul %st, %st(1) # CHECK-NEXT: - - - - - - - 0.50 0.50 - - - fmul %st(2) # CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 - - - fmuls (%ecx) # CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 - - - fmull (%eax) @@ -477,10 +477,10 @@ fyl2xp1 # CHECK-NEXT: - - - - - - - - - - - - fsin # CHECK-NEXT: - - - - - - - - - - - - fsincos # CHECK-NEXT: - - - - - - - - - - 20.00 - fsqrt -# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - fst %st(0) +# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - fst %st # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - fsts (%edx) # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - fstl (%ecx) -# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - fstp %st(0) +# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - fstp %st # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - fstpl (%edx) # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - fstpl (%ecx) # CHECK-NEXT: 0.50 0.50 - - - - - - - 0.50 0.50 - fstpt (%eax) @@ -490,7 +490,7 @@ fyl2xp1 # CHECK-NEXT: - - - - - - - - - - - - frstor (%eax) # CHECK-NEXT: - - - - - - - 1.00 - - - - wait # CHECK-NEXT: - - - - - - - - - - - - fnsave (%eax) -# CHECK-NEXT: - - - - - - - 1.00 - - - - fsub %st(0), %st(1) +# CHECK-NEXT: - - - - - - - 1.00 - - - - fsub %st, %st(1) # CHECK-NEXT: - - - - - - - 1.00 - - - - fsub %st(2) # CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - fsubs (%ecx) # CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - fsubl (%eax) @@ -498,7 +498,7 @@ fyl2xp1 # CHECK-NEXT: - - - - - - - 1.00 - - - - fsubp %st(2) # CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - fisubs (%ecx) # CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - fisubl (%eax) -# CHECK-NEXT: - - - - - - - 1.00 - - - - fsubr %st(0), %st(1) +# CHECK-NEXT: - - - - - - - 1.00 - - - - fsubr %st, %st(1) # CHECK-NEXT: - - - - - - - 1.00 - - - - fsubr %st(2) # CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - fsubrs (%ecx) # CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - fsubrl (%eax) |

