# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 1 1.00 b t
# ALL-NEXT: [3]: RThroughput
# ALL-NEXT: [4]: MayLoad
# ALL-NEXT: [5]: MayStore
-# ALL-NEXT: [6]: HasSideEffects
+# ALL-NEXT: [6]: HasSideEffects (U)
# ALL: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 2 0 1.00 * stp d0, d1, [x0]
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 1 0.50 cmovow %si, %di
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
-# CHECK-NEXT: 1 5 2.50 * * * emms
+# CHECK-NEXT: 1 5 2.50 * * U emms
# CHECK-NEXT: 1 1 1.00 movd %eax, %mm2
# CHECK-NEXT: 1 1 1.00 * movd (%rax), %mm2
# CHECK-NEXT: 1 3 3.00 movd %mm0, %ecx
-# CHECK-NEXT: 1 1 1.00 * * movd %mm0, (%rax)
+# CHECK-NEXT: 1 1 1.00 * U movd %mm0, (%rax)
# CHECK-NEXT: 1 1 1.00 movq %rax, %mm2
# CHECK-NEXT: 1 1 1.00 * movq (%rax), %mm2
# CHECK-NEXT: 1 3 3.00 movq %mm0, %rcx
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 5 5.00 addps %xmm0, %xmm2
# CHECK-NEXT: 1 70 35.00 * divps (%rax), %xmm2
# CHECK-NEXT: 1 34 17.00 divss %xmm0, %xmm2
# CHECK-NEXT: 1 34 17.00 * divss (%rax), %xmm2
-# CHECK-NEXT: 1 5 2.50 * * * ldmxcsr (%rax)
-# CHECK-NEXT: 1 1 1.00 * * * maskmovq %mm0, %mm1
+# CHECK-NEXT: 1 5 2.50 * * U ldmxcsr (%rax)
+# CHECK-NEXT: 1 1 1.00 * * U maskmovq %mm0, %mm1
# CHECK-NEXT: 1 5 5.00 maxps %xmm0, %xmm2
# CHECK-NEXT: 1 5 5.00 * maxps (%rax), %xmm2
# CHECK-NEXT: 1 5 5.00 maxss %xmm0, %xmm2
# CHECK-NEXT: 1 1 1.00 * movhps %xmm0, (%rax)
# CHECK-NEXT: 1 1 1.00 * movhps (%rax), %xmm2
# CHECK-NEXT: 1 1 1.00 * movlps %xmm0, (%rax)
-# CHECK-NEXT: 1 1 1.00 * movlps (%rax), %xmm2
+# CHECK-NEXT: 1 1 1.00 U movlps (%rax), %xmm2
# CHECK-NEXT: 1 3 3.00 movmskps %xmm0, %ecx
# CHECK-NEXT: 1 1 1.00 * movntps %xmm0, (%rax)
-# CHECK-NEXT: 1 1 1.00 * * * movntq %mm0, (%rax)
+# CHECK-NEXT: 1 1 1.00 * * U movntq %mm0, (%rax)
# CHECK-NEXT: 1 1 0.50 movss %xmm0, %xmm2
# CHECK-NEXT: 1 1 1.00 * movss %xmm0, (%rax)
# CHECK-NEXT: 1 1 1.00 * movss (%rax), %xmm2
# CHECK-NEXT: 1 10 5.00 * rsqrtps (%rax), %xmm2
# CHECK-NEXT: 1 4 4.00 rsqrtss %xmm0, %xmm2
# CHECK-NEXT: 1 4 4.00 * rsqrtss (%rax), %xmm2
-# CHECK-NEXT: 1 1 1.00 * * * sfence
+# CHECK-NEXT: 1 1 1.00 * * U sfence
# CHECK-NEXT: 1 1 1.00 shufps $1, %xmm0, %xmm2
# CHECK-NEXT: 1 1 1.00 * shufps $1, (%rax), %xmm2
# CHECK-NEXT: 1 70 35.00 sqrtps %xmm0, %xmm2
# CHECK-NEXT: 1 70 35.00 * sqrtps (%rax), %xmm2
# CHECK-NEXT: 1 34 17.00 sqrtss %xmm0, %xmm2
# CHECK-NEXT: 1 34 17.00 * sqrtss (%rax), %xmm2
-# CHECK-NEXT: 1 15 7.50 * * * stmxcsr (%rax)
+# CHECK-NEXT: 1 15 7.50 * * U stmxcsr (%rax)
# CHECK-NEXT: 1 5 5.00 subps %xmm0, %xmm2
# CHECK-NEXT: 1 5 5.00 * subps (%rax), %xmm2
# CHECK-NEXT: 1 5 5.00 subss %xmm0, %xmm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 6 3.00 addpd %xmm0, %xmm2
# CHECK-NEXT: 1 1 1.00 * andnpd (%rax), %xmm2
# CHECK-NEXT: 1 1 0.50 andpd %xmm0, %xmm2
# CHECK-NEXT: 1 1 1.00 * andpd (%rax), %xmm2
-# CHECK-NEXT: 1 1 1.00 * * * clflush (%rax)
+# CHECK-NEXT: 1 1 1.00 * * U clflush (%rax)
# CHECK-NEXT: 1 6 3.00 cmppd $0, %xmm0, %xmm2
# CHECK-NEXT: 1 7 3.50 * cmppd $0, (%rax), %xmm2
# CHECK-NEXT: 1 5 5.00 cmpsd $0, %xmm0, %xmm2
# CHECK-NEXT: 1 125 62.50 * divpd (%rax), %xmm2
# CHECK-NEXT: 1 62 31.00 divsd %xmm0, %xmm2
# CHECK-NEXT: 1 62 31.00 * divsd (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.50 * * * lfence
-# CHECK-NEXT: 1 2 1.00 * * * maskmovdqu %xmm0, %xmm1
+# CHECK-NEXT: 1 1 0.50 * * U lfence
+# CHECK-NEXT: 1 2 1.00 * * U maskmovdqu %xmm0, %xmm1
# CHECK-NEXT: 1 6 3.00 maxpd %xmm0, %xmm2
# CHECK-NEXT: 1 7 3.50 * maxpd (%rax), %xmm2
# CHECK-NEXT: 1 5 5.00 maxsd %xmm0, %xmm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 6 3.00 addsubpd %xmm0, %xmm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 1 0.50 pabsb %mm0, %mm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 1 0.50 adcb $7, %al
# CHECK-NEXT: 1 2 1.00 * * btcq $7, (%rax)
# CHECK-NEXT: 1 2 1.00 * * btrq $7, (%rax)
# CHECK-NEXT: 1 2 1.00 * * btsq $7, (%rax)
-# CHECK-NEXT: 1 1 0.50 * clc
+# CHECK-NEXT: 1 1 0.50 U clc
# CHECK-NEXT: 1 1 0.50 decb %dil
# CHECK-NEXT: 1 1 1.00 * * decb (%rax)
# CHECK-NEXT: 1 1 0.50 decw %di
# CHECK-NEXT: 1 1 1.00 * * decl (%rax)
# CHECK-NEXT: 1 1 0.50 decq %rdi
# CHECK-NEXT: 1 1 1.00 * * decq (%rax)
-# CHECK-NEXT: 1 50 25.00 * divb %dil
-# CHECK-NEXT: 1 68 34.00 * * divb (%rax)
-# CHECK-NEXT: 1 50 25.00 * divw %si
-# CHECK-NEXT: 1 50 25.00 * * divw (%rax)
-# CHECK-NEXT: 1 50 25.00 * divl %edx
-# CHECK-NEXT: 1 50 25.00 * * divl (%rax)
-# CHECK-NEXT: 1 130 65.00 * divq %rcx
-# CHECK-NEXT: 1 130 65.00 * * divq (%rax)
-# CHECK-NEXT: 1 62 31.00 * idivb %dil
-# CHECK-NEXT: 1 62 31.00 * * idivb (%rax)
-# CHECK-NEXT: 1 62 31.00 * idivw %si
-# CHECK-NEXT: 1 62 31.00 * * idivw (%rax)
-# CHECK-NEXT: 1 62 31.00 * idivl %edx
-# CHECK-NEXT: 1 62 31.00 * * idivl (%rax)
-# CHECK-NEXT: 1 130 65.00 * idivq %rcx
-# CHECK-NEXT: 1 130 65.00 * * idivq (%rax)
+# CHECK-NEXT: 1 50 25.00 U divb %dil
+# CHECK-NEXT: 1 68 34.00 * U divb (%rax)
+# CHECK-NEXT: 1 50 25.00 U divw %si
+# CHECK-NEXT: 1 50 25.00 * U divw (%rax)
+# CHECK-NEXT: 1 50 25.00 U divl %edx
+# CHECK-NEXT: 1 50 25.00 * U divl (%rax)
+# CHECK-NEXT: 1 130 65.00 U divq %rcx
+# CHECK-NEXT: 1 130 65.00 * U divq (%rax)
+# CHECK-NEXT: 1 62 31.00 U idivb %dil
+# CHECK-NEXT: 1 62 31.00 * U idivb (%rax)
+# CHECK-NEXT: 1 62 31.00 U idivw %si
+# CHECK-NEXT: 1 62 31.00 * U idivw (%rax)
+# CHECK-NEXT: 1 62 31.00 U idivl %edx
+# CHECK-NEXT: 1 62 31.00 * U idivl (%rax)
+# CHECK-NEXT: 1 130 65.00 U idivq %rcx
+# CHECK-NEXT: 1 130 65.00 * U idivq (%rax)
# CHECK-NEXT: 1 7 3.50 imulb %dil
# CHECK-NEXT: 1 7 3.50 * imulb (%rax)
# CHECK-NEXT: 1 7 3.50 imulw %di
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
-# CHECK-NEXT: 1 99 49.50 * f2xm1
-# CHECK-NEXT: 1 1 1.00 * fabs
-# CHECK-NEXT: 1 5 5.00 * fadd %st(0), %st(1)
-# CHECK-NEXT: 1 5 5.00 * fadd %st(2)
-# CHECK-NEXT: 1 5 5.00 * * fadds (%ecx)
-# CHECK-NEXT: 1 5 5.00 * * faddl (%ecx)
-# CHECK-NEXT: 1 5 5.00 * faddp %st(1)
-# CHECK-NEXT: 1 5 5.00 * faddp %st(2)
-# CHECK-NEXT: 1 5 5.00 * * fiadds (%ecx)
-# CHECK-NEXT: 1 5 5.00 * * fiaddl (%ecx)
-# CHECK-NEXT: 1 100 0.50 * fbld (%ecx)
-# CHECK-NEXT: 1 100 0.50 * fbstp (%eax)
-# CHECK-NEXT: 1 1 1.00 * fchs
-# CHECK-NEXT: 1 25 12.50 * fnclex
-# CHECK-NEXT: 1 9 4.50 * fcmovb %st(1), %st(0)
-# CHECK-NEXT: 1 9 4.50 * fcmovbe %st(1), %st(0)
-# CHECK-NEXT: 1 9 4.50 * fcmove %st(1), %st(0)
-# CHECK-NEXT: 1 9 4.50 * fcmovnb %st(1), %st(0)
-# CHECK-NEXT: 1 9 4.50 * fcmovnbe %st(1), %st(0)
-# CHECK-NEXT: 1 9 4.50 * fcmovne %st(1), %st(0)
-# CHECK-NEXT: 1 9 4.50 * fcmovnu %st(1), %st(0)
-# CHECK-NEXT: 1 9 4.50 * fcmovu %st(1), %st(0)
-# CHECK-NEXT: 1 5 5.00 * fcom %st(1)
-# CHECK-NEXT: 1 5 5.00 * fcom %st(3)
-# CHECK-NEXT: 1 5 5.00 * fcoms (%ecx)
-# CHECK-NEXT: 1 5 5.00 * fcoml (%eax)
-# CHECK-NEXT: 1 5 5.00 * fcomp %st(1)
-# CHECK-NEXT: 1 5 5.00 * fcomp %st(3)
-# CHECK-NEXT: 1 5 5.00 * fcomps (%ecx)
-# CHECK-NEXT: 1 5 5.00 * fcompl (%eax)
-# CHECK-NEXT: 1 1 1.00 * fcompp
-# CHECK-NEXT: 1 9 4.50 * fcomi %st(3)
-# CHECK-NEXT: 1 9 4.50 * fcompi %st(3)
-# CHECK-NEXT: 1 174 87.00 * fcos
-# CHECK-NEXT: 1 1 0.50 * fdecstp
-# CHECK-NEXT: 1 34 17.00 * fdiv %st(0), %st(1)
-# CHECK-NEXT: 1 34 17.00 * fdiv %st(2)
-# CHECK-NEXT: 1 34 17.00 * * fdivs (%ecx)
-# CHECK-NEXT: 1 34 17.00 * * fdivl (%eax)
-# CHECK-NEXT: 1 34 17.00 * fdivp %st(1)
-# CHECK-NEXT: 1 34 17.00 * fdivp %st(2)
-# CHECK-NEXT: 1 34 17.00 * * fidivs (%ecx)
-# CHECK-NEXT: 1 34 17.00 * * fidivl (%eax)
-# CHECK-NEXT: 1 34 17.00 * fdivr %st(0), %st(1)
-# CHECK-NEXT: 1 34 17.00 * fdivr %st(2)
-# CHECK-NEXT: 1 34 17.00 * * fdivrs (%ecx)
-# CHECK-NEXT: 1 34 17.00 * * fdivrl (%eax)
-# CHECK-NEXT: 1 34 17.00 * fdivrp %st(1)
-# CHECK-NEXT: 1 34 17.00 * fdivrp %st(2)
-# CHECK-NEXT: 1 34 17.00 * * fidivrs (%ecx)
-# CHECK-NEXT: 1 34 17.00 * * fidivrl (%eax)
-# CHECK-NEXT: 1 1 0.50 * ffree %st(0)
-# CHECK-NEXT: 1 5 5.00 * ficoms (%ecx)
-# CHECK-NEXT: 1 5 5.00 * ficoml (%eax)
-# CHECK-NEXT: 1 5 5.00 * ficomps (%ecx)
-# CHECK-NEXT: 1 5 5.00 * ficompl (%eax)
-# CHECK-NEXT: 1 5 5.00 * * filds (%edx)
-# CHECK-NEXT: 1 5 5.00 * * fildl (%ecx)
-# CHECK-NEXT: 1 5 5.00 * * fildll (%eax)
-# CHECK-NEXT: 1 1 0.50 * fincstp
-# CHECK-NEXT: 1 63 31.50 * fninit
-# CHECK-NEXT: 1 6 3.00 * * fists (%edx)
-# CHECK-NEXT: 1 6 3.00 * * fistl (%ecx)
-# CHECK-NEXT: 1 6 3.00 * * fistps (%edx)
-# CHECK-NEXT: 1 6 3.00 * * fistpl (%ecx)
-# CHECK-NEXT: 1 6 3.00 * * fistpll (%eax)
-# CHECK-NEXT: 1 2 1.00 * * fisttps (%edx)
-# CHECK-NEXT: 1 2 1.00 * * fisttpl (%ecx)
-# CHECK-NEXT: 1 2 1.00 * * fisttpll (%eax)
-# CHECK-NEXT: 1 1 1.00 * fld %st(0)
-# CHECK-NEXT: 1 1 1.00 * * flds (%edx)
-# CHECK-NEXT: 1 1 1.00 * * fldl (%ecx)
-# CHECK-NEXT: 1 4 2.00 * * fldt (%eax)
-# CHECK-NEXT: 1 5 2.50 * * fldcw (%eax)
-# CHECK-NEXT: 1 100 0.50 * fldenv (%eax)
-# CHECK-NEXT: 1 6 3.00 * fld1
-# CHECK-NEXT: 1 10 5.00 * fldl2e
-# CHECK-NEXT: 1 10 5.00 * fldl2t
-# CHECK-NEXT: 1 10 5.00 * fldlg2
-# CHECK-NEXT: 1 10 5.00 * fldln2
-# CHECK-NEXT: 1 10 5.00 * fldpi
-# CHECK-NEXT: 1 1 0.50 * fldz
-# CHECK-NEXT: 1 4 4.00 * fmul %st(0), %st(1)
-# CHECK-NEXT: 1 4 4.00 * fmul %st(2)
-# CHECK-NEXT: 1 4 4.00 * * fmuls (%ecx)
-# CHECK-NEXT: 1 4 4.00 * * fmull (%eax)
-# CHECK-NEXT: 1 4 4.00 * fmulp %st(1)
-# CHECK-NEXT: 1 4 4.00 * fmulp %st(2)
-# CHECK-NEXT: 1 4 4.00 * * fimuls (%ecx)
-# CHECK-NEXT: 1 4 4.00 * * fimull (%eax)
-# CHECK-NEXT: 1 1 0.50 * fnop
-# CHECK-NEXT: 1 183 91.50 * fpatan
-# CHECK-NEXT: 1 55 27.50 * fprem
-# CHECK-NEXT: 1 71 35.50 * fprem1
-# CHECK-NEXT: 1 168 84.00 * fptan
-# CHECK-NEXT: 1 46 23.00 * frndint
-# CHECK-NEXT: 1 100 0.50 * frstor (%eax)
-# CHECK-NEXT: 1 100 0.50 * fnsave (%eax)
-# CHECK-NEXT: 1 77 38.50 * fscale
-# CHECK-NEXT: 1 174 87.00 * fsin
-# CHECK-NEXT: 1 174 87.00 * fsincos
-# CHECK-NEXT: 1 71 35.50 * fsqrt
-# CHECK-NEXT: 1 2 1.00 * fst %st(0)
-# CHECK-NEXT: 1 2 1.00 * * fsts (%edx)
-# CHECK-NEXT: 1 2 1.00 * * fstl (%ecx)
-# CHECK-NEXT: 1 2 1.00 * fstp %st(0)
-# CHECK-NEXT: 1 2 1.00 * * fstpl (%edx)
-# CHECK-NEXT: 1 2 1.00 * * fstpl (%ecx)
-# CHECK-NEXT: 1 5 2.50 * * fstpt (%eax)
-# CHECK-NEXT: 1 8 4.00 * * fnstcw (%eax)
-# CHECK-NEXT: 1 100 0.50 * fnstenv (%eax)
-# CHECK-NEXT: 1 100 0.50 * fnstsw (%eax)
-# CHECK-NEXT: 1 100 0.50 * frstor (%eax)
-# CHECK-NEXT: 1 1 0.50 * wait
-# CHECK-NEXT: 1 100 0.50 * fnsave (%eax)
-# CHECK-NEXT: 1 5 5.00 * fsub %st(0), %st(1)
-# CHECK-NEXT: 1 5 5.00 * fsub %st(2)
-# CHECK-NEXT: 1 5 5.00 * * fsubs (%ecx)
-# CHECK-NEXT: 1 5 5.00 * * fsubl (%eax)
-# CHECK-NEXT: 1 5 5.00 * fsubp %st(1)
-# CHECK-NEXT: 1 5 5.00 * fsubp %st(2)
-# CHECK-NEXT: 1 5 5.00 * * fisubs (%ecx)
-# CHECK-NEXT: 1 5 5.00 * * fisubl (%eax)
-# CHECK-NEXT: 1 5 5.00 * fsubr %st(0), %st(1)
-# CHECK-NEXT: 1 5 5.00 * fsubr %st(2)
-# CHECK-NEXT: 1 5 5.00 * * fsubrs (%ecx)
-# CHECK-NEXT: 1 5 5.00 * * fsubrl (%eax)
-# CHECK-NEXT: 1 5 5.00 * fsubrp %st(1)
-# CHECK-NEXT: 1 5 5.00 * fsubrp %st(2)
-# CHECK-NEXT: 1 5 5.00 * * fisubrs (%ecx)
-# CHECK-NEXT: 1 5 5.00 * * fisubrl (%eax)
-# CHECK-NEXT: 1 9 4.50 * ftst
-# CHECK-NEXT: 1 1 1.00 * fucom %st(1)
-# CHECK-NEXT: 1 1 1.00 * fucom %st(3)
-# CHECK-NEXT: 1 1 1.00 * fucomp %st(1)
-# CHECK-NEXT: 1 1 1.00 * fucomp %st(3)
-# CHECK-NEXT: 1 1 1.00 * fucompp
-# CHECK-NEXT: 1 9 4.50 * fucomi %st(3)
-# CHECK-NEXT: 1 9 4.50 * fucompi %st(3)
-# CHECK-NEXT: 1 1 0.50 * wait
-# CHECK-NEXT: 1 1 1.00 * fxam
-# CHECK-NEXT: 1 1 1.00 * fxch %st(1)
-# CHECK-NEXT: 1 1 1.00 * fxch %st(3)
-# CHECK-NEXT: 1 141 70.50 * * * fxrstor (%eax)
-# CHECK-NEXT: 1 140 70.00 * * * fxsave (%eax)
-# CHECK-NEXT: 1 25 12.50 * fxtract
-# CHECK-NEXT: 1 146 73.00 * fyl2x
-# CHECK-NEXT: 1 147 73.50 * fyl2xp1
+# 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(2)
+# CHECK-NEXT: 1 5 5.00 * U fadds (%ecx)
+# CHECK-NEXT: 1 5 5.00 * U faddl (%ecx)
+# CHECK-NEXT: 1 5 5.00 U faddp %st(1)
+# CHECK-NEXT: 1 5 5.00 U faddp %st(2)
+# CHECK-NEXT: 1 5 5.00 * U fiadds (%ecx)
+# CHECK-NEXT: 1 5 5.00 * U fiaddl (%ecx)
+# CHECK-NEXT: 1 100 0.50 U fbld (%ecx)
+# 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 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)
+# CHECK-NEXT: 1 5 5.00 U fcoml (%eax)
+# CHECK-NEXT: 1 5 5.00 U fcomp %st(1)
+# CHECK-NEXT: 1 5 5.00 U fcomp %st(3)
+# CHECK-NEXT: 1 5 5.00 U fcomps (%ecx)
+# CHECK-NEXT: 1 5 5.00 U fcompl (%eax)
+# CHECK-NEXT: 1 1 1.00 U fcompp
+# CHECK-NEXT: 1 9 4.50 U fcomi %st(3)
+# 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(2)
+# CHECK-NEXT: 1 34 17.00 * U fdivs (%ecx)
+# CHECK-NEXT: 1 34 17.00 * U fdivl (%eax)
+# CHECK-NEXT: 1 34 17.00 U fdivp %st(1)
+# 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(2)
+# CHECK-NEXT: 1 34 17.00 * U fdivrs (%ecx)
+# CHECK-NEXT: 1 34 17.00 * U fdivrl (%eax)
+# CHECK-NEXT: 1 34 17.00 U fdivrp %st(1)
+# 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 5 5.00 U ficoms (%ecx)
+# CHECK-NEXT: 1 5 5.00 U ficoml (%eax)
+# CHECK-NEXT: 1 5 5.00 U ficomps (%ecx)
+# CHECK-NEXT: 1 5 5.00 U ficompl (%eax)
+# CHECK-NEXT: 1 5 5.00 * U filds (%edx)
+# CHECK-NEXT: 1 5 5.00 * U fildl (%ecx)
+# CHECK-NEXT: 1 5 5.00 * U fildll (%eax)
+# CHECK-NEXT: 1 1 0.50 U fincstp
+# CHECK-NEXT: 1 63 31.50 U fninit
+# CHECK-NEXT: 1 6 3.00 * U fists (%edx)
+# CHECK-NEXT: 1 6 3.00 * U fistl (%ecx)
+# CHECK-NEXT: 1 6 3.00 * U fistps (%edx)
+# CHECK-NEXT: 1 6 3.00 * U fistpl (%ecx)
+# CHECK-NEXT: 1 6 3.00 * U fistpll (%eax)
+# 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 flds (%edx)
+# CHECK-NEXT: 1 1 1.00 * U fldl (%ecx)
+# CHECK-NEXT: 1 4 2.00 * U fldt (%eax)
+# CHECK-NEXT: 1 5 2.50 * U fldcw (%eax)
+# CHECK-NEXT: 1 100 0.50 U fldenv (%eax)
+# CHECK-NEXT: 1 6 3.00 U fld1
+# CHECK-NEXT: 1 10 5.00 U fldl2e
+# CHECK-NEXT: 1 10 5.00 U fldl2t
+# CHECK-NEXT: 1 10 5.00 U fldlg2
+# 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(2)
+# CHECK-NEXT: 1 4 4.00 * U fmuls (%ecx)
+# CHECK-NEXT: 1 4 4.00 * U fmull (%eax)
+# CHECK-NEXT: 1 4 4.00 U fmulp %st(1)
+# CHECK-NEXT: 1 4 4.00 U fmulp %st(2)
+# CHECK-NEXT: 1 4 4.00 * U fimuls (%ecx)
+# CHECK-NEXT: 1 4 4.00 * U fimull (%eax)
+# CHECK-NEXT: 1 1 0.50 U fnop
+# CHECK-NEXT: 1 183 91.50 U fpatan
+# CHECK-NEXT: 1 55 27.50 U fprem
+# CHECK-NEXT: 1 71 35.50 U fprem1
+# CHECK-NEXT: 1 168 84.00 U fptan
+# CHECK-NEXT: 1 46 23.00 U frndint
+# CHECK-NEXT: 1 100 0.50 U frstor (%eax)
+# CHECK-NEXT: 1 100 0.50 U fnsave (%eax)
+# CHECK-NEXT: 1 77 38.50 U fscale
+# 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 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 fstpl (%edx)
+# CHECK-NEXT: 1 2 1.00 * U fstpl (%ecx)
+# CHECK-NEXT: 1 5 2.50 * U fstpt (%eax)
+# CHECK-NEXT: 1 8 4.00 * U fnstcw (%eax)
+# CHECK-NEXT: 1 100 0.50 U fnstenv (%eax)
+# CHECK-NEXT: 1 100 0.50 U fnstsw (%eax)
+# 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(2)
+# CHECK-NEXT: 1 5 5.00 * U fsubs (%ecx)
+# CHECK-NEXT: 1 5 5.00 * U fsubl (%eax)
+# CHECK-NEXT: 1 5 5.00 U fsubp %st(1)
+# 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(2)
+# CHECK-NEXT: 1 5 5.00 * U fsubrs (%ecx)
+# CHECK-NEXT: 1 5 5.00 * U fsubrl (%eax)
+# CHECK-NEXT: 1 5 5.00 U fsubrp %st(1)
+# CHECK-NEXT: 1 5 5.00 U fsubrp %st(2)
+# CHECK-NEXT: 1 5 5.00 * U fisubrs (%ecx)
+# CHECK-NEXT: 1 5 5.00 * U fisubrl (%eax)
+# CHECK-NEXT: 1 9 4.50 U ftst
+# CHECK-NEXT: 1 1 1.00 U fucom %st(1)
+# CHECK-NEXT: 1 1 1.00 U fucom %st(3)
+# CHECK-NEXT: 1 1 1.00 U fucomp %st(1)
+# CHECK-NEXT: 1 1 1.00 U fucomp %st(3)
+# CHECK-NEXT: 1 1 1.00 U fucompp
+# CHECK-NEXT: 1 9 4.50 U fucomi %st(3)
+# CHECK-NEXT: 1 9 4.50 U fucompi %st(3)
+# CHECK-NEXT: 1 1 0.50 U wait
+# CHECK-NEXT: 1 1 1.00 U fxam
+# CHECK-NEXT: 1 1 1.00 U fxch %st(1)
+# CHECK-NEXT: 1 1 1.00 U fxch %st(3)
+# CHECK-NEXT: 1 141 70.50 * * U fxrstor (%eax)
+# CHECK-NEXT: 1 140 70.00 * * U fxsave (%eax)
+# CHECK-NEXT: 1 25 12.50 U fxtract
+# CHECK-NEXT: 1 146 73.00 U fyl2x
+# CHECK-NEXT: 1 147 73.50 U fyl2xp1
# CHECK: Resources:
# CHECK-NEXT: [0] - AtomPort0
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 1 0.50 adcxl %ebx, %ecx
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 3 1.00 vaddpd %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 2 6 1.00 * vinsertps $1, (%rax), %xmm1, %xmm2
# CHECK-NEXT: 1 5 0.50 * vlddqu (%rax), %xmm2
# CHECK-NEXT: 1 6 0.50 * vlddqu (%rax), %ymm2
-# CHECK-NEXT: 3 7 1.00 * * * vldmxcsr (%rax)
-# CHECK-NEXT: 2 1 1.00 * * * vmaskmovdqu %xmm0, %xmm1
+# CHECK-NEXT: 3 7 1.00 * * U vldmxcsr (%rax)
+# CHECK-NEXT: 2 1 1.00 * * U vmaskmovdqu %xmm0, %xmm1
# CHECK-NEXT: 3 7 2.00 * vmaskmovpd (%rax), %xmm0, %xmm2
# CHECK-NEXT: 3 8 2.00 * vmaskmovpd (%rax), %ymm0, %ymm2
# CHECK-NEXT: 4 5 1.00 * * vmaskmovpd %xmm0, %xmm1, (%rax)
# CHECK-NEXT: 2 1 1.00 * vmovlpd %xmm0, (%rax)
# CHECK-NEXT: 2 6 1.00 * vmovlpd (%rax), %xmm1, %xmm2
# CHECK-NEXT: 2 1 1.00 * vmovlps %xmm0, (%rax)
-# CHECK-NEXT: 2 6 1.00 * vmovlps (%rax), %xmm1, %xmm2
+# CHECK-NEXT: 2 6 1.00 U vmovlps (%rax), %xmm1, %xmm2
# CHECK-NEXT: 1 3 1.00 vmovmskpd %xmm0, %ecx
# CHECK-NEXT: 1 3 1.00 vmovmskpd %ymm0, %ecx
# CHECK-NEXT: 1 3 1.00 vmovmskps %xmm0, %ecx
# CHECK-NEXT: 2 21 14.00 * vsqrtsd (%rax), %xmm1, %xmm2
# CHECK-NEXT: 1 11 4.00 vsqrtss %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 2 16 7.00 * vsqrtss (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 3 2 1.00 * * * vstmxcsr (%rax)
+# CHECK-NEXT: 3 2 1.00 * * U vstmxcsr (%rax)
# CHECK-NEXT: 1 3 1.00 vsubpd %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 2 8 1.00 * vsubpd (%rax), %xmm1, %xmm2
# CHECK-NEXT: 1 3 1.00 vsubpd %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 2 6 1.00 * vxorps (%rax), %xmm1, %xmm2
# CHECK-NEXT: 1 1 1.00 vxorps %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 2 7 1.00 * vxorps (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 16 16 16.00 * * * vzeroall
-# CHECK-NEXT: 4 4 1.00 * * * vzeroupper
+# CHECK-NEXT: 16 16 16.00 * * U vzeroall
+# CHECK-NEXT: 4 4 1.00 * * U vzeroupper
# CHECK: Resources:
# CHECK-NEXT: [0] - BWDivider
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 6 0.50 * vbroadcasti128 (%rax), %ymm0
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 1 0.50 andnl %eax, %ebx, %ecx
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 1 0.50 bzhil %eax, %ebx, %ecx
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 1 0.50 cmovow %si, %di
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 2 2 1.00 vcvtph2ps %xmm0, %xmm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 5 0.50 vfmadd132pd %xmm0, %xmm1, %xmm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 3 1.00 lzcntw %cx, %cx
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
-# CHECK-NEXT: 31 31 10.00 * * * emms
+# CHECK-NEXT: 31 31 10.00 * * U emms
# CHECK-NEXT: 1 1 1.00 movd %eax, %mm2
# CHECK-NEXT: 1 5 0.50 * movd (%rax), %mm2
# CHECK-NEXT: 1 1 1.00 movd %mm0, %ecx
-# CHECK-NEXT: 2 1 1.00 * * movd %mm0, (%rax)
+# CHECK-NEXT: 2 1 1.00 * U movd %mm0, (%rax)
# CHECK-NEXT: 1 1 1.00 movq %rax, %mm2
# CHECK-NEXT: 1 5 0.50 * movq (%rax), %mm2
# CHECK-NEXT: 1 1 1.00 movq %mm0, %rcx
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 3 1.00 popcntw %cx, %cx
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 3 1.00 addps %xmm0, %xmm2
# CHECK-NEXT: 2 16 5.00 * divps (%rax), %xmm2
# CHECK-NEXT: 1 11 3.00 divss %xmm0, %xmm2
# CHECK-NEXT: 2 16 5.00 * divss (%rax), %xmm2
-# CHECK-NEXT: 3 7 1.00 * * * ldmxcsr (%rax)
-# CHECK-NEXT: 1 1 1.00 * * * maskmovq %mm0, %mm1
+# CHECK-NEXT: 3 7 1.00 * * U ldmxcsr (%rax)
+# CHECK-NEXT: 1 1 1.00 * * U maskmovq %mm0, %mm1
# CHECK-NEXT: 1 3 1.00 maxps %xmm0, %xmm2
# CHECK-NEXT: 2 8 1.00 * maxps (%rax), %xmm2
# CHECK-NEXT: 1 3 1.00 maxss %xmm0, %xmm2
# CHECK-NEXT: 2 1 1.00 * movhps %xmm0, (%rax)
# CHECK-NEXT: 2 6 1.00 * movhps (%rax), %xmm2
# CHECK-NEXT: 2 1 1.00 * movlps %xmm0, (%rax)
-# CHECK-NEXT: 2 6 1.00 * movlps (%rax), %xmm2
+# CHECK-NEXT: 2 6 1.00 U movlps (%rax), %xmm2
# CHECK-NEXT: 1 3 1.00 movmskps %xmm0, %ecx
# CHECK-NEXT: 2 1 1.00 * movntps %xmm0, (%rax)
-# CHECK-NEXT: 2 1 1.00 * * * movntq %mm0, (%rax)
+# CHECK-NEXT: 2 1 1.00 * * U movntq %mm0, (%rax)
# CHECK-NEXT: 1 1 1.00 movss %xmm0, %xmm2
# CHECK-NEXT: 2 1 1.00 * movss %xmm0, (%rax)
# CHECK-NEXT: 1 5 0.50 * movss (%rax), %xmm2
# CHECK-NEXT: 2 10 1.00 * rsqrtps (%rax), %xmm2
# CHECK-NEXT: 1 5 1.00 rsqrtss %xmm0, %xmm2
# CHECK-NEXT: 2 10 1.00 * rsqrtss (%rax), %xmm2
-# CHECK-NEXT: 2 2 0.33 * * * sfence
+# CHECK-NEXT: 2 2 0.33 * * U sfence
# CHECK-NEXT: 1 1 1.00 shufps $1, %xmm0, %xmm2
# CHECK-NEXT: 2 6 1.00 * shufps $1, (%rax), %xmm2
# CHECK-NEXT: 1 11 7.00 sqrtps %xmm0, %xmm2
# CHECK-NEXT: 2 16 7.00 * sqrtps (%rax), %xmm2
# CHECK-NEXT: 1 11 4.00 sqrtss %xmm0, %xmm2
# CHECK-NEXT: 2 16 7.00 * sqrtss (%rax), %xmm2
-# CHECK-NEXT: 3 2 1.00 * * * stmxcsr (%rax)
+# CHECK-NEXT: 3 2 1.00 * * U stmxcsr (%rax)
# CHECK-NEXT: 1 3 1.00 subps %xmm0, %xmm2
# CHECK-NEXT: 2 8 1.00 * subps (%rax), %xmm2
# CHECK-NEXT: 1 3 1.00 subss %xmm0, %xmm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 3 1.00 addpd %xmm0, %xmm2
# CHECK-NEXT: 2 6 1.00 * andnpd (%rax), %xmm2
# CHECK-NEXT: 1 1 1.00 andpd %xmm0, %xmm2
# CHECK-NEXT: 2 6 1.00 * andpd (%rax), %xmm2
-# CHECK-NEXT: 2 2 1.00 * * * clflush (%rax)
+# CHECK-NEXT: 2 2 1.00 * * U clflush (%rax)
# CHECK-NEXT: 1 3 1.00 cmppd $0, %xmm0, %xmm2
# CHECK-NEXT: 2 8 1.00 * cmppd $0, (%rax), %xmm2
# CHECK-NEXT: 1 3 1.00 cmpsd $0, %xmm0, %xmm2
# CHECK-NEXT: 2 19 8.00 * divpd (%rax), %xmm2
# CHECK-NEXT: 1 14 4.00 divsd %xmm0, %xmm2
# CHECK-NEXT: 2 19 8.00 * divsd (%rax), %xmm2
-# CHECK-NEXT: 2 2 0.50 * * * lfence
-# CHECK-NEXT: 2 1 1.00 * * * maskmovdqu %xmm0, %xmm1
+# CHECK-NEXT: 2 2 0.50 * * U lfence
+# CHECK-NEXT: 2 1 1.00 * * U maskmovdqu %xmm0, %xmm1
# CHECK-NEXT: 1 3 1.00 maxpd %xmm0, %xmm2
# CHECK-NEXT: 2 8 1.00 * maxpd (%rax), %xmm2
# CHECK-NEXT: 1 3 1.00 maxsd %xmm0, %xmm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 3 1.00 addsubpd %xmm0, %xmm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 1 0.33 blendpd $11, %xmm0, %xmm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 3 1.00 crc32b %al, %ecx
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 1 0.50 pabsb %mm0, %mm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 2 2 0.50 adcb $7, %al
# CHECK-NEXT: 4 6 1.00 * * btcq $7, (%rax)
# CHECK-NEXT: 4 6 1.00 * * btrq $7, (%rax)
# CHECK-NEXT: 4 6 1.00 * * btsq $7, (%rax)
-# CHECK-NEXT: 1 1 0.25 * clc
+# CHECK-NEXT: 1 1 0.25 U clc
# CHECK-NEXT: 1 1 0.25 decb %dil
# CHECK-NEXT: 3 7 1.00 * * decb (%rax)
# CHECK-NEXT: 1 1 0.25 decw %di
# CHECK-NEXT: 3 7 1.00 * * decl (%rax)
# CHECK-NEXT: 1 1 0.25 decq %rdi
# CHECK-NEXT: 3 7 1.00 * * decq (%rax)
-# CHECK-NEXT: 1 25 10.00 * divb %dil
-# CHECK-NEXT: 8 34 2.00 * * divb (%rax)
-# CHECK-NEXT: 32 80 8.00 * divw %si
-# CHECK-NEXT: 8 34 2.00 * * divw (%rax)
-# CHECK-NEXT: 32 80 8.00 * divl %edx
-# CHECK-NEXT: 8 34 2.00 * * divl (%rax)
-# CHECK-NEXT: 32 80 8.00 * divq %rcx
-# CHECK-NEXT: 8 34 2.00 * * divq (%rax)
-# CHECK-NEXT: 1 25 10.00 * idivb %dil
-# CHECK-NEXT: 8 35 2.00 * * idivb (%rax)
-# CHECK-NEXT: 1 25 10.00 * idivw %si
-# CHECK-NEXT: 8 35 2.00 * * idivw (%rax)
-# CHECK-NEXT: 1 25 10.00 * idivl %edx
-# CHECK-NEXT: 8 35 2.00 * * idivl (%rax)
-# CHECK-NEXT: 1 25 10.00 * idivq %rcx
-# CHECK-NEXT: 8 35 2.00 * * idivq (%rax)
+# CHECK-NEXT: 1 25 10.00 U divb %dil
+# CHECK-NEXT: 8 34 2.00 * U divb (%rax)
+# CHECK-NEXT: 32 80 8.00 U divw %si
+# CHECK-NEXT: 8 34 2.00 * U divw (%rax)
+# CHECK-NEXT: 32 80 8.00 U divl %edx
+# CHECK-NEXT: 8 34 2.00 * U divl (%rax)
+# CHECK-NEXT: 32 80 8.00 U divq %rcx
+# CHECK-NEXT: 8 34 2.00 * U divq (%rax)
+# CHECK-NEXT: 1 25 10.00 U idivb %dil
+# CHECK-NEXT: 8 35 2.00 * U idivb (%rax)
+# CHECK-NEXT: 1 25 10.00 U idivw %si
+# CHECK-NEXT: 8 35 2.00 * U idivw (%rax)
+# CHECK-NEXT: 1 25 10.00 U idivl %edx
+# CHECK-NEXT: 8 35 2.00 * U idivl (%rax)
+# CHECK-NEXT: 1 25 10.00 U idivq %rcx
+# CHECK-NEXT: 8 35 2.00 * U idivq (%rax)
# CHECK-NEXT: 1 3 1.00 imulb %dil
# CHECK-NEXT: 2 8 1.00 * imulb (%rax)
# CHECK-NEXT: 4 4 1.00 imulw %di
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
-# CHECK-NEXT: 1 100 0.25 * f2xm1
-# CHECK-NEXT: 1 1 1.00 * fabs
-# CHECK-NEXT: 1 3 1.00 * fadd %st(0), %st(1)
-# CHECK-NEXT: 1 3 1.00 * fadd %st(2)
-# CHECK-NEXT: 2 9 1.00 * * fadds (%ecx)
-# CHECK-NEXT: 2 9 1.00 * * faddl (%ecx)
-# CHECK-NEXT: 1 3 1.00 * faddp %st(1)
-# CHECK-NEXT: 1 3 1.00 * faddp %st(2)
-# CHECK-NEXT: 3 12 2.00 * * fiadds (%ecx)
-# CHECK-NEXT: 3 12 2.00 * * fiaddl (%ecx)
-# CHECK-NEXT: 1 100 0.25 * fbld (%ecx)
-# CHECK-NEXT: 2 1 1.00 * fbstp (%eax)
-# CHECK-NEXT: 1 1 1.00 * fchs
-# CHECK-NEXT: 4 4 1.00 * fnclex
-# CHECK-NEXT: 1 3 1.00 * fcmovb %st(1), %st(0)
-# CHECK-NEXT: 1 3 1.00 * fcmovbe %st(1), %st(0)
-# CHECK-NEXT: 1 3 1.00 * fcmove %st(1), %st(0)
-# CHECK-NEXT: 1 3 1.00 * fcmovnb %st(1), %st(0)
-# CHECK-NEXT: 1 3 1.00 * fcmovnbe %st(1), %st(0)
-# CHECK-NEXT: 1 3 1.00 * fcmovne %st(1), %st(0)
-# CHECK-NEXT: 1 3 1.00 * fcmovnu %st(1), %st(0)
-# CHECK-NEXT: 1 3 1.00 * fcmovu %st(1), %st(0)
-# CHECK-NEXT: 1 1 1.00 * fcom %st(1)
-# CHECK-NEXT: 1 1 1.00 * fcom %st(3)
-# CHECK-NEXT: 2 7 1.00 * fcoms (%ecx)
-# CHECK-NEXT: 2 7 1.00 * fcoml (%eax)
-# CHECK-NEXT: 1 1 1.00 * fcomp %st(1)
-# CHECK-NEXT: 1 1 1.00 * fcomp %st(3)
-# CHECK-NEXT: 2 7 1.00 * fcomps (%ecx)
-# CHECK-NEXT: 2 7 1.00 * fcompl (%eax)
-# CHECK-NEXT: 1 100 0.25 * fcompp
-# CHECK-NEXT: 1 3 1.00 * fcomi %st(3)
-# CHECK-NEXT: 1 3 1.00 * fcompi %st(3)
-# CHECK-NEXT: 1 100 0.25 * fcos
-# CHECK-NEXT: 2 2 1.00 * fdecstp
-# CHECK-NEXT: 1 15 1.00 * fdiv %st(0), %st(1)
-# CHECK-NEXT: 1 20 1.00 * fdiv %st(2)
-# CHECK-NEXT: 2 21 1.00 * * fdivs (%ecx)
-# CHECK-NEXT: 2 21 1.00 * * fdivl (%eax)
-# CHECK-NEXT: 1 15 1.00 * fdivp %st(1)
-# CHECK-NEXT: 1 15 1.00 * fdivp %st(2)
-# CHECK-NEXT: 3 24 1.00 * * fidivs (%ecx)
-# CHECK-NEXT: 3 24 1.00 * * fidivl (%eax)
-# CHECK-NEXT: 1 20 1.00 * fdivr %st(0), %st(1)
-# CHECK-NEXT: 1 15 1.00 * fdivr %st(2)
-# CHECK-NEXT: 2 26 1.00 * * fdivrs (%ecx)
-# CHECK-NEXT: 2 26 1.00 * * fdivrl (%eax)
-# CHECK-NEXT: 1 20 1.00 * fdivrp %st(1)
-# CHECK-NEXT: 1 20 1.00 * fdivrp %st(2)
-# CHECK-NEXT: 3 29 1.00 * * fidivrs (%ecx)
-# CHECK-NEXT: 3 29 1.00 * * fidivrl (%eax)
-# CHECK-NEXT: 1 100 0.25 * ffree %st(0)
-# CHECK-NEXT: 3 10 2.00 * ficoms (%ecx)
-# CHECK-NEXT: 3 10 2.00 * ficoml (%eax)
-# CHECK-NEXT: 3 10 2.00 * ficomps (%ecx)
-# CHECK-NEXT: 3 10 2.00 * ficompl (%eax)
-# CHECK-NEXT: 2 9 1.00 * * filds (%edx)
-# CHECK-NEXT: 2 9 1.00 * * fildl (%ecx)
-# CHECK-NEXT: 2 9 1.00 * * fildll (%eax)
-# CHECK-NEXT: 1 1 0.50 * fincstp
-# CHECK-NEXT: 15 75 6.00 * fninit
-# CHECK-NEXT: 3 4 1.00 * * fists (%edx)
-# CHECK-NEXT: 3 4 1.00 * * fistl (%ecx)
-# CHECK-NEXT: 3 4 1.00 * * fistps (%edx)
-# CHECK-NEXT: 3 4 1.00 * * fistpl (%ecx)
-# CHECK-NEXT: 3 4 1.00 * * fistpll (%eax)
-# CHECK-NEXT: 3 4 1.00 * * fisttps (%edx)
-# CHECK-NEXT: 3 4 1.00 * * fisttpl (%ecx)
-# CHECK-NEXT: 3 4 1.00 * * fisttpll (%eax)
-# CHECK-NEXT: 1 1 0.25 * fld %st(0)
-# CHECK-NEXT: 1 6 0.50 * * flds (%edx)
-# CHECK-NEXT: 1 6 0.50 * * fldl (%ecx)
-# CHECK-NEXT: 1 6 0.50 * * fldt (%eax)
-# CHECK-NEXT: 3 7 1.00 * * fldcw (%eax)
-# CHECK-NEXT: 64 60 14.00 * fldenv (%eax)
-# CHECK-NEXT: 2 1 1.00 * fld1
-# CHECK-NEXT: 2 1 1.00 * fldl2e
-# CHECK-NEXT: 2 1 1.00 * fldl2t
-# CHECK-NEXT: 2 1 1.00 * fldlg2
-# CHECK-NEXT: 2 1 1.00 * fldln2
-# CHECK-NEXT: 2 1 1.00 * fldpi
-# CHECK-NEXT: 1 1 0.50 * fldz
-# CHECK-NEXT: 1 5 1.00 * fmul %st(0), %st(1)
-# CHECK-NEXT: 1 5 1.00 * fmul %st(2)
-# CHECK-NEXT: 2 11 1.00 * * fmuls (%ecx)
-# CHECK-NEXT: 2 11 1.00 * * fmull (%eax)
-# CHECK-NEXT: 1 5 1.00 * fmulp %st(1)
-# CHECK-NEXT: 1 5 1.00 * fmulp %st(2)
-# CHECK-NEXT: 3 14 1.00 * * fimuls (%ecx)
-# CHECK-NEXT: 3 14 1.00 * * fimull (%eax)
-# CHECK-NEXT: 1 1 0.50 * fnop
-# CHECK-NEXT: 1 100 0.25 * fpatan
-# CHECK-NEXT: 1 100 0.25 * fprem
-# CHECK-NEXT: 1 100 0.25 * fprem1
-# CHECK-NEXT: 1 100 0.25 * fptan
-# CHECK-NEXT: 1 100 0.25 * frndint
-# CHECK-NEXT: 1 100 0.25 * frstor (%eax)
-# CHECK-NEXT: 1 100 0.25 * fnsave (%eax)
-# CHECK-NEXT: 1 100 0.25 * fscale
-# CHECK-NEXT: 1 100 0.25 * fsin
-# CHECK-NEXT: 1 100 0.25 * fsincos
-# CHECK-NEXT: 1 23 9.00 * fsqrt
-# CHECK-NEXT: 1 1 0.25 * fst %st(0)
-# CHECK-NEXT: 1 1 1.00 * * fsts (%edx)
-# CHECK-NEXT: 1 1 1.00 * * fstl (%ecx)
-# CHECK-NEXT: 1 1 0.25 * fstp %st(0)
-# CHECK-NEXT: 2 1 1.00 * * fstpl (%edx)
-# CHECK-NEXT: 2 1 1.00 * * fstpl (%ecx)
-# CHECK-NEXT: 2 1 1.00 * * fstpt (%eax)
-# CHECK-NEXT: 3 2 1.00 * * fnstcw (%eax)
-# CHECK-NEXT: 100 115 19.50 * fnstenv (%eax)
-# CHECK-NEXT: 3 4 1.00 * fnstsw (%eax)
-# CHECK-NEXT: 1 100 0.25 * frstor (%eax)
-# CHECK-NEXT: 2 2 0.50 * wait
-# CHECK-NEXT: 1 100 0.25 * fnsave (%eax)
-# CHECK-NEXT: 1 3 1.00 * fsub %st(0), %st(1)
-# CHECK-NEXT: 1 3 1.00 * fsub %st(2)
-# CHECK-NEXT: 2 9 1.00 * * fsubs (%ecx)
-# CHECK-NEXT: 2 9 1.00 * * fsubl (%eax)
-# CHECK-NEXT: 1 3 1.00 * fsubp %st(1)
-# CHECK-NEXT: 1 3 1.00 * fsubp %st(2)
-# CHECK-NEXT: 3 12 2.00 * * fisubs (%ecx)
-# CHECK-NEXT: 3 12 2.00 * * fisubl (%eax)
-# CHECK-NEXT: 1 3 1.00 * fsubr %st(0), %st(1)
-# CHECK-NEXT: 1 3 1.00 * fsubr %st(2)
-# CHECK-NEXT: 2 9 1.00 * * fsubrs (%ecx)
-# CHECK-NEXT: 2 9 1.00 * * fsubrl (%eax)
-# CHECK-NEXT: 1 3 1.00 * fsubrp %st(1)
-# CHECK-NEXT: 1 3 1.00 * fsubrp %st(2)
-# CHECK-NEXT: 3 12 2.00 * * fisubrs (%ecx)
-# CHECK-NEXT: 3 12 2.00 * * fisubrl (%eax)
-# CHECK-NEXT: 1 3 1.00 * ftst
-# CHECK-NEXT: 1 1 1.00 * fucom %st(1)
-# CHECK-NEXT: 1 1 1.00 * fucom %st(3)
-# CHECK-NEXT: 1 1 1.00 * fucomp %st(1)
-# CHECK-NEXT: 1 1 1.00 * fucomp %st(3)
-# CHECK-NEXT: 1 3 1.00 * fucompp
-# CHECK-NEXT: 1 3 1.00 * fucomi %st(3)
-# CHECK-NEXT: 1 3 1.00 * fucompi %st(3)
-# CHECK-NEXT: 2 2 0.50 * wait
-# CHECK-NEXT: 1 100 0.25 * fxam
-# CHECK-NEXT: 12 14 4.00 * fxch %st(1)
-# CHECK-NEXT: 12 14 4.00 * fxch %st(3)
-# CHECK-NEXT: 90 63 16.50 * * * fxrstor (%eax)
-# CHECK-NEXT: 1 100 0.25 * * * fxsave (%eax)
-# CHECK-NEXT: 1 100 0.25 * fxtract
-# CHECK-NEXT: 1 100 0.25 * fyl2x
-# CHECK-NEXT: 1 100 0.25 * fyl2xp1
+# 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(2)
+# CHECK-NEXT: 2 9 1.00 * U fadds (%ecx)
+# CHECK-NEXT: 2 9 1.00 * U faddl (%ecx)
+# CHECK-NEXT: 1 3 1.00 U faddp %st(1)
+# CHECK-NEXT: 1 3 1.00 U faddp %st(2)
+# CHECK-NEXT: 3 12 2.00 * U fiadds (%ecx)
+# CHECK-NEXT: 3 12 2.00 * U fiaddl (%ecx)
+# CHECK-NEXT: 1 100 0.25 U fbld (%ecx)
+# 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 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)
+# CHECK-NEXT: 2 7 1.00 U fcoml (%eax)
+# CHECK-NEXT: 1 1 1.00 U fcomp %st(1)
+# CHECK-NEXT: 1 1 1.00 U fcomp %st(3)
+# CHECK-NEXT: 2 7 1.00 U fcomps (%ecx)
+# CHECK-NEXT: 2 7 1.00 U fcompl (%eax)
+# CHECK-NEXT: 1 100 0.25 U fcompp
+# CHECK-NEXT: 1 3 1.00 U fcomi %st(3)
+# 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 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)
+# CHECK-NEXT: 1 15 1.00 U fdivp %st(1)
+# 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 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)
+# CHECK-NEXT: 1 20 1.00 U fdivrp %st(1)
+# 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: 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)
+# CHECK-NEXT: 3 10 2.00 U ficompl (%eax)
+# CHECK-NEXT: 2 9 1.00 * U filds (%edx)
+# CHECK-NEXT: 2 9 1.00 * U fildl (%ecx)
+# CHECK-NEXT: 2 9 1.00 * U fildll (%eax)
+# CHECK-NEXT: 1 1 0.50 U fincstp
+# CHECK-NEXT: 15 75 6.00 U fninit
+# CHECK-NEXT: 3 4 1.00 * U fists (%edx)
+# CHECK-NEXT: 3 4 1.00 * U fistl (%ecx)
+# CHECK-NEXT: 3 4 1.00 * U fistps (%edx)
+# CHECK-NEXT: 3 4 1.00 * U fistpl (%ecx)
+# CHECK-NEXT: 3 4 1.00 * U fistpll (%eax)
+# 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 6 0.50 * U flds (%edx)
+# CHECK-NEXT: 1 6 0.50 * U fldl (%ecx)
+# CHECK-NEXT: 1 6 0.50 * U fldt (%eax)
+# CHECK-NEXT: 3 7 1.00 * U fldcw (%eax)
+# CHECK-NEXT: 64 60 14.00 U fldenv (%eax)
+# CHECK-NEXT: 2 1 1.00 U fld1
+# CHECK-NEXT: 2 1 1.00 U fldl2e
+# CHECK-NEXT: 2 1 1.00 U fldl2t
+# CHECK-NEXT: 2 1 1.00 U fldlg2
+# 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(2)
+# CHECK-NEXT: 2 11 1.00 * U fmuls (%ecx)
+# CHECK-NEXT: 2 11 1.00 * U fmull (%eax)
+# CHECK-NEXT: 1 5 1.00 U fmulp %st(1)
+# CHECK-NEXT: 1 5 1.00 U fmulp %st(2)
+# CHECK-NEXT: 3 14 1.00 * U fimuls (%ecx)
+# CHECK-NEXT: 3 14 1.00 * U fimull (%eax)
+# CHECK-NEXT: 1 1 0.50 U fnop
+# CHECK-NEXT: 1 100 0.25 U fpatan
+# CHECK-NEXT: 1 100 0.25 U fprem
+# CHECK-NEXT: 1 100 0.25 U fprem1
+# CHECK-NEXT: 1 100 0.25 U fptan
+# CHECK-NEXT: 1 100 0.25 U frndint
+# CHECK-NEXT: 1 100 0.25 U frstor (%eax)
+# CHECK-NEXT: 1 100 0.25 U fnsave (%eax)
+# CHECK-NEXT: 1 100 0.25 U fscale
+# 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 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: 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)
+# CHECK-NEXT: 3 2 1.00 * U fnstcw (%eax)
+# CHECK-NEXT: 100 115 19.50 U fnstenv (%eax)
+# CHECK-NEXT: 3 4 1.00 U fnstsw (%eax)
+# 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(2)
+# CHECK-NEXT: 2 9 1.00 * U fsubs (%ecx)
+# CHECK-NEXT: 2 9 1.00 * U fsubl (%eax)
+# CHECK-NEXT: 1 3 1.00 U fsubp %st(1)
+# 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(2)
+# CHECK-NEXT: 2 9 1.00 * U fsubrs (%ecx)
+# CHECK-NEXT: 2 9 1.00 * U fsubrl (%eax)
+# CHECK-NEXT: 1 3 1.00 U fsubrp %st(1)
+# CHECK-NEXT: 1 3 1.00 U fsubrp %st(2)
+# CHECK-NEXT: 3 12 2.00 * U fisubrs (%ecx)
+# CHECK-NEXT: 3 12 2.00 * U fisubrl (%eax)
+# CHECK-NEXT: 1 3 1.00 U ftst
+# CHECK-NEXT: 1 1 1.00 U fucom %st(1)
+# CHECK-NEXT: 1 1 1.00 U fucom %st(3)
+# CHECK-NEXT: 1 1 1.00 U fucomp %st(1)
+# CHECK-NEXT: 1 1 1.00 U fucomp %st(3)
+# CHECK-NEXT: 1 3 1.00 U fucompp
+# CHECK-NEXT: 1 3 1.00 U fucomi %st(3)
+# CHECK-NEXT: 1 3 1.00 U fucompi %st(3)
+# CHECK-NEXT: 2 2 0.50 U wait
+# CHECK-NEXT: 1 100 0.25 U fxam
+# CHECK-NEXT: 12 14 4.00 U fxch %st(1)
+# CHECK-NEXT: 12 14 4.00 U fxch %st(3)
+# CHECK-NEXT: 90 63 16.50 * * U fxrstor (%eax)
+# CHECK-NEXT: 1 100 0.25 * * U fxsave (%eax)
+# CHECK-NEXT: 1 100 0.25 U fxtract
+# CHECK-NEXT: 1 100 0.25 U fyl2x
+# CHECK-NEXT: 1 100 0.25 U fyl2xp1
# CHECK: Resources:
# CHECK-NEXT: [0] - BWDivider
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 1 0.50 addl %eax, %ecx
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 2 6 4.00 imulq $5, %rcx, %rax
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 2 38 38.00 vdivps %ymm0, %ymm1, %ymm3
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 2 1.00 vpmuldq %xmm0, %xmm0, %xmm1
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 2 1.00 vmulps %xmm0, %xmm1, %xmm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 1 0.50 vshufps $0, %xmm0, %xmm1, %xmm1
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 1 0.50 vshufps $0, %xmm0, %xmm1, %xmm1
# ENABLED-NEXT: [3]: RThroughput
# ENABLED-NEXT: [4]: MayLoad
# ENABLED-NEXT: [5]: MayStore
-# ENABLED-NEXT: [6]: HasSideEffects
+# ENABLED-NEXT: [6]: HasSideEffects (U)
# ENABLED: [1] [2] [3] [4] [5] [6] Instructions:
# ENABLED-NEXT: 1 2 1.00 vmulps %xmm0, %xmm1, %xmm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 5 1.00 * vmovaps (%rsi), %xmm0
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 5 1.00 * vmovaps (%rsi), %xmm0
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 1 0.50 pcmpeqb %mm2, %mm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 2 6 4.00 imulq %rax, %rbx
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 1 0.50 addw %cx, %dx
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 2 3 1.00 imulw %ax, %bx
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 1 0.50 lzcntw %ax, %bx
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 2 3 1.00 imull %edx, %ecx
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 2 3 1.00 imulw %ax, %cx
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 3 4 2.00 vpmulld %xmm0, %xmm1, %xmm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
-# CHECK-NEXT: 1 100 0.50 * * * int3
-# CHECK-NEXT: 1 1 1.00 * * * stmxcsr (%rsp)
+# CHECK-NEXT: 1 100 0.50 * * U int3
+# CHECK-NEXT: 1 1 1.00 * * U stmxcsr (%rsp)
# CHECK: Timeline view:
# CHECK-NEXT: 0123456789 0123456789 0123456789 0123456789 0123456789
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 21 21.00 vsqrtps %xmm0, %xmm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 3 1.00 vaddps %xmm0, %xmm0, %xmm1
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 2 3 1.00 imull %esi
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 1 0.50 addq %rdi, %rsi
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
-# CHECK-NEXT: 2 25 25.00 * idivl %eax
+# CHECK-NEXT: 2 25 25.00 U idivl %eax
# CHECK: Dynamic Dispatch Stall Cycles:
# CHECK-NEXT: RAT - Register unavailable: 26
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
-# CHECK-NEXT: 2 25 25.00 * idivl %eax
+# CHECK-NEXT: 2 25 25.00 U idivl %eax
# CHECK: Dynamic Dispatch Stall Cycles:
# CHECK-NEXT: RAT - Register unavailable: 6
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 2 3 1.00 aesdec %xmm0, %xmm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 3 1.00 vaddpd %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 6 1.00 * vinsertps $1, (%rax), %xmm1, %xmm2
# CHECK-NEXT: 1 5 1.00 * vlddqu (%rax), %xmm2
# CHECK-NEXT: 1 5 1.00 * vlddqu (%rax), %ymm2
-# CHECK-NEXT: 1 5 1.00 * * * vldmxcsr (%rax)
-# CHECK-NEXT: 1 1 1.00 * * * vmaskmovdqu %xmm0, %xmm1
+# CHECK-NEXT: 1 5 1.00 * * U vldmxcsr (%rax)
+# CHECK-NEXT: 1 1 1.00 * * U vmaskmovdqu %xmm0, %xmm1
# CHECK-NEXT: 1 6 1.00 * vmaskmovpd (%rax), %xmm0, %xmm2
# CHECK-NEXT: 2 6 2.00 * vmaskmovpd (%rax), %ymm0, %ymm2
# CHECK-NEXT: 1 6 2.00 * * vmaskmovpd %xmm0, %xmm1, (%rax)
# CHECK-NEXT: 1 2 1.00 * vmovlpd %xmm0, (%rax)
# CHECK-NEXT: 1 6 1.00 * vmovlpd (%rax), %xmm1, %xmm2
# CHECK-NEXT: 1 2 1.00 * vmovlps %xmm0, (%rax)
-# CHECK-NEXT: 1 6 1.00 * vmovlps (%rax), %xmm1, %xmm2
+# CHECK-NEXT: 1 6 1.00 U vmovlps (%rax), %xmm1, %xmm2
# CHECK-NEXT: 1 3 1.00 vmovmskpd %xmm0, %ecx
# CHECK-NEXT: 1 3 1.00 vmovmskpd %ymm0, %ecx
# CHECK-NEXT: 1 3 1.00 vmovmskps %xmm0, %ecx
# CHECK-NEXT: 1 32 27.00 * vsqrtsd (%rax), %xmm1, %xmm2
# CHECK-NEXT: 1 21 21.00 vsqrtss %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 26 21.00 * vsqrtss (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 1 1.00 * * * vstmxcsr (%rax)
+# CHECK-NEXT: 1 1 1.00 * * U vstmxcsr (%rax)
# CHECK-NEXT: 1 3 1.00 vsubpd %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 8 1.00 * vsubpd (%rax), %xmm1, %xmm2
# CHECK-NEXT: 2 3 2.00 vsubpd %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 1 6 1.00 * vxorps (%rax), %xmm1, %xmm2
# CHECK-NEXT: 2 1 1.00 vxorps %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 2 6 2.00 * vxorps (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 73 90 36.50 * * * vzeroall
-# CHECK-NEXT: 37 46 18.50 * * * vzeroupper
+# CHECK-NEXT: 73 90 36.50 * * U vzeroall
+# CHECK-NEXT: 37 46 18.50 * * U vzeroupper
# CHECK: Resources:
# CHECK-NEXT: [0] - JALU0
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 1 0.50 andnl %eax, %ebx, %ecx
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 2 1.00 pclmulqdq $11, %xmm0, %xmm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 1 0.50 cmovow %si, %di
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 3 1.00 vcvtph2ps %xmm0, %xmm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 1 0.50 lzcntw %cx, %cx
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
-# CHECK-NEXT: 1 2 0.50 * * * emms
+# CHECK-NEXT: 1 2 0.50 * * U emms
# CHECK-NEXT: 2 8 0.50 movd %eax, %mm2
# CHECK-NEXT: 1 5 1.00 * movd (%rax), %mm2
# CHECK-NEXT: 1 4 1.00 movd %mm0, %ecx
-# CHECK-NEXT: 1 2 1.00 * * movd %mm0, (%rax)
+# CHECK-NEXT: 1 2 1.00 * U movd %mm0, (%rax)
# CHECK-NEXT: 2 8 0.50 movq %rax, %mm2
# CHECK-NEXT: 1 5 1.00 * movq (%rax), %mm2
# CHECK-NEXT: 1 4 1.00 movq %mm0, %rcx
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 1 0.50 popcntw %cx, %cx
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 3 1.00 addps %xmm0, %xmm2
# CHECK-NEXT: 1 24 19.00 * divps (%rax), %xmm2
# CHECK-NEXT: 1 19 19.00 divss %xmm0, %xmm2
# CHECK-NEXT: 1 24 19.00 * divss (%rax), %xmm2
-# CHECK-NEXT: 1 5 1.00 * * * ldmxcsr (%rax)
-# CHECK-NEXT: 1 1 0.50 * * * maskmovq %mm0, %mm1
+# CHECK-NEXT: 1 5 1.00 * * U ldmxcsr (%rax)
+# CHECK-NEXT: 1 1 0.50 * * U maskmovq %mm0, %mm1
# CHECK-NEXT: 1 2 1.00 maxps %xmm0, %xmm2
# CHECK-NEXT: 1 7 1.00 * maxps (%rax), %xmm2
# CHECK-NEXT: 1 2 1.00 maxss %xmm0, %xmm2
# CHECK-NEXT: 1 2 1.00 * movhps %xmm0, (%rax)
# CHECK-NEXT: 1 6 1.00 * movhps (%rax), %xmm2
# CHECK-NEXT: 1 2 1.00 * movlps %xmm0, (%rax)
-# CHECK-NEXT: 1 6 1.00 * movlps (%rax), %xmm2
+# CHECK-NEXT: 1 6 1.00 U movlps (%rax), %xmm2
# CHECK-NEXT: 1 3 1.00 movmskps %xmm0, %ecx
# CHECK-NEXT: 1 3 1.00 * movntps %xmm0, (%rax)
-# CHECK-NEXT: 1 2 1.00 * * * movntq %mm0, (%rax)
+# CHECK-NEXT: 1 2 1.00 * * U movntq %mm0, (%rax)
# CHECK-NEXT: 1 1 0.50 movss %xmm0, %xmm2
# CHECK-NEXT: 1 2 1.00 * movss %xmm0, (%rax)
# CHECK-NEXT: 1 5 1.00 * movss (%rax), %xmm2
# CHECK-NEXT: 1 7 1.00 * rsqrtps (%rax), %xmm2
# CHECK-NEXT: 1 2 1.00 rsqrtss %xmm0, %xmm2
# CHECK-NEXT: 1 7 1.00 * rsqrtss (%rax), %xmm2
-# CHECK-NEXT: 1 1 1.00 * * * sfence
+# CHECK-NEXT: 1 1 1.00 * * U sfence
# CHECK-NEXT: 1 1 0.50 shufps $1, %xmm0, %xmm2
# CHECK-NEXT: 1 6 1.00 * shufps $1, (%rax), %xmm2
# CHECK-NEXT: 1 21 21.00 sqrtps %xmm0, %xmm2
# CHECK-NEXT: 1 26 21.00 * sqrtps (%rax), %xmm2
# CHECK-NEXT: 1 21 21.00 sqrtss %xmm0, %xmm2
# CHECK-NEXT: 1 26 21.00 * sqrtss (%rax), %xmm2
-# CHECK-NEXT: 1 1 1.00 * * * stmxcsr (%rax)
+# CHECK-NEXT: 1 1 1.00 * * U stmxcsr (%rax)
# CHECK-NEXT: 1 3 1.00 subps %xmm0, %xmm2
# CHECK-NEXT: 1 8 1.00 * subps (%rax), %xmm2
# CHECK-NEXT: 1 3 1.00 subss %xmm0, %xmm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 3 1.00 addpd %xmm0, %xmm2
# CHECK-NEXT: 1 6 1.00 * andnpd (%rax), %xmm2
# CHECK-NEXT: 1 1 0.50 andpd %xmm0, %xmm2
# CHECK-NEXT: 1 6 1.00 * andpd (%rax), %xmm2
-# CHECK-NEXT: 1 5 1.00 * * * clflush (%rax)
+# CHECK-NEXT: 1 5 1.00 * * U clflush (%rax)
# CHECK-NEXT: 1 2 1.00 cmppd $0, %xmm0, %xmm2
# CHECK-NEXT: 1 7 1.00 * cmppd $0, (%rax), %xmm2
# CHECK-NEXT: 1 2 1.00 cmpsd $0, %xmm0, %xmm2
# CHECK-NEXT: 1 24 19.00 * divpd (%rax), %xmm2
# CHECK-NEXT: 1 19 19.00 divsd %xmm0, %xmm2
# CHECK-NEXT: 1 24 19.00 * divsd (%rax), %xmm2
-# CHECK-NEXT: 1 1 1.00 * * * lfence
-# CHECK-NEXT: 1 1 1.00 * * * maskmovdqu %xmm0, %xmm1
+# CHECK-NEXT: 1 1 1.00 * * U lfence
+# CHECK-NEXT: 1 1 1.00 * * U maskmovdqu %xmm0, %xmm1
# CHECK-NEXT: 1 2 1.00 maxpd %xmm0, %xmm2
# CHECK-NEXT: 1 7 1.00 * maxpd (%rax), %xmm2
# CHECK-NEXT: 1 2 1.00 maxsd %xmm0, %xmm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 3 1.00 addsubpd %xmm0, %xmm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 1 0.50 blendpd $11, %xmm0, %xmm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 3 3 2.00 crc32b %al, %ecx
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 1 0.50 extrq %xmm0, %xmm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 1 0.50 pabsb %mm0, %mm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 1 1.00 adcb $7, %al
# CHECK-NEXT: 2 4 1.00 * * btcq $7, (%rax)
# CHECK-NEXT: 2 4 1.00 * * btrq $7, (%rax)
# CHECK-NEXT: 2 4 1.00 * * btsq $7, (%rax)
-# CHECK-NEXT: 1 1 0.50 * clc
+# CHECK-NEXT: 1 1 0.50 U clc
# CHECK-NEXT: 1 1 0.50 decb %dil
# CHECK-NEXT: 2 5 1.00 * * decb (%rax)
# CHECK-NEXT: 1 1 0.50 decw %di
# CHECK-NEXT: 2 5 1.00 * * decl (%rax)
# CHECK-NEXT: 1 1 0.50 decq %rdi
# CHECK-NEXT: 2 5 1.00 * * decq (%rax)
-# CHECK-NEXT: 1 12 12.00 * divb %dil
-# CHECK-NEXT: 1 15 12.00 * * divb (%rax)
-# CHECK-NEXT: 2 17 17.00 * divw %si
-# CHECK-NEXT: 2 20 17.00 * * divw (%rax)
-# CHECK-NEXT: 2 25 25.00 * divl %edx
-# CHECK-NEXT: 2 28 25.00 * * divl (%rax)
-# CHECK-NEXT: 2 41 41.00 * divq %rcx
-# CHECK-NEXT: 2 44 41.00 * * divq (%rax)
-# CHECK-NEXT: 1 12 12.00 * idivb %dil
-# CHECK-NEXT: 1 15 12.00 * * idivb (%rax)
-# CHECK-NEXT: 2 17 17.00 * idivw %si
-# CHECK-NEXT: 2 20 17.00 * * idivw (%rax)
-# CHECK-NEXT: 2 25 25.00 * idivl %edx
-# CHECK-NEXT: 2 28 25.00 * * idivl (%rax)
-# CHECK-NEXT: 2 41 41.00 * idivq %rcx
-# CHECK-NEXT: 2 44 41.00 * * idivq (%rax)
+# CHECK-NEXT: 1 12 12.00 U divb %dil
+# CHECK-NEXT: 1 15 12.00 * U divb (%rax)
+# CHECK-NEXT: 2 17 17.00 U divw %si
+# CHECK-NEXT: 2 20 17.00 * U divw (%rax)
+# CHECK-NEXT: 2 25 25.00 U divl %edx
+# CHECK-NEXT: 2 28 25.00 * U divl (%rax)
+# CHECK-NEXT: 2 41 41.00 U divq %rcx
+# CHECK-NEXT: 2 44 41.00 * U divq (%rax)
+# CHECK-NEXT: 1 12 12.00 U idivb %dil
+# CHECK-NEXT: 1 15 12.00 * U idivb (%rax)
+# CHECK-NEXT: 2 17 17.00 U idivw %si
+# CHECK-NEXT: 2 20 17.00 * U idivw (%rax)
+# CHECK-NEXT: 2 25 25.00 U idivl %edx
+# CHECK-NEXT: 2 28 25.00 * U idivl (%rax)
+# CHECK-NEXT: 2 41 41.00 U idivq %rcx
+# CHECK-NEXT: 2 44 41.00 * U idivq (%rax)
# CHECK-NEXT: 2 3 1.00 imulb %dil
# CHECK-NEXT: 2 6 1.00 * imulb (%rax)
# CHECK-NEXT: 2 3 1.00 imulw %di
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
-# CHECK-NEXT: 1 100 0.50 * f2xm1
-# CHECK-NEXT: 1 2 1.00 * fabs
-# CHECK-NEXT: 1 3 1.00 * fadd %st(0), %st(1)
-# CHECK-NEXT: 1 3 1.00 * fadd %st(2)
-# CHECK-NEXT: 1 8 1.00 * * fadds (%ecx)
-# CHECK-NEXT: 1 8 1.00 * * faddl (%ecx)
-# CHECK-NEXT: 1 3 1.00 * faddp %st(1)
-# CHECK-NEXT: 1 3 1.00 * faddp %st(2)
-# CHECK-NEXT: 1 8 1.00 * * fiadds (%ecx)
-# CHECK-NEXT: 1 8 1.00 * * fiaddl (%ecx)
-# CHECK-NEXT: 1 100 0.50 * fbld (%ecx)
-# CHECK-NEXT: 1 100 0.50 * fbstp (%eax)
-# CHECK-NEXT: 1 2 1.00 * fchs
-# CHECK-NEXT: 1 100 0.50 * fnclex
-# CHECK-NEXT: 1 3 1.00 * fcmovb %st(1), %st(0)
-# CHECK-NEXT: 1 3 1.00 * fcmovbe %st(1), %st(0)
-# CHECK-NEXT: 1 3 1.00 * fcmove %st(1), %st(0)
-# CHECK-NEXT: 1 3 1.00 * fcmovnb %st(1), %st(0)
-# CHECK-NEXT: 1 3 1.00 * fcmovnbe %st(1), %st(0)
-# CHECK-NEXT: 1 3 1.00 * fcmovne %st(1), %st(0)
-# CHECK-NEXT: 1 3 1.00 * fcmovnu %st(1), %st(0)
-# CHECK-NEXT: 1 3 1.00 * fcmovu %st(1), %st(0)
-# CHECK-NEXT: 1 3 1.00 * fcom %st(1)
-# CHECK-NEXT: 1 3 1.00 * fcom %st(3)
-# CHECK-NEXT: 1 8 1.00 * fcoms (%ecx)
-# CHECK-NEXT: 1 8 1.00 * fcoml (%eax)
-# CHECK-NEXT: 1 3 1.00 * fcomp %st(1)
-# CHECK-NEXT: 1 3 1.00 * fcomp %st(3)
-# CHECK-NEXT: 1 8 1.00 * fcomps (%ecx)
-# CHECK-NEXT: 1 8 1.00 * fcompl (%eax)
-# CHECK-NEXT: 1 100 0.50 * fcompp
-# CHECK-NEXT: 1 3 1.00 * fcomi %st(3)
-# CHECK-NEXT: 1 3 1.00 * fcompi %st(3)
-# CHECK-NEXT: 1 100 0.50 * fcos
-# CHECK-NEXT: 1 100 0.50 * fdecstp
-# CHECK-NEXT: 1 19 19.00 * fdiv %st(0), %st(1)
-# CHECK-NEXT: 1 19 19.00 * fdiv %st(2)
-# CHECK-NEXT: 1 24 19.00 * * fdivs (%ecx)
-# CHECK-NEXT: 1 24 19.00 * * fdivl (%eax)
-# CHECK-NEXT: 1 19 19.00 * fdivp %st(1)
-# CHECK-NEXT: 1 19 19.00 * fdivp %st(2)
-# CHECK-NEXT: 1 24 19.00 * * fidivs (%ecx)
-# CHECK-NEXT: 1 24 19.00 * * fidivl (%eax)
-# CHECK-NEXT: 1 19 19.00 * fdivr %st(0), %st(1)
-# CHECK-NEXT: 1 19 19.00 * fdivr %st(2)
-# CHECK-NEXT: 1 24 19.00 * * fdivrs (%ecx)
-# CHECK-NEXT: 1 24 19.00 * * fdivrl (%eax)
-# CHECK-NEXT: 1 19 19.00 * fdivrp %st(1)
-# CHECK-NEXT: 1 19 19.00 * fdivrp %st(2)
-# CHECK-NEXT: 1 24 19.00 * * fidivrs (%ecx)
-# CHECK-NEXT: 1 24 19.00 * * fidivrl (%eax)
-# CHECK-NEXT: 1 100 0.50 * ffree %st(0)
-# CHECK-NEXT: 1 8 1.00 * ficoms (%ecx)
-# CHECK-NEXT: 1 8 1.00 * ficoml (%eax)
-# CHECK-NEXT: 1 8 1.00 * ficomps (%ecx)
-# CHECK-NEXT: 1 8 1.00 * ficompl (%eax)
-# CHECK-NEXT: 1 5 1.00 * * filds (%edx)
-# CHECK-NEXT: 1 5 1.00 * * fildl (%ecx)
-# CHECK-NEXT: 1 5 1.00 * * fildll (%eax)
-# CHECK-NEXT: 1 100 0.50 * fincstp
-# CHECK-NEXT: 1 100 0.50 * fninit
-# CHECK-NEXT: 1 1 1.00 * * fists (%edx)
-# CHECK-NEXT: 1 1 1.00 * * fistl (%ecx)
-# CHECK-NEXT: 1 1 1.00 * * fistps (%edx)
-# CHECK-NEXT: 1 1 1.00 * * fistpl (%ecx)
-# CHECK-NEXT: 1 1 1.00 * * fistpll (%eax)
-# CHECK-NEXT: 1 1 1.00 * * fisttps (%edx)
-# CHECK-NEXT: 1 1 1.00 * * fisttpl (%ecx)
-# CHECK-NEXT: 1 1 1.00 * * fisttpll (%eax)
-# CHECK-NEXT: 1 1 0.50 * fld %st(0)
-# CHECK-NEXT: 1 5 1.00 * * flds (%edx)
-# CHECK-NEXT: 1 5 1.00 * * fldl (%ecx)
-# CHECK-NEXT: 1 5 1.00 * * fldt (%eax)
-# CHECK-NEXT: 1 5 1.00 * * fldcw (%eax)
-# CHECK-NEXT: 1 100 0.50 * fldenv (%eax)
-# CHECK-NEXT: 1 3 1.00 * fld1
-# CHECK-NEXT: 1 3 1.00 * fldl2e
-# CHECK-NEXT: 1 3 1.00 * fldl2t
-# CHECK-NEXT: 1 3 1.00 * fldlg2
-# CHECK-NEXT: 1 3 1.00 * fldln2
-# CHECK-NEXT: 1 3 1.00 * fldpi
-# CHECK-NEXT: 1 3 1.00 * fldz
-# CHECK-NEXT: 1 2 1.00 * fmul %st(0), %st(1)
-# CHECK-NEXT: 1 2 1.00 * fmul %st(2)
-# CHECK-NEXT: 1 7 1.00 * * fmuls (%ecx)
-# CHECK-NEXT: 1 7 1.00 * * fmull (%eax)
-# CHECK-NEXT: 1 2 1.00 * fmulp %st(1)
-# CHECK-NEXT: 1 2 1.00 * fmulp %st(2)
-# CHECK-NEXT: 1 7 1.00 * * fimuls (%ecx)
-# CHECK-NEXT: 1 7 1.00 * * fimull (%eax)
-# CHECK-NEXT: 1 1 0.50 * fnop
-# CHECK-NEXT: 1 100 0.50 * fpatan
-# CHECK-NEXT: 1 100 0.50 * fprem
-# CHECK-NEXT: 1 100 0.50 * fprem1
-# CHECK-NEXT: 1 100 0.50 * fptan
-# CHECK-NEXT: 1 100 0.50 * frndint
-# CHECK-NEXT: 1 100 0.50 * frstor (%eax)
-# CHECK-NEXT: 1 100 0.50 * fnsave (%eax)
-# CHECK-NEXT: 1 100 0.50 * fscale
-# CHECK-NEXT: 1 100 0.50 * fsin
-# CHECK-NEXT: 1 100 0.50 * fsincos
-# CHECK-NEXT: 1 35 35.00 * fsqrt
-# CHECK-NEXT: 1 1 0.50 * fst %st(0)
-# CHECK-NEXT: 1 1 1.00 * * fsts (%edx)
-# CHECK-NEXT: 1 1 1.00 * * fstl (%ecx)
-# CHECK-NEXT: 1 1 0.50 * fstp %st(0)
-# CHECK-NEXT: 1 1 1.00 * * fstpl (%edx)
-# CHECK-NEXT: 1 1 1.00 * * fstpl (%ecx)
-# CHECK-NEXT: 1 1 1.00 * * fstpt (%eax)
-# CHECK-NEXT: 1 1 0.50 * * fnstcw (%eax)
-# CHECK-NEXT: 1 100 0.50 * fnstenv (%eax)
-# CHECK-NEXT: 1 100 0.50 * fnstsw (%eax)
-# CHECK-NEXT: 1 100 0.50 * frstor (%eax)
-# CHECK-NEXT: 1 100 0.50 * wait
-# CHECK-NEXT: 1 100 0.50 * fnsave (%eax)
-# CHECK-NEXT: 1 3 1.00 * fsub %st(0), %st(1)
-# CHECK-NEXT: 1 3 1.00 * fsub %st(2)
-# CHECK-NEXT: 1 8 1.00 * * fsubs (%ecx)
-# CHECK-NEXT: 1 8 1.00 * * fsubl (%eax)
-# CHECK-NEXT: 1 3 1.00 * fsubp %st(1)
-# CHECK-NEXT: 1 3 1.00 * fsubp %st(2)
-# CHECK-NEXT: 1 8 1.00 * * fisubs (%ecx)
-# CHECK-NEXT: 1 8 1.00 * * fisubl (%eax)
-# CHECK-NEXT: 1 3 1.00 * fsubr %st(0), %st(1)
-# CHECK-NEXT: 1 3 1.00 * fsubr %st(2)
-# CHECK-NEXT: 1 8 1.00 * * fsubrs (%ecx)
-# CHECK-NEXT: 1 8 1.00 * * fsubrl (%eax)
-# CHECK-NEXT: 1 3 1.00 * fsubrp %st(1)
-# CHECK-NEXT: 1 3 1.00 * fsubrp %st(2)
-# CHECK-NEXT: 1 8 1.00 * * fisubrs (%ecx)
-# CHECK-NEXT: 1 8 1.00 * * fisubrl (%eax)
-# CHECK-NEXT: 1 3 1.00 * ftst
-# CHECK-NEXT: 1 3 1.00 * fucom %st(1)
-# CHECK-NEXT: 1 3 1.00 * fucom %st(3)
-# CHECK-NEXT: 1 3 1.00 * fucomp %st(1)
-# CHECK-NEXT: 1 3 1.00 * fucomp %st(3)
-# CHECK-NEXT: 1 3 1.00 * fucompp
-# CHECK-NEXT: 1 3 1.00 * fucomi %st(3)
-# CHECK-NEXT: 1 3 1.00 * fucompi %st(3)
-# CHECK-NEXT: 1 100 0.50 * wait
-# CHECK-NEXT: 1 100 0.50 * fxam
-# CHECK-NEXT: 1 1 0.50 * fxch %st(1)
-# CHECK-NEXT: 1 1 0.50 * fxch %st(3)
-# CHECK-NEXT: 1 100 0.50 * * * fxrstor (%eax)
-# CHECK-NEXT: 1 100 0.50 * * * fxsave (%eax)
-# CHECK-NEXT: 1 100 0.50 * fxtract
-# CHECK-NEXT: 1 100 0.50 * fyl2x
-# CHECK-NEXT: 1 100 0.50 * fyl2xp1
+# 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(2)
+# CHECK-NEXT: 1 8 1.00 * U fadds (%ecx)
+# CHECK-NEXT: 1 8 1.00 * U faddl (%ecx)
+# CHECK-NEXT: 1 3 1.00 U faddp %st(1)
+# CHECK-NEXT: 1 3 1.00 U faddp %st(2)
+# CHECK-NEXT: 1 8 1.00 * U fiadds (%ecx)
+# CHECK-NEXT: 1 8 1.00 * U fiaddl (%ecx)
+# CHECK-NEXT: 1 100 0.50 U fbld (%ecx)
+# 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 fcom %st(1)
+# CHECK-NEXT: 1 3 1.00 U fcom %st(3)
+# CHECK-NEXT: 1 8 1.00 U fcoms (%ecx)
+# CHECK-NEXT: 1 8 1.00 U fcoml (%eax)
+# CHECK-NEXT: 1 3 1.00 U fcomp %st(1)
+# CHECK-NEXT: 1 3 1.00 U fcomp %st(3)
+# CHECK-NEXT: 1 8 1.00 U fcomps (%ecx)
+# CHECK-NEXT: 1 8 1.00 U fcompl (%eax)
+# CHECK-NEXT: 1 100 0.50 U fcompp
+# CHECK-NEXT: 1 3 1.00 U fcomi %st(3)
+# 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(2)
+# CHECK-NEXT: 1 24 19.00 * U fdivs (%ecx)
+# CHECK-NEXT: 1 24 19.00 * U fdivl (%eax)
+# CHECK-NEXT: 1 19 19.00 U fdivp %st(1)
+# 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(2)
+# CHECK-NEXT: 1 24 19.00 * U fdivrs (%ecx)
+# CHECK-NEXT: 1 24 19.00 * U fdivrl (%eax)
+# CHECK-NEXT: 1 19 19.00 U fdivrp %st(1)
+# 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 8 1.00 U ficoms (%ecx)
+# CHECK-NEXT: 1 8 1.00 U ficoml (%eax)
+# CHECK-NEXT: 1 8 1.00 U ficomps (%ecx)
+# CHECK-NEXT: 1 8 1.00 U ficompl (%eax)
+# CHECK-NEXT: 1 5 1.00 * U filds (%edx)
+# CHECK-NEXT: 1 5 1.00 * U fildl (%ecx)
+# CHECK-NEXT: 1 5 1.00 * U fildll (%eax)
+# CHECK-NEXT: 1 100 0.50 U fincstp
+# CHECK-NEXT: 1 100 0.50 U fninit
+# CHECK-NEXT: 1 1 1.00 * U fists (%edx)
+# CHECK-NEXT: 1 1 1.00 * U fistl (%ecx)
+# CHECK-NEXT: 1 1 1.00 * U fistps (%edx)
+# CHECK-NEXT: 1 1 1.00 * U fistpl (%ecx)
+# CHECK-NEXT: 1 1 1.00 * U fistpll (%eax)
+# 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 5 1.00 * U flds (%edx)
+# CHECK-NEXT: 1 5 1.00 * U fldl (%ecx)
+# CHECK-NEXT: 1 5 1.00 * U fldt (%eax)
+# CHECK-NEXT: 1 5 1.00 * U fldcw (%eax)
+# CHECK-NEXT: 1 100 0.50 U fldenv (%eax)
+# CHECK-NEXT: 1 3 1.00 U fld1
+# CHECK-NEXT: 1 3 1.00 U fldl2e
+# CHECK-NEXT: 1 3 1.00 U fldl2t
+# CHECK-NEXT: 1 3 1.00 U fldlg2
+# 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(2)
+# CHECK-NEXT: 1 7 1.00 * U fmuls (%ecx)
+# CHECK-NEXT: 1 7 1.00 * U fmull (%eax)
+# CHECK-NEXT: 1 2 1.00 U fmulp %st(1)
+# CHECK-NEXT: 1 2 1.00 U fmulp %st(2)
+# CHECK-NEXT: 1 7 1.00 * U fimuls (%ecx)
+# CHECK-NEXT: 1 7 1.00 * U fimull (%eax)
+# CHECK-NEXT: 1 1 0.50 U fnop
+# CHECK-NEXT: 1 100 0.50 U fpatan
+# CHECK-NEXT: 1 100 0.50 U fprem
+# CHECK-NEXT: 1 100 0.50 U fprem1
+# CHECK-NEXT: 1 100 0.50 U fptan
+# CHECK-NEXT: 1 100 0.50 U frndint
+# CHECK-NEXT: 1 100 0.50 U frstor (%eax)
+# CHECK-NEXT: 1 100 0.50 U fnsave (%eax)
+# CHECK-NEXT: 1 100 0.50 U fscale
+# 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 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 1.00 * U fstpl (%edx)
+# CHECK-NEXT: 1 1 1.00 * U fstpl (%ecx)
+# CHECK-NEXT: 1 1 1.00 * U fstpt (%eax)
+# CHECK-NEXT: 1 1 0.50 * U fnstcw (%eax)
+# CHECK-NEXT: 1 100 0.50 U fnstenv (%eax)
+# CHECK-NEXT: 1 100 0.50 U fnstsw (%eax)
+# 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(2)
+# CHECK-NEXT: 1 8 1.00 * U fsubs (%ecx)
+# CHECK-NEXT: 1 8 1.00 * U fsubl (%eax)
+# CHECK-NEXT: 1 3 1.00 U fsubp %st(1)
+# 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(2)
+# CHECK-NEXT: 1 8 1.00 * U fsubrs (%ecx)
+# CHECK-NEXT: 1 8 1.00 * U fsubrl (%eax)
+# CHECK-NEXT: 1 3 1.00 U fsubrp %st(1)
+# CHECK-NEXT: 1 3 1.00 U fsubrp %st(2)
+# CHECK-NEXT: 1 8 1.00 * U fisubrs (%ecx)
+# CHECK-NEXT: 1 8 1.00 * U fisubrl (%eax)
+# CHECK-NEXT: 1 3 1.00 U ftst
+# CHECK-NEXT: 1 3 1.00 U fucom %st(1)
+# CHECK-NEXT: 1 3 1.00 U fucom %st(3)
+# CHECK-NEXT: 1 3 1.00 U fucomp %st(1)
+# CHECK-NEXT: 1 3 1.00 U fucomp %st(3)
+# CHECK-NEXT: 1 3 1.00 U fucompp
+# CHECK-NEXT: 1 3 1.00 U fucomi %st(3)
+# CHECK-NEXT: 1 3 1.00 U fucompi %st(3)
+# CHECK-NEXT: 1 100 0.50 U wait
+# CHECK-NEXT: 1 100 0.50 U fxam
+# CHECK-NEXT: 1 1 0.50 U fxch %st(1)
+# CHECK-NEXT: 1 1 0.50 U fxch %st(3)
+# CHECK-NEXT: 1 100 0.50 * * U fxrstor (%eax)
+# CHECK-NEXT: 1 100 0.50 * * U fxsave (%eax)
+# CHECK-NEXT: 1 100 0.50 U fxtract
+# CHECK-NEXT: 1 100 0.50 U fyl2x
+# CHECK-NEXT: 1 100 0.50 U fyl2xp1
# CHECK: Resources:
# CHECK-NEXT: [0] - JALU0
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 7 1.00 * vmulps (%rsi), %xmm0, %xmm0
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 1 0.50 addl %edi, %eax
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 3 1.00 vaddps %xmm0, %xmm0, %xmm1
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 2 3 2.00 vaddps %ymm0, %ymm0, %ymm1
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 0 0.50 subl %eax, %eax
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 5 1.00 vmulps %zmm0, %zmm1, %zmm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 5 1.00 vmulps %zmm0, %zmm1, %zmm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 5 1.00 vmulps %zmm0, %zmm1, %zmm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
-# CHECK-NEXT: 31 31 10.33 * * * femms
+# CHECK-NEXT: 31 31 10.33 * * U femms
# CHECK-NEXT: 1 3 1.00 pavgusb %mm0, %mm2
# CHECK-NEXT: 2 8 1.00 * pavgusb (%rax), %mm2
# CHECK-NEXT: 1 3 1.00 pf2id %mm0, %mm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 2 2 0.67 adcxl %ebx, %ecx
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 2 7 1.00 aesdec %xmm0, %xmm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 3 1.00 vaddpd %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 2 7 1.00 * vinsertps $1, (%rax), %xmm1, %xmm2
# CHECK-NEXT: 1 6 0.50 * vlddqu (%rax), %xmm2
# CHECK-NEXT: 1 7 0.50 * vlddqu (%rax), %ymm2
-# CHECK-NEXT: 4 5 1.00 * * * vldmxcsr (%rax)
-# CHECK-NEXT: 1 1 1.00 * * * vmaskmovdqu %xmm0, %xmm1
+# CHECK-NEXT: 4 5 1.00 * * U vldmxcsr (%rax)
+# CHECK-NEXT: 1 1 1.00 * * U vmaskmovdqu %xmm0, %xmm1
# CHECK-NEXT: 3 8 1.00 * vmaskmovpd (%rax), %xmm0, %xmm2
# CHECK-NEXT: 3 9 1.00 * vmaskmovpd (%rax), %ymm0, %ymm2
# CHECK-NEXT: 3 5 1.00 * * vmaskmovpd %xmm0, %xmm1, (%rax)
# CHECK-NEXT: 1 1 1.00 * vmovlpd %xmm0, (%rax)
# CHECK-NEXT: 2 7 1.00 * vmovlpd (%rax), %xmm1, %xmm2
# CHECK-NEXT: 1 1 1.00 * vmovlps %xmm0, (%rax)
-# CHECK-NEXT: 2 7 1.00 * vmovlps (%rax), %xmm1, %xmm2
+# CHECK-NEXT: 2 7 1.00 U vmovlps (%rax), %xmm1, %xmm2
# CHECK-NEXT: 1 2 1.00 vmovmskpd %xmm0, %ecx
# CHECK-NEXT: 1 2 1.00 vmovmskpd %ymm0, %ecx
# CHECK-NEXT: 1 2 1.00 vmovmskps %xmm0, %ecx
# CHECK-NEXT: 2 27 21.00 * vsqrtsd (%rax), %xmm1, %xmm2
# CHECK-NEXT: 1 14 14.00 vsqrtss %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 2 20 14.00 * vsqrtss (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 4 5 1.00 * * * vstmxcsr (%rax)
+# CHECK-NEXT: 4 5 1.00 * * U vstmxcsr (%rax)
# CHECK-NEXT: 1 3 1.00 vsubpd %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 2 9 1.00 * vsubpd (%rax), %xmm1, %xmm2
# CHECK-NEXT: 1 3 1.00 vsubpd %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 2 7 1.00 * vxorps (%rax), %xmm1, %xmm2
# CHECK-NEXT: 1 1 1.00 vxorps %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 2 8 1.00 * vxorps (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 1 100 0.33 * * * vzeroall
-# CHECK-NEXT: 1 100 0.33 * * * vzeroupper
+# CHECK-NEXT: 1 100 0.33 * * U vzeroall
+# CHECK-NEXT: 1 100 0.33 * * U vzeroupper
# CHECK: Resources:
# CHECK-NEXT: [0] - SBDivider
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 2 6 1.00 * vbroadcasti128 (%rax), %ymm0
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 3 1.00 vaddpd %zmm16, %zmm17, %zmm19
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 3 1.00 vaddpd %xmm16, %xmm17, %xmm19
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 1 0.33 andnl %eax, %ebx, %ecx
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 1 1.00 bzhil %eax, %ebx, %ecx
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 2 2 0.67 cmovow %si, %di
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 3 1.00 vcvtph2ps %xmm0, %xmm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 5 0.50 vfmadd132pd %xmm0, %xmm1, %xmm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 5 0.50 vfmaddpd %xmm0, %xmm1, %xmm2, %xmm3
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 3 1.00 lzcntw %cx, %cx
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
-# CHECK-NEXT: 31 31 10.33 * * * emms
+# CHECK-NEXT: 31 31 10.33 * * U emms
# CHECK-NEXT: 1 1 1.00 movd %eax, %mm2
# CHECK-NEXT: 1 5 0.50 * movd (%rax), %mm2
# CHECK-NEXT: 1 2 1.00 movd %mm0, %ecx
-# CHECK-NEXT: 1 1 1.00 * * movd %mm0, (%rax)
+# CHECK-NEXT: 1 1 1.00 * U movd %mm0, (%rax)
# CHECK-NEXT: 1 1 1.00 movq %rax, %mm2
# CHECK-NEXT: 1 5 0.50 * movq (%rax), %mm2
# CHECK-NEXT: 1 2 1.00 movq %mm0, %rcx
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 3 1.00 popcntw %cx, %cx
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 3 1.00 addps %xmm0, %xmm2
# CHECK-NEXT: 2 20 14.00 * divps (%rax), %xmm2
# CHECK-NEXT: 1 14 14.00 divss %xmm0, %xmm2
# CHECK-NEXT: 2 20 14.00 * divss (%rax), %xmm2
-# CHECK-NEXT: 4 5 1.00 * * * ldmxcsr (%rax)
-# CHECK-NEXT: 1 1 1.00 * * * maskmovq %mm0, %mm1
+# CHECK-NEXT: 4 5 1.00 * * U ldmxcsr (%rax)
+# CHECK-NEXT: 1 1 1.00 * * U maskmovq %mm0, %mm1
# CHECK-NEXT: 1 3 1.00 maxps %xmm0, %xmm2
# CHECK-NEXT: 2 9 1.00 * maxps (%rax), %xmm2
# CHECK-NEXT: 1 3 1.00 maxss %xmm0, %xmm2
# CHECK-NEXT: 1 1 1.00 * movhps %xmm0, (%rax)
# CHECK-NEXT: 2 7 1.00 * movhps (%rax), %xmm2
# CHECK-NEXT: 1 1 1.00 * movlps %xmm0, (%rax)
-# CHECK-NEXT: 2 7 1.00 * movlps (%rax), %xmm2
+# CHECK-NEXT: 2 7 1.00 U movlps (%rax), %xmm2
# CHECK-NEXT: 1 2 1.00 movmskps %xmm0, %ecx
# CHECK-NEXT: 1 1 1.00 * movntps %xmm0, (%rax)
-# CHECK-NEXT: 1 1 1.00 * * * movntq %mm0, (%rax)
+# CHECK-NEXT: 1 1 1.00 * * U movntq %mm0, (%rax)
# CHECK-NEXT: 1 1 1.00 movss %xmm0, %xmm2
# CHECK-NEXT: 1 1 1.00 * movss %xmm0, (%rax)
# CHECK-NEXT: 1 6 0.50 * movss (%rax), %xmm2
# CHECK-NEXT: 2 11 1.00 * rsqrtps (%rax), %xmm2
# CHECK-NEXT: 1 5 1.00 rsqrtss %xmm0, %xmm2
# CHECK-NEXT: 2 11 1.00 * rsqrtss (%rax), %xmm2
-# CHECK-NEXT: 1 1 1.00 * * * sfence
+# CHECK-NEXT: 1 1 1.00 * * U sfence
# CHECK-NEXT: 1 1 1.00 shufps $1, %xmm0, %xmm2
# CHECK-NEXT: 2 7 1.00 * shufps $1, (%rax), %xmm2
# CHECK-NEXT: 1 14 14.00 sqrtps %xmm0, %xmm2
# CHECK-NEXT: 2 20 14.00 * sqrtps (%rax), %xmm2
# CHECK-NEXT: 1 14 14.00 sqrtss %xmm0, %xmm2
# CHECK-NEXT: 2 20 14.00 * sqrtss (%rax), %xmm2
-# CHECK-NEXT: 4 5 1.00 * * * stmxcsr (%rax)
+# CHECK-NEXT: 4 5 1.00 * * U stmxcsr (%rax)
# CHECK-NEXT: 1 3 1.00 subps %xmm0, %xmm2
# CHECK-NEXT: 2 9 1.00 * subps (%rax), %xmm2
# CHECK-NEXT: 1 3 1.00 subss %xmm0, %xmm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 3 1.00 addpd %xmm0, %xmm2
# CHECK-NEXT: 2 7 1.00 * andnpd (%rax), %xmm2
# CHECK-NEXT: 1 1 1.00 andpd %xmm0, %xmm2
# CHECK-NEXT: 2 7 1.00 * andpd (%rax), %xmm2
-# CHECK-NEXT: 4 5 1.00 * * * clflush (%rax)
+# CHECK-NEXT: 4 5 1.00 * * U clflush (%rax)
# CHECK-NEXT: 1 3 1.00 cmppd $0, %xmm0, %xmm2
# CHECK-NEXT: 2 9 1.00 * cmppd $0, (%rax), %xmm2
# CHECK-NEXT: 1 3 1.00 cmpsd $0, %xmm0, %xmm2
# CHECK-NEXT: 2 28 22.00 * divpd (%rax), %xmm2
# CHECK-NEXT: 1 22 22.00 divsd %xmm0, %xmm2
# CHECK-NEXT: 2 28 22.00 * divsd (%rax), %xmm2
-# CHECK-NEXT: 1 1 1.00 * * * lfence
-# CHECK-NEXT: 1 1 1.00 * * * maskmovdqu %xmm0, %xmm1
+# CHECK-NEXT: 1 1 1.00 * * U lfence
+# CHECK-NEXT: 1 1 1.00 * * U maskmovdqu %xmm0, %xmm1
# CHECK-NEXT: 1 3 1.00 maxpd %xmm0, %xmm2
# CHECK-NEXT: 2 9 1.00 * maxpd (%rax), %xmm2
# CHECK-NEXT: 1 3 1.00 maxsd %xmm0, %xmm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 3 1.00 addsubpd %xmm0, %xmm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 1 0.50 blendpd $11, %xmm0, %xmm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 3 1.00 crc32b %al, %ecx
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 1 0.50 extrq %xmm0, %xmm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 1 0.50 pabsb %mm0, %mm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 2 2 1.00 bextrl $8192, %ebx, %ecx
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 2 2 0.67 adcb $7, %al
# CHECK-NEXT: 4 7 1.00 * * btcq $7, (%rax)
# CHECK-NEXT: 4 7 1.00 * * btrq $7, (%rax)
# CHECK-NEXT: 4 7 1.00 * * btsq $7, (%rax)
-# CHECK-NEXT: 1 1 0.25 * clc
+# CHECK-NEXT: 1 1 0.25 U clc
# CHECK-NEXT: 1 1 0.33 decb %dil
# CHECK-NEXT: 3 7 1.00 * * decb (%rax)
# CHECK-NEXT: 1 1 0.33 decw %di
# CHECK-NEXT: 3 7 1.00 * * decl (%rax)
# CHECK-NEXT: 1 1 0.33 decq %rdi
# CHECK-NEXT: 3 7 1.00 * * decq (%rax)
-# CHECK-NEXT: 1 25 10.00 * divb %dil
-# CHECK-NEXT: 2 30 10.00 * * divb (%rax)
-# CHECK-NEXT: 1 25 10.00 * divw %si
-# CHECK-NEXT: 2 30 10.00 * * divw (%rax)
-# CHECK-NEXT: 1 25 10.00 * divl %edx
-# CHECK-NEXT: 2 30 10.00 * * divl (%rax)
-# CHECK-NEXT: 1 25 10.00 * divq %rcx
-# CHECK-NEXT: 2 30 10.00 * * divq (%rax)
-# CHECK-NEXT: 1 25 10.00 * idivb %dil
-# CHECK-NEXT: 2 30 10.00 * * idivb (%rax)
-# CHECK-NEXT: 1 25 10.00 * idivw %si
-# CHECK-NEXT: 2 30 10.00 * * idivw (%rax)
-# CHECK-NEXT: 1 25 10.00 * idivl %edx
-# CHECK-NEXT: 2 30 10.00 * * idivl (%rax)
-# CHECK-NEXT: 1 25 10.00 * idivq %rcx
-# CHECK-NEXT: 2 30 10.00 * * idivq (%rax)
+# CHECK-NEXT: 1 25 10.00 U divb %dil
+# CHECK-NEXT: 2 30 10.00 * U divb (%rax)
+# CHECK-NEXT: 1 25 10.00 U divw %si
+# CHECK-NEXT: 2 30 10.00 * U divw (%rax)
+# CHECK-NEXT: 1 25 10.00 U divl %edx
+# CHECK-NEXT: 2 30 10.00 * U divl (%rax)
+# CHECK-NEXT: 1 25 10.00 U divq %rcx
+# CHECK-NEXT: 2 30 10.00 * U divq (%rax)
+# CHECK-NEXT: 1 25 10.00 U idivb %dil
+# CHECK-NEXT: 2 30 10.00 * U idivb (%rax)
+# CHECK-NEXT: 1 25 10.00 U idivw %si
+# CHECK-NEXT: 2 30 10.00 * U idivw (%rax)
+# CHECK-NEXT: 1 25 10.00 U idivl %edx
+# CHECK-NEXT: 2 30 10.00 * U idivl (%rax)
+# CHECK-NEXT: 1 25 10.00 U idivq %rcx
+# CHECK-NEXT: 2 30 10.00 * U idivq (%rax)
# CHECK-NEXT: 1 3 1.00 imulb %dil
# CHECK-NEXT: 2 8 1.00 * imulb (%rax)
# CHECK-NEXT: 4 4 1.33 imulw %di
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
-# CHECK-NEXT: 1 100 0.33 * f2xm1
-# CHECK-NEXT: 1 1 1.00 * fabs
-# CHECK-NEXT: 1 3 1.00 * fadd %st(0), %st(1)
-# CHECK-NEXT: 1 3 1.00 * fadd %st(2)
-# CHECK-NEXT: 2 10 1.00 * * fadds (%ecx)
-# CHECK-NEXT: 2 10 1.00 * * faddl (%ecx)
-# CHECK-NEXT: 1 3 1.00 * faddp %st(1)
-# CHECK-NEXT: 1 3 1.00 * faddp %st(2)
-# CHECK-NEXT: 3 13 2.00 * * fiadds (%ecx)
-# CHECK-NEXT: 3 13 2.00 * * fiaddl (%ecx)
-# CHECK-NEXT: 1 100 0.33 * fbld (%ecx)
-# CHECK-NEXT: 1 100 0.33 * fbstp (%eax)
-# CHECK-NEXT: 1 1 1.00 * fchs
-# CHECK-NEXT: 1 100 0.33 * fnclex
-# CHECK-NEXT: 3 3 2.00 * fcmovb %st(1), %st(0)
-# CHECK-NEXT: 3 3 2.00 * fcmovbe %st(1), %st(0)
-# CHECK-NEXT: 3 3 2.00 * fcmove %st(1), %st(0)
-# CHECK-NEXT: 3 3 2.00 * fcmovnb %st(1), %st(0)
-# CHECK-NEXT: 3 3 2.00 * fcmovnbe %st(1), %st(0)
-# CHECK-NEXT: 3 3 2.00 * fcmovne %st(1), %st(0)
-# CHECK-NEXT: 3 3 2.00 * fcmovnu %st(1), %st(0)
-# CHECK-NEXT: 3 3 2.00 * fcmovu %st(1), %st(0)
-# CHECK-NEXT: 1 1 1.00 * fcom %st(1)
-# CHECK-NEXT: 1 1 1.00 * fcom %st(3)
-# CHECK-NEXT: 2 8 1.00 * fcoms (%ecx)
-# CHECK-NEXT: 2 8 1.00 * fcoml (%eax)
-# CHECK-NEXT: 1 1 1.00 * fcomp %st(1)
-# CHECK-NEXT: 1 1 1.00 * fcomp %st(3)
-# CHECK-NEXT: 2 8 1.00 * fcomps (%ecx)
-# CHECK-NEXT: 2 8 1.00 * fcompl (%eax)
-# CHECK-NEXT: 1 100 0.33 * fcompp
-# CHECK-NEXT: 3 3 1.00 * fcomi %st(3)
-# CHECK-NEXT: 3 3 1.00 * fcompi %st(3)
-# CHECK-NEXT: 1 100 0.33 * fcos
-# CHECK-NEXT: 1 1 1.00 * fdecstp
-# CHECK-NEXT: 1 14 14.00 * fdiv %st(0), %st(1)
-# CHECK-NEXT: 1 14 14.00 * fdiv %st(2)
-# CHECK-NEXT: 2 31 1.00 * * fdivs (%ecx)
-# CHECK-NEXT: 2 31 1.00 * * fdivl (%eax)
-# CHECK-NEXT: 1 14 14.00 * fdivp %st(1)
-# CHECK-NEXT: 1 14 14.00 * fdivp %st(2)
-# CHECK-NEXT: 3 34 1.00 * * fidivs (%ecx)
-# CHECK-NEXT: 3 34 1.00 * * fidivl (%eax)
-# CHECK-NEXT: 1 14 14.00 * fdivr %st(0), %st(1)
-# CHECK-NEXT: 1 14 14.00 * fdivr %st(2)
-# CHECK-NEXT: 2 31 1.00 * * fdivrs (%ecx)
-# CHECK-NEXT: 2 31 1.00 * * fdivrl (%eax)
-# CHECK-NEXT: 1 14 14.00 * fdivrp %st(1)
-# CHECK-NEXT: 1 14 14.00 * fdivrp %st(2)
-# CHECK-NEXT: 3 34 1.00 * * fidivrs (%ecx)
-# CHECK-NEXT: 3 34 1.00 * * fidivrl (%eax)
-# CHECK-NEXT: 1 1 1.00 * ffree %st(0)
-# CHECK-NEXT: 3 11 2.00 * ficoms (%ecx)
-# CHECK-NEXT: 3 11 2.00 * ficoml (%eax)
-# CHECK-NEXT: 3 11 2.00 * ficomps (%ecx)
-# CHECK-NEXT: 3 11 2.00 * ficompl (%eax)
-# CHECK-NEXT: 2 10 1.00 * * filds (%edx)
-# CHECK-NEXT: 2 10 1.00 * * fildl (%ecx)
-# CHECK-NEXT: 2 10 1.00 * * fildll (%eax)
-# CHECK-NEXT: 1 1 1.00 * fincstp
-# CHECK-NEXT: 4 5 1.33 * fninit
-# CHECK-NEXT: 4 9 1.00 * * fists (%edx)
-# CHECK-NEXT: 4 9 1.00 * * fistl (%ecx)
-# CHECK-NEXT: 4 9 1.00 * * fistps (%edx)
-# CHECK-NEXT: 4 9 1.00 * * fistpl (%ecx)
-# CHECK-NEXT: 4 9 1.00 * * fistpll (%eax)
-# CHECK-NEXT: 3 5 1.00 * * fisttps (%edx)
-# CHECK-NEXT: 3 5 1.00 * * fisttpl (%ecx)
-# CHECK-NEXT: 3 5 1.00 * * fisttpll (%eax)
-# CHECK-NEXT: 1 1 1.00 * fld %st(0)
-# CHECK-NEXT: 3 9 1.00 * * flds (%edx)
-# CHECK-NEXT: 3 9 1.00 * * fldl (%ecx)
-# CHECK-NEXT: 3 9 1.00 * * fldt (%eax)
-# CHECK-NEXT: 5 8 2.00 * * fldcw (%eax)
-# CHECK-NEXT: 1 100 0.33 * fldenv (%eax)
-# CHECK-NEXT: 2 1 1.00 * fld1
-# CHECK-NEXT: 2 1 1.00 * fldl2e
-# CHECK-NEXT: 2 1 1.00 * fldl2t
-# CHECK-NEXT: 2 1 1.00 * fldlg2
-# CHECK-NEXT: 2 1 1.00 * fldln2
-# CHECK-NEXT: 2 1 1.00 * fldpi
-# CHECK-NEXT: 1 1 1.00 * fldz
-# CHECK-NEXT: 1 5 1.00 * fmul %st(0), %st(1)
-# CHECK-NEXT: 1 5 1.00 * fmul %st(2)
-# CHECK-NEXT: 2 12 1.00 * * fmuls (%ecx)
-# CHECK-NEXT: 2 12 1.00 * * fmull (%eax)
-# CHECK-NEXT: 1 5 1.00 * fmulp %st(1)
-# CHECK-NEXT: 1 5 1.00 * fmulp %st(2)
-# CHECK-NEXT: 3 15 1.00 * * fimuls (%ecx)
-# CHECK-NEXT: 3 15 1.00 * * fimull (%eax)
-# CHECK-NEXT: 1 1 1.00 * fnop
-# CHECK-NEXT: 1 100 0.33 * fpatan
-# CHECK-NEXT: 1 100 0.33 * fprem
-# CHECK-NEXT: 1 100 0.33 * fprem1
-# CHECK-NEXT: 1 100 0.33 * fptan
-# CHECK-NEXT: 1 100 0.33 * frndint
-# CHECK-NEXT: 1 100 0.33 * frstor (%eax)
-# CHECK-NEXT: 1 100 0.33 * fnsave (%eax)
-# CHECK-NEXT: 1 100 0.33 * fscale
-# CHECK-NEXT: 1 100 0.33 * fsin
-# CHECK-NEXT: 1 100 0.33 * fsincos
-# CHECK-NEXT: 1 24 24.00 * fsqrt
-# CHECK-NEXT: 1 1 1.00 * fst %st(0)
-# CHECK-NEXT: 3 6 1.00 * * fsts (%edx)
-# CHECK-NEXT: 3 6 1.00 * * fstl (%ecx)
-# CHECK-NEXT: 1 1 1.00 * fstp %st(0)
-# CHECK-NEXT: 3 6 1.00 * * fstpl (%edx)
-# CHECK-NEXT: 3 6 1.00 * * fstpl (%ecx)
-# CHECK-NEXT: 3 6 1.00 * * fstpt (%eax)
-# CHECK-NEXT: 4 7 1.00 * * fnstcw (%eax)
-# CHECK-NEXT: 1 100 0.33 * fnstenv (%eax)
-# CHECK-NEXT: 4 7 1.00 * fnstsw (%eax)
-# CHECK-NEXT: 1 100 0.33 * frstor (%eax)
-# CHECK-NEXT: 1 100 0.33 * wait
-# CHECK-NEXT: 1 100 0.33 * fnsave (%eax)
-# CHECK-NEXT: 1 3 1.00 * fsub %st(0), %st(1)
-# CHECK-NEXT: 1 3 1.00 * fsub %st(2)
-# CHECK-NEXT: 2 10 1.00 * * fsubs (%ecx)
-# CHECK-NEXT: 2 10 1.00 * * fsubl (%eax)
-# CHECK-NEXT: 1 3 1.00 * fsubp %st(1)
-# CHECK-NEXT: 1 3 1.00 * fsubp %st(2)
-# CHECK-NEXT: 3 13 2.00 * * fisubs (%ecx)
-# CHECK-NEXT: 3 13 2.00 * * fisubl (%eax)
-# CHECK-NEXT: 1 3 1.00 * fsubr %st(0), %st(1)
-# CHECK-NEXT: 1 3 1.00 * fsubr %st(2)
-# CHECK-NEXT: 2 10 1.00 * * fsubrs (%ecx)
-# CHECK-NEXT: 2 10 1.00 * * fsubrl (%eax)
-# CHECK-NEXT: 1 3 1.00 * fsubrp %st(1)
-# CHECK-NEXT: 1 3 1.00 * fsubrp %st(2)
-# CHECK-NEXT: 3 13 2.00 * * fisubrs (%ecx)
-# CHECK-NEXT: 3 13 2.00 * * fisubrl (%eax)
-# CHECK-NEXT: 1 3 1.00 * ftst
-# CHECK-NEXT: 1 1 1.00 * fucom %st(1)
-# CHECK-NEXT: 1 1 1.00 * fucom %st(3)
-# CHECK-NEXT: 1 1 1.00 * fucomp %st(1)
-# CHECK-NEXT: 1 1 1.00 * fucomp %st(3)
-# CHECK-NEXT: 1 3 1.00 * fucompp
-# CHECK-NEXT: 3 3 1.00 * fucomi %st(3)
-# CHECK-NEXT: 3 3 1.00 * fucompi %st(3)
-# CHECK-NEXT: 1 100 0.33 * wait
-# CHECK-NEXT: 1 100 0.33 * fxam
-# CHECK-NEXT: 1 1 0.33 * fxch %st(1)
-# CHECK-NEXT: 1 1 0.33 * fxch %st(3)
-# CHECK-NEXT: 5 5 2.00 * * * fxrstor (%eax)
-# CHECK-NEXT: 1 100 0.33 * * * fxsave (%eax)
-# CHECK-NEXT: 1 100 0.33 * fxtract
-# CHECK-NEXT: 1 100 0.33 * fyl2x
-# CHECK-NEXT: 1 100 0.33 * fyl2xp1
+# 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(2)
+# CHECK-NEXT: 2 10 1.00 * U fadds (%ecx)
+# CHECK-NEXT: 2 10 1.00 * U faddl (%ecx)
+# CHECK-NEXT: 1 3 1.00 U faddp %st(1)
+# CHECK-NEXT: 1 3 1.00 U faddp %st(2)
+# CHECK-NEXT: 3 13 2.00 * U fiadds (%ecx)
+# CHECK-NEXT: 3 13 2.00 * U fiaddl (%ecx)
+# CHECK-NEXT: 1 100 0.33 U fbld (%ecx)
+# 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: 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)
+# CHECK-NEXT: 2 8 1.00 U fcoml (%eax)
+# CHECK-NEXT: 1 1 1.00 U fcomp %st(1)
+# CHECK-NEXT: 1 1 1.00 U fcomp %st(3)
+# CHECK-NEXT: 2 8 1.00 U fcomps (%ecx)
+# CHECK-NEXT: 2 8 1.00 U fcompl (%eax)
+# CHECK-NEXT: 1 100 0.33 U fcompp
+# CHECK-NEXT: 3 3 1.00 U fcomi %st(3)
+# 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(2)
+# CHECK-NEXT: 2 31 1.00 * U fdivs (%ecx)
+# CHECK-NEXT: 2 31 1.00 * U fdivl (%eax)
+# CHECK-NEXT: 1 14 14.00 U fdivp %st(1)
+# 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(2)
+# CHECK-NEXT: 2 31 1.00 * U fdivrs (%ecx)
+# CHECK-NEXT: 2 31 1.00 * U fdivrl (%eax)
+# CHECK-NEXT: 1 14 14.00 U fdivrp %st(1)
+# 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: 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)
+# CHECK-NEXT: 3 11 2.00 U ficompl (%eax)
+# CHECK-NEXT: 2 10 1.00 * U filds (%edx)
+# CHECK-NEXT: 2 10 1.00 * U fildl (%ecx)
+# CHECK-NEXT: 2 10 1.00 * U fildll (%eax)
+# CHECK-NEXT: 1 1 1.00 U fincstp
+# CHECK-NEXT: 4 5 1.33 U fninit
+# CHECK-NEXT: 4 9 1.00 * U fists (%edx)
+# CHECK-NEXT: 4 9 1.00 * U fistl (%ecx)
+# CHECK-NEXT: 4 9 1.00 * U fistps (%edx)
+# CHECK-NEXT: 4 9 1.00 * U fistpl (%ecx)
+# CHECK-NEXT: 4 9 1.00 * U fistpll (%eax)
+# 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: 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)
+# CHECK-NEXT: 5 8 2.00 * U fldcw (%eax)
+# CHECK-NEXT: 1 100 0.33 U fldenv (%eax)
+# CHECK-NEXT: 2 1 1.00 U fld1
+# CHECK-NEXT: 2 1 1.00 U fldl2e
+# CHECK-NEXT: 2 1 1.00 U fldl2t
+# CHECK-NEXT: 2 1 1.00 U fldlg2
+# 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(2)
+# CHECK-NEXT: 2 12 1.00 * U fmuls (%ecx)
+# CHECK-NEXT: 2 12 1.00 * U fmull (%eax)
+# CHECK-NEXT: 1 5 1.00 U fmulp %st(1)
+# CHECK-NEXT: 1 5 1.00 U fmulp %st(2)
+# CHECK-NEXT: 3 15 1.00 * U fimuls (%ecx)
+# CHECK-NEXT: 3 15 1.00 * U fimull (%eax)
+# CHECK-NEXT: 1 1 1.00 U fnop
+# CHECK-NEXT: 1 100 0.33 U fpatan
+# CHECK-NEXT: 1 100 0.33 U fprem
+# CHECK-NEXT: 1 100 0.33 U fprem1
+# CHECK-NEXT: 1 100 0.33 U fptan
+# CHECK-NEXT: 1 100 0.33 U frndint
+# CHECK-NEXT: 1 100 0.33 U frstor (%eax)
+# CHECK-NEXT: 1 100 0.33 U fnsave (%eax)
+# CHECK-NEXT: 1 100 0.33 U fscale
+# 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: 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: 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)
+# CHECK-NEXT: 4 7 1.00 * U fnstcw (%eax)
+# CHECK-NEXT: 1 100 0.33 U fnstenv (%eax)
+# CHECK-NEXT: 4 7 1.00 U fnstsw (%eax)
+# 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(2)
+# CHECK-NEXT: 2 10 1.00 * U fsubs (%ecx)
+# CHECK-NEXT: 2 10 1.00 * U fsubl (%eax)
+# CHECK-NEXT: 1 3 1.00 U fsubp %st(1)
+# 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(2)
+# CHECK-NEXT: 2 10 1.00 * U fsubrs (%ecx)
+# CHECK-NEXT: 2 10 1.00 * U fsubrl (%eax)
+# CHECK-NEXT: 1 3 1.00 U fsubrp %st(1)
+# CHECK-NEXT: 1 3 1.00 U fsubrp %st(2)
+# CHECK-NEXT: 3 13 2.00 * U fisubrs (%ecx)
+# CHECK-NEXT: 3 13 2.00 * U fisubrl (%eax)
+# CHECK-NEXT: 1 3 1.00 U ftst
+# CHECK-NEXT: 1 1 1.00 U fucom %st(1)
+# CHECK-NEXT: 1 1 1.00 U fucom %st(3)
+# CHECK-NEXT: 1 1 1.00 U fucomp %st(1)
+# CHECK-NEXT: 1 1 1.00 U fucomp %st(3)
+# CHECK-NEXT: 1 3 1.00 U fucompp
+# CHECK-NEXT: 3 3 1.00 U fucomi %st(3)
+# CHECK-NEXT: 3 3 1.00 U fucompi %st(3)
+# CHECK-NEXT: 1 100 0.33 U wait
+# CHECK-NEXT: 1 100 0.33 U fxam
+# CHECK-NEXT: 1 1 0.33 U fxch %st(1)
+# CHECK-NEXT: 1 1 0.33 U fxch %st(3)
+# CHECK-NEXT: 5 5 2.00 * * U fxrstor (%eax)
+# CHECK-NEXT: 1 100 0.33 * * U fxsave (%eax)
+# CHECK-NEXT: 1 100 0.33 U fxtract
+# CHECK-NEXT: 1 100 0.33 U fyl2x
+# CHECK-NEXT: 1 100 0.33 U fyl2xp1
# CHECK: Resources:
# CHECK-NEXT: [0] - SBDivider
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 3 1.00 vfrczpd %xmm0, %xmm3
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 5 1.00 vmulps %ymm0, %ymm1, %ymm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 5 1.00 vmulps %ymm0, %ymm1, %ymm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 3 1.00 vaddpd %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 2 7 1.00 * vinsertps $1, (%rax), %xmm1, %xmm2
# CHECK-NEXT: 1 6 0.50 * vlddqu (%rax), %xmm2
# CHECK-NEXT: 1 7 0.50 * vlddqu (%rax), %ymm2
-# CHECK-NEXT: 3 7 1.00 * * * vldmxcsr (%rax)
-# CHECK-NEXT: 2 1 1.00 * * * vmaskmovdqu %xmm0, %xmm1
+# CHECK-NEXT: 3 7 1.00 * * U vldmxcsr (%rax)
+# CHECK-NEXT: 2 1 1.00 * * U vmaskmovdqu %xmm0, %xmm1
# CHECK-NEXT: 3 8 2.00 * vmaskmovpd (%rax), %xmm0, %xmm2
# CHECK-NEXT: 3 9 2.00 * vmaskmovpd (%rax), %ymm0, %ymm2
# CHECK-NEXT: 4 5 1.00 * * vmaskmovpd %xmm0, %xmm1, (%rax)
# CHECK-NEXT: 2 1 1.00 * vmovlpd %xmm0, (%rax)
# CHECK-NEXT: 2 6 1.00 * vmovlpd (%rax), %xmm1, %xmm2
# CHECK-NEXT: 2 1 1.00 * vmovlps %xmm0, (%rax)
-# CHECK-NEXT: 2 6 1.00 * vmovlps (%rax), %xmm1, %xmm2
+# CHECK-NEXT: 2 6 1.00 U vmovlps (%rax), %xmm1, %xmm2
# CHECK-NEXT: 1 3 1.00 vmovmskpd %xmm0, %ecx
# CHECK-NEXT: 1 3 1.00 vmovmskpd %ymm0, %ecx
# CHECK-NEXT: 1 3 1.00 vmovmskps %xmm0, %ecx
# CHECK-NEXT: 2 21 14.00 * vsqrtsd (%rax), %xmm1, %xmm2
# CHECK-NEXT: 1 11 7.00 vsqrtss %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 2 16 7.00 * vsqrtss (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 3 2 1.00 * * * vstmxcsr (%rax)
+# CHECK-NEXT: 3 2 1.00 * * U vstmxcsr (%rax)
# CHECK-NEXT: 1 3 1.00 vsubpd %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 2 9 1.00 * vsubpd (%rax), %xmm1, %xmm2
# CHECK-NEXT: 1 3 1.00 vsubpd %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 2 7 1.00 * vxorps (%rax), %xmm1, %xmm2
# CHECK-NEXT: 1 1 1.00 vxorps %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 2 8 1.00 * vxorps (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 16 16 16.00 * * * vzeroall
-# CHECK-NEXT: 4 4 1.00 * * * vzeroupper
+# CHECK-NEXT: 16 16 16.00 * * U vzeroall
+# CHECK-NEXT: 4 4 1.00 * * U vzeroupper
# CHECK: Resources:
# CHECK-NEXT: [0] - HWDivider
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 7 0.50 * vbroadcasti128 (%rax), %ymm0
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 1 0.50 andnl %eax, %ebx, %ecx
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 1 0.50 bzhil %eax, %ebx, %ecx
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 2 2 0.50 cmovow %si, %di
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 2 2 1.00 vcvtph2ps %xmm0, %xmm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 5 0.50 vfmadd132pd %xmm0, %xmm1, %xmm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 3 1.00 lzcntw %cx, %cx
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
-# CHECK-NEXT: 31 31 10.00 * * * emms
+# CHECK-NEXT: 31 31 10.00 * * U emms
# CHECK-NEXT: 1 1 1.00 movd %eax, %mm2
# CHECK-NEXT: 1 5 0.50 * movd (%rax), %mm2
# CHECK-NEXT: 1 1 1.00 movd %mm0, %ecx
-# CHECK-NEXT: 2 1 1.00 * * movd %mm0, (%rax)
+# CHECK-NEXT: 2 1 1.00 * U movd %mm0, (%rax)
# CHECK-NEXT: 1 1 1.00 movq %rax, %mm2
# CHECK-NEXT: 1 5 0.50 * movq (%rax), %mm2
# CHECK-NEXT: 1 1 1.00 movq %mm0, %rcx
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 3 1.00 popcntw %cx, %cx
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 3 1.00 addps %xmm0, %xmm2
# CHECK-NEXT: 2 19 7.00 * divps (%rax), %xmm2
# CHECK-NEXT: 1 13 7.00 divss %xmm0, %xmm2
# CHECK-NEXT: 2 18 7.00 * divss (%rax), %xmm2
-# CHECK-NEXT: 3 7 1.00 * * * ldmxcsr (%rax)
-# CHECK-NEXT: 1 1 1.00 * * * maskmovq %mm0, %mm1
+# CHECK-NEXT: 3 7 1.00 * * U ldmxcsr (%rax)
+# CHECK-NEXT: 1 1 1.00 * * U maskmovq %mm0, %mm1
# CHECK-NEXT: 1 3 1.00 maxps %xmm0, %xmm2
# CHECK-NEXT: 2 9 1.00 * maxps (%rax), %xmm2
# CHECK-NEXT: 1 3 1.00 maxss %xmm0, %xmm2
# CHECK-NEXT: 2 1 1.00 * movhps %xmm0, (%rax)
# CHECK-NEXT: 2 6 1.00 * movhps (%rax), %xmm2
# CHECK-NEXT: 2 1 1.00 * movlps %xmm0, (%rax)
-# CHECK-NEXT: 2 6 1.00 * movlps (%rax), %xmm2
+# CHECK-NEXT: 2 6 1.00 U movlps (%rax), %xmm2
# CHECK-NEXT: 1 3 1.00 movmskps %xmm0, %ecx
# CHECK-NEXT: 2 1 1.00 * movntps %xmm0, (%rax)
-# CHECK-NEXT: 2 1 1.00 * * * movntq %mm0, (%rax)
+# CHECK-NEXT: 2 1 1.00 * * U movntq %mm0, (%rax)
# CHECK-NEXT: 1 1 1.00 movss %xmm0, %xmm2
# CHECK-NEXT: 2 1 1.00 * movss %xmm0, (%rax)
# CHECK-NEXT: 1 5 0.50 * movss (%rax), %xmm2
# CHECK-NEXT: 2 11 1.00 * rsqrtps (%rax), %xmm2
# CHECK-NEXT: 1 5 1.00 rsqrtss %xmm0, %xmm2
# CHECK-NEXT: 2 10 1.00 * rsqrtss (%rax), %xmm2
-# CHECK-NEXT: 2 2 0.33 * * * sfence
+# CHECK-NEXT: 2 2 0.33 * * U sfence
# CHECK-NEXT: 1 1 1.00 shufps $1, %xmm0, %xmm2
# CHECK-NEXT: 2 7 1.00 * shufps $1, (%rax), %xmm2
# CHECK-NEXT: 1 11 7.00 sqrtps %xmm0, %xmm2
# CHECK-NEXT: 2 17 7.00 * sqrtps (%rax), %xmm2
# CHECK-NEXT: 1 11 7.00 sqrtss %xmm0, %xmm2
# CHECK-NEXT: 2 16 7.00 * sqrtss (%rax), %xmm2
-# CHECK-NEXT: 3 2 1.00 * * * stmxcsr (%rax)
+# CHECK-NEXT: 3 2 1.00 * * U stmxcsr (%rax)
# CHECK-NEXT: 1 3 1.00 subps %xmm0, %xmm2
# CHECK-NEXT: 2 9 1.00 * subps (%rax), %xmm2
# CHECK-NEXT: 1 3 1.00 subss %xmm0, %xmm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 3 1.00 addpd %xmm0, %xmm2
# CHECK-NEXT: 2 7 1.00 * andnpd (%rax), %xmm2
# CHECK-NEXT: 1 1 1.00 andpd %xmm0, %xmm2
# CHECK-NEXT: 2 7 1.00 * andpd (%rax), %xmm2
-# CHECK-NEXT: 2 2 1.00 * * * clflush (%rax)
+# CHECK-NEXT: 2 2 1.00 * * U clflush (%rax)
# CHECK-NEXT: 1 3 1.00 cmppd $0, %xmm0, %xmm2
# CHECK-NEXT: 2 9 1.00 * cmppd $0, (%rax), %xmm2
# CHECK-NEXT: 1 3 1.00 cmpsd $0, %xmm0, %xmm2
# CHECK-NEXT: 2 26 14.00 * divpd (%rax), %xmm2
# CHECK-NEXT: 1 20 14.00 divsd %xmm0, %xmm2
# CHECK-NEXT: 2 25 14.00 * divsd (%rax), %xmm2
-# CHECK-NEXT: 2 2 0.50 * * * lfence
-# CHECK-NEXT: 2 1 1.00 * * * maskmovdqu %xmm0, %xmm1
+# CHECK-NEXT: 2 2 0.50 * * U lfence
+# CHECK-NEXT: 2 1 1.00 * * U maskmovdqu %xmm0, %xmm1
# CHECK-NEXT: 1 3 1.00 maxpd %xmm0, %xmm2
# CHECK-NEXT: 2 9 1.00 * maxpd (%rax), %xmm2
# CHECK-NEXT: 1 3 1.00 maxsd %xmm0, %xmm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 3 1.00 addsubpd %xmm0, %xmm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 1 0.33 blendpd $11, %xmm0, %xmm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 3 1.00 crc32b %al, %ecx
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 1 0.50 pabsb %mm0, %mm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 2 2 0.50 adcb $7, %al
# CHECK-NEXT: 4 7 1.00 * * btcq $7, (%rax)
# CHECK-NEXT: 4 7 1.00 * * btrq $7, (%rax)
# CHECK-NEXT: 4 7 1.00 * * btsq $7, (%rax)
-# CHECK-NEXT: 1 1 0.25 * clc
+# CHECK-NEXT: 1 1 0.25 U clc
# CHECK-NEXT: 1 1 0.25 decb %dil
# CHECK-NEXT: 3 7 1.00 * * decb (%rax)
# CHECK-NEXT: 1 1 0.25 decw %di
# CHECK-NEXT: 3 7 1.00 * * decl (%rax)
# CHECK-NEXT: 1 1 0.25 decq %rdi
# CHECK-NEXT: 3 7 1.00 * * decq (%rax)
-# CHECK-NEXT: 9 22 1.00 * divb %dil
-# CHECK-NEXT: 2 29 10.00 * * divb (%rax)
-# CHECK-NEXT: 32 98 8.00 * divw %si
-# CHECK-NEXT: 2 29 10.00 * * divw (%rax)
-# CHECK-NEXT: 32 98 8.00 * divl %edx
-# CHECK-NEXT: 2 29 10.00 * * divl (%rax)
-# CHECK-NEXT: 32 98 8.00 * divq %rcx
-# CHECK-NEXT: 2 29 10.00 * * divq (%rax)
-# CHECK-NEXT: 9 23 1.00 * idivb %dil
-# CHECK-NEXT: 2 29 10.00 * * idivb (%rax)
-# CHECK-NEXT: 66 112 16.50 * idivw %si
-# CHECK-NEXT: 2 29 10.00 * * idivw (%rax)
-# CHECK-NEXT: 66 112 16.50 * idivl %edx
-# CHECK-NEXT: 2 29 10.00 * * idivl (%rax)
-# CHECK-NEXT: 66 112 16.50 * idivq %rcx
-# CHECK-NEXT: 2 29 10.00 * * idivq (%rax)
+# CHECK-NEXT: 9 22 1.00 U divb %dil
+# CHECK-NEXT: 2 29 10.00 * U divb (%rax)
+# CHECK-NEXT: 32 98 8.00 U divw %si
+# CHECK-NEXT: 2 29 10.00 * U divw (%rax)
+# CHECK-NEXT: 32 98 8.00 U divl %edx
+# CHECK-NEXT: 2 29 10.00 * U divl (%rax)
+# CHECK-NEXT: 32 98 8.00 U divq %rcx
+# CHECK-NEXT: 2 29 10.00 * U divq (%rax)
+# CHECK-NEXT: 9 23 1.00 U idivb %dil
+# CHECK-NEXT: 2 29 10.00 * U idivb (%rax)
+# CHECK-NEXT: 66 112 16.50 U idivw %si
+# CHECK-NEXT: 2 29 10.00 * U idivw (%rax)
+# CHECK-NEXT: 66 112 16.50 U idivl %edx
+# CHECK-NEXT: 2 29 10.00 * U idivl (%rax)
+# CHECK-NEXT: 66 112 16.50 U idivq %rcx
+# CHECK-NEXT: 2 29 10.00 * U idivq (%rax)
# CHECK-NEXT: 1 3 1.00 imulb %dil
# CHECK-NEXT: 2 8 1.00 * imulb (%rax)
# CHECK-NEXT: 4 4 1.00 imulw %di
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
-# CHECK-NEXT: 1 100 0.25 * f2xm1
-# CHECK-NEXT: 1 1 1.00 * fabs
-# CHECK-NEXT: 1 3 1.00 * fadd %st(0), %st(1)
-# CHECK-NEXT: 1 3 1.00 * fadd %st(2)
-# CHECK-NEXT: 2 10 1.00 * * fadds (%ecx)
-# CHECK-NEXT: 2 10 1.00 * * faddl (%ecx)
-# CHECK-NEXT: 1 3 1.00 * faddp %st(1)
-# CHECK-NEXT: 1 3 1.00 * faddp %st(2)
-# CHECK-NEXT: 3 13 2.00 * * fiadds (%ecx)
-# CHECK-NEXT: 3 13 2.00 * * fiaddl (%ecx)
-# CHECK-NEXT: 43 47 10.75 * fbld (%ecx)
-# CHECK-NEXT: 2 1 1.00 * fbstp (%eax)
-# CHECK-NEXT: 1 1 1.00 * fchs
-# CHECK-NEXT: 4 4 1.00 * fnclex
-# CHECK-NEXT: 1 3 1.00 * fcmovb %st(1), %st(0)
-# CHECK-NEXT: 1 3 1.00 * fcmovbe %st(1), %st(0)
-# CHECK-NEXT: 1 3 1.00 * fcmove %st(1), %st(0)
-# CHECK-NEXT: 1 3 1.00 * fcmovnb %st(1), %st(0)
-# CHECK-NEXT: 1 3 1.00 * fcmovnbe %st(1), %st(0)
-# CHECK-NEXT: 1 3 1.00 * fcmovne %st(1), %st(0)
-# CHECK-NEXT: 1 3 1.00 * fcmovnu %st(1), %st(0)
-# CHECK-NEXT: 1 3 1.00 * fcmovu %st(1), %st(0)
-# CHECK-NEXT: 1 1 1.00 * fcom %st(1)
-# CHECK-NEXT: 1 1 1.00 * fcom %st(3)
-# CHECK-NEXT: 2 8 1.00 * fcoms (%ecx)
-# CHECK-NEXT: 2 8 1.00 * fcoml (%eax)
-# CHECK-NEXT: 1 1 1.00 * fcomp %st(1)
-# CHECK-NEXT: 1 1 1.00 * fcomp %st(3)
-# CHECK-NEXT: 2 8 1.00 * fcomps (%ecx)
-# CHECK-NEXT: 2 8 1.00 * fcompl (%eax)
-# CHECK-NEXT: 2 1 0.50 * fcompp
-# CHECK-NEXT: 3 1 0.50 * fcomi %st(3)
-# CHECK-NEXT: 3 1 0.50 * fcompi %st(3)
-# CHECK-NEXT: 1 100 0.25 * fcos
-# CHECK-NEXT: 2 2 1.00 * fdecstp
-# CHECK-NEXT: 1 24 1.00 * fdiv %st(0), %st(1)
-# CHECK-NEXT: 1 20 1.00 * fdiv %st(2)
-# CHECK-NEXT: 2 31 1.00 * * fdivs (%ecx)
-# CHECK-NEXT: 2 31 1.00 * * fdivl (%eax)
-# CHECK-NEXT: 1 24 1.00 * fdivp %st(1)
-# CHECK-NEXT: 1 24 1.00 * fdivp %st(2)
-# CHECK-NEXT: 3 34 1.00 * * fidivs (%ecx)
-# CHECK-NEXT: 3 34 1.00 * * fidivl (%eax)
-# CHECK-NEXT: 1 20 1.00 * fdivr %st(0), %st(1)
-# CHECK-NEXT: 1 24 1.00 * fdivr %st(2)
-# CHECK-NEXT: 2 27 1.00 * * fdivrs (%ecx)
-# CHECK-NEXT: 2 27 1.00 * * fdivrl (%eax)
-# CHECK-NEXT: 1 20 1.00 * fdivrp %st(1)
-# CHECK-NEXT: 1 20 1.00 * fdivrp %st(2)
-# CHECK-NEXT: 3 30 1.00 * * fidivrs (%ecx)
-# CHECK-NEXT: 3 30 1.00 * * fidivrl (%eax)
-# CHECK-NEXT: 1 1 0.50 * ffree %st(0)
-# CHECK-NEXT: 3 11 2.00 * ficoms (%ecx)
-# CHECK-NEXT: 3 11 2.00 * ficoml (%eax)
-# CHECK-NEXT: 3 11 2.00 * ficomps (%ecx)
-# CHECK-NEXT: 3 11 2.00 * ficompl (%eax)
-# CHECK-NEXT: 2 10 1.00 * * filds (%edx)
-# CHECK-NEXT: 2 10 1.00 * * fildl (%ecx)
-# CHECK-NEXT: 2 10 1.00 * * fildll (%eax)
-# CHECK-NEXT: 1 1 0.50 * fincstp
-# CHECK-NEXT: 15 75 6.00 * fninit
-# CHECK-NEXT: 3 4 1.00 * * fists (%edx)
-# CHECK-NEXT: 3 4 1.00 * * fistl (%ecx)
-# CHECK-NEXT: 3 4 1.00 * * fistps (%edx)
-# CHECK-NEXT: 3 4 1.00 * * fistpl (%ecx)
-# CHECK-NEXT: 3 4 1.00 * * fistpll (%eax)
-# CHECK-NEXT: 3 4 1.00 * * fisttps (%edx)
-# CHECK-NEXT: 3 4 1.00 * * fisttpl (%ecx)
-# CHECK-NEXT: 3 4 1.00 * * fisttpll (%eax)
-# CHECK-NEXT: 1 1 0.50 * fld %st(0)
-# CHECK-NEXT: 1 7 0.50 * * flds (%edx)
-# CHECK-NEXT: 1 7 0.50 * * fldl (%ecx)
-# CHECK-NEXT: 1 7 0.50 * * fldt (%eax)
-# CHECK-NEXT: 3 7 1.00 * * fldcw (%eax)
-# CHECK-NEXT: 64 61 14.00 * fldenv (%eax)
-# CHECK-NEXT: 2 1 1.00 * fld1
-# CHECK-NEXT: 2 1 1.00 * fldl2e
-# CHECK-NEXT: 2 1 1.00 * fldl2t
-# CHECK-NEXT: 2 1 1.00 * fldlg2
-# CHECK-NEXT: 2 1 1.00 * fldln2
-# CHECK-NEXT: 2 1 1.00 * fldpi
-# CHECK-NEXT: 1 1 0.50 * fldz
-# CHECK-NEXT: 1 5 1.00 * fmul %st(0), %st(1)
-# CHECK-NEXT: 1 5 1.00 * fmul %st(2)
-# CHECK-NEXT: 2 12 1.00 * * fmuls (%ecx)
-# CHECK-NEXT: 2 12 1.00 * * fmull (%eax)
-# CHECK-NEXT: 1 5 1.00 * fmulp %st(1)
-# CHECK-NEXT: 1 5 1.00 * fmulp %st(2)
-# CHECK-NEXT: 3 15 1.00 * * fimuls (%ecx)
-# CHECK-NEXT: 3 15 1.00 * * fimull (%eax)
-# CHECK-NEXT: 1 1 0.50 * fnop
-# CHECK-NEXT: 1 100 0.25 * fpatan
-# CHECK-NEXT: 28 19 7.00 * fprem
-# CHECK-NEXT: 41 27 10.25 * fprem1
-# CHECK-NEXT: 1 100 0.25 * fptan
-# CHECK-NEXT: 17 11 4.25 * frndint
-# CHECK-NEXT: 90 1 22.50 * frstor (%eax)
-# CHECK-NEXT: 147 1 36.75 * fnsave (%eax)
-# CHECK-NEXT: 50 75 12.50 * fscale
-# CHECK-NEXT: 1 100 0.25 * fsin
-# CHECK-NEXT: 1 100 0.25 * fsincos
-# CHECK-NEXT: 1 23 17.00 * fsqrt
-# CHECK-NEXT: 1 1 0.50 * fst %st(0)
-# CHECK-NEXT: 1 1 1.00 * * fsts (%edx)
-# CHECK-NEXT: 1 1 1.00 * * fstl (%ecx)
-# CHECK-NEXT: 1 1 0.50 * fstp %st(0)
-# CHECK-NEXT: 2 1 1.00 * * fstpl (%edx)
-# CHECK-NEXT: 2 1 1.00 * * fstpl (%ecx)
-# CHECK-NEXT: 2 1 1.00 * * fstpt (%eax)
-# CHECK-NEXT: 3 2 1.00 * * fnstcw (%eax)
-# CHECK-NEXT: 100 115 19.50 * fnstenv (%eax)
-# CHECK-NEXT: 3 4 1.00 * fnstsw (%eax)
-# CHECK-NEXT: 90 1 22.50 * frstor (%eax)
-# CHECK-NEXT: 2 2 0.50 * wait
-# CHECK-NEXT: 147 1 36.75 * fnsave (%eax)
-# CHECK-NEXT: 1 3 1.00 * fsub %st(0), %st(1)
-# CHECK-NEXT: 1 3 1.00 * fsub %st(2)
-# CHECK-NEXT: 2 10 1.00 * * fsubs (%ecx)
-# CHECK-NEXT: 2 10 1.00 * * fsubl (%eax)
-# CHECK-NEXT: 1 3 1.00 * fsubp %st(1)
-# CHECK-NEXT: 1 3 1.00 * fsubp %st(2)
-# CHECK-NEXT: 3 13 2.00 * * fisubs (%ecx)
-# CHECK-NEXT: 3 13 2.00 * * fisubl (%eax)
-# CHECK-NEXT: 1 3 1.00 * fsubr %st(0), %st(1)
-# CHECK-NEXT: 1 3 1.00 * fsubr %st(2)
-# CHECK-NEXT: 2 10 1.00 * * fsubrs (%ecx)
-# CHECK-NEXT: 2 10 1.00 * * fsubrl (%eax)
-# CHECK-NEXT: 1 3 1.00 * fsubrp %st(1)
-# CHECK-NEXT: 1 3 1.00 * fsubrp %st(2)
-# CHECK-NEXT: 3 13 2.00 * * fisubrs (%ecx)
-# CHECK-NEXT: 3 13 2.00 * * fisubrl (%eax)
-# CHECK-NEXT: 1 1 1.00 * ftst
-# CHECK-NEXT: 1 1 1.00 * fucom %st(1)
-# CHECK-NEXT: 1 1 1.00 * fucom %st(3)
-# CHECK-NEXT: 1 1 1.00 * fucomp %st(1)
-# CHECK-NEXT: 1 1 1.00 * fucomp %st(3)
-# CHECK-NEXT: 2 1 0.50 * fucompp
-# CHECK-NEXT: 3 1 0.50 * fucomi %st(3)
-# CHECK-NEXT: 3 1 0.50 * fucompi %st(3)
-# CHECK-NEXT: 2 2 0.50 * wait
-# CHECK-NEXT: 2 1 2.00 * fxam
-# CHECK-NEXT: 15 17 4.00 * fxch %st(1)
-# CHECK-NEXT: 15 17 4.00 * fxch %st(3)
-# CHECK-NEXT: 90 64 16.50 * * * fxrstor (%eax)
-# CHECK-NEXT: 1 100 0.25 * * * fxsave (%eax)
-# CHECK-NEXT: 17 15 4.25 * fxtract
-# CHECK-NEXT: 1 100 0.25 * fyl2x
-# CHECK-NEXT: 1 100 0.25 * fyl2xp1
+# 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(2)
+# CHECK-NEXT: 2 10 1.00 * U fadds (%ecx)
+# CHECK-NEXT: 2 10 1.00 * U faddl (%ecx)
+# CHECK-NEXT: 1 3 1.00 U faddp %st(1)
+# CHECK-NEXT: 1 3 1.00 U faddp %st(2)
+# CHECK-NEXT: 3 13 2.00 * U fiadds (%ecx)
+# CHECK-NEXT: 3 13 2.00 * U fiaddl (%ecx)
+# CHECK-NEXT: 43 47 10.75 U fbld (%ecx)
+# 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 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)
+# CHECK-NEXT: 2 8 1.00 U fcoml (%eax)
+# CHECK-NEXT: 1 1 1.00 U fcomp %st(1)
+# CHECK-NEXT: 1 1 1.00 U fcomp %st(3)
+# CHECK-NEXT: 2 8 1.00 U fcomps (%ecx)
+# CHECK-NEXT: 2 8 1.00 U fcompl (%eax)
+# CHECK-NEXT: 2 1 0.50 U fcompp
+# CHECK-NEXT: 3 1 0.50 U fcomi %st(3)
+# 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 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)
+# CHECK-NEXT: 1 24 1.00 U fdivp %st(1)
+# 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 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)
+# CHECK-NEXT: 1 20 1.00 U fdivrp %st(1)
+# 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: 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)
+# CHECK-NEXT: 3 11 2.00 U ficompl (%eax)
+# CHECK-NEXT: 2 10 1.00 * U filds (%edx)
+# CHECK-NEXT: 2 10 1.00 * U fildl (%ecx)
+# CHECK-NEXT: 2 10 1.00 * U fildll (%eax)
+# CHECK-NEXT: 1 1 0.50 U fincstp
+# CHECK-NEXT: 15 75 6.00 U fninit
+# CHECK-NEXT: 3 4 1.00 * U fists (%edx)
+# CHECK-NEXT: 3 4 1.00 * U fistl (%ecx)
+# CHECK-NEXT: 3 4 1.00 * U fistps (%edx)
+# CHECK-NEXT: 3 4 1.00 * U fistpl (%ecx)
+# CHECK-NEXT: 3 4 1.00 * U fistpll (%eax)
+# 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 7 0.50 * U flds (%edx)
+# CHECK-NEXT: 1 7 0.50 * U fldl (%ecx)
+# CHECK-NEXT: 1 7 0.50 * U fldt (%eax)
+# CHECK-NEXT: 3 7 1.00 * U fldcw (%eax)
+# CHECK-NEXT: 64 61 14.00 U fldenv (%eax)
+# CHECK-NEXT: 2 1 1.00 U fld1
+# CHECK-NEXT: 2 1 1.00 U fldl2e
+# CHECK-NEXT: 2 1 1.00 U fldl2t
+# CHECK-NEXT: 2 1 1.00 U fldlg2
+# 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(2)
+# CHECK-NEXT: 2 12 1.00 * U fmuls (%ecx)
+# CHECK-NEXT: 2 12 1.00 * U fmull (%eax)
+# CHECK-NEXT: 1 5 1.00 U fmulp %st(1)
+# CHECK-NEXT: 1 5 1.00 U fmulp %st(2)
+# CHECK-NEXT: 3 15 1.00 * U fimuls (%ecx)
+# CHECK-NEXT: 3 15 1.00 * U fimull (%eax)
+# CHECK-NEXT: 1 1 0.50 U fnop
+# CHECK-NEXT: 1 100 0.25 U fpatan
+# CHECK-NEXT: 28 19 7.00 U fprem
+# CHECK-NEXT: 41 27 10.25 U fprem1
+# CHECK-NEXT: 1 100 0.25 U fptan
+# CHECK-NEXT: 17 11 4.25 U frndint
+# CHECK-NEXT: 90 1 22.50 U frstor (%eax)
+# CHECK-NEXT: 147 1 36.75 U fnsave (%eax)
+# CHECK-NEXT: 50 75 12.50 U fscale
+# 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 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: 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)
+# CHECK-NEXT: 3 2 1.00 * U fnstcw (%eax)
+# CHECK-NEXT: 100 115 19.50 U fnstenv (%eax)
+# CHECK-NEXT: 3 4 1.00 U fnstsw (%eax)
+# 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(2)
+# CHECK-NEXT: 2 10 1.00 * U fsubs (%ecx)
+# CHECK-NEXT: 2 10 1.00 * U fsubl (%eax)
+# CHECK-NEXT: 1 3 1.00 U fsubp %st(1)
+# 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(2)
+# CHECK-NEXT: 2 10 1.00 * U fsubrs (%ecx)
+# CHECK-NEXT: 2 10 1.00 * U fsubrl (%eax)
+# CHECK-NEXT: 1 3 1.00 U fsubrp %st(1)
+# CHECK-NEXT: 1 3 1.00 U fsubrp %st(2)
+# CHECK-NEXT: 3 13 2.00 * U fisubrs (%ecx)
+# CHECK-NEXT: 3 13 2.00 * U fisubrl (%eax)
+# CHECK-NEXT: 1 1 1.00 U ftst
+# CHECK-NEXT: 1 1 1.00 U fucom %st(1)
+# CHECK-NEXT: 1 1 1.00 U fucom %st(3)
+# CHECK-NEXT: 1 1 1.00 U fucomp %st(1)
+# CHECK-NEXT: 1 1 1.00 U fucomp %st(3)
+# CHECK-NEXT: 2 1 0.50 U fucompp
+# CHECK-NEXT: 3 1 0.50 U fucomi %st(3)
+# CHECK-NEXT: 3 1 0.50 U fucompi %st(3)
+# CHECK-NEXT: 2 2 0.50 U wait
+# CHECK-NEXT: 2 1 2.00 U fxam
+# CHECK-NEXT: 15 17 4.00 U fxch %st(1)
+# CHECK-NEXT: 15 17 4.00 U fxch %st(3)
+# CHECK-NEXT: 90 64 16.50 * * U fxrstor (%eax)
+# CHECK-NEXT: 1 100 0.25 * * U fxsave (%eax)
+# CHECK-NEXT: 17 15 4.25 U fxtract
+# CHECK-NEXT: 1 100 0.25 U fyl2x
+# CHECK-NEXT: 1 100 0.25 U fyl2xp1
# CHECK: Resources:
# CHECK-NEXT: [0] - HWDivider
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 2 1.00 cmovow %si, %di
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
-# CHECK-NEXT: 9 10 5.00 * * * emms
+# CHECK-NEXT: 9 10 5.00 * * U emms
# CHECK-NEXT: 1 1 0.50 movd %eax, %mm2
# CHECK-NEXT: 1 3 1.00 * movd (%rax), %mm2
# CHECK-NEXT: 1 1 0.50 movd %mm0, %ecx
-# CHECK-NEXT: 1 1 1.00 * * movd %mm0, (%rax)
+# CHECK-NEXT: 1 1 1.00 * U movd %mm0, (%rax)
# CHECK-NEXT: 1 1 0.50 movq %rax, %mm2
# CHECK-NEXT: 1 3 1.00 * movq (%rax), %mm2
# CHECK-NEXT: 1 1 0.50 movq %mm0, %rcx
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 3 1.00 popcntw %cx, %cx
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 3 1.00 addps %xmm0, %xmm2
# CHECK-NEXT: 1 42 39.00 * divps (%rax), %xmm2
# CHECK-NEXT: 1 19 17.00 divss %xmm0, %xmm2
# CHECK-NEXT: 1 22 17.00 * divss (%rax), %xmm2
-# CHECK-NEXT: 1 3 1.00 * * * ldmxcsr (%rax)
-# CHECK-NEXT: 1 1 1.00 * * * maskmovq %mm0, %mm1
+# CHECK-NEXT: 1 3 1.00 * * U ldmxcsr (%rax)
+# CHECK-NEXT: 1 1 1.00 * * U maskmovq %mm0, %mm1
# CHECK-NEXT: 1 3 1.00 maxps %xmm0, %xmm2
# CHECK-NEXT: 1 6 1.00 * maxps (%rax), %xmm2
# CHECK-NEXT: 1 3 1.00 maxss %xmm0, %xmm2
# CHECK-NEXT: 1 1 1.00 * movhps %xmm0, (%rax)
# CHECK-NEXT: 1 4 1.00 * movhps (%rax), %xmm2
# CHECK-NEXT: 1 1 1.00 * movlps %xmm0, (%rax)
-# CHECK-NEXT: 1 4 1.00 * movlps (%rax), %xmm2
+# CHECK-NEXT: 1 4 1.00 U movlps (%rax), %xmm2
# CHECK-NEXT: 1 4 1.00 movmskps %xmm0, %ecx
# CHECK-NEXT: 1 1 1.00 * movntps %xmm0, (%rax)
-# CHECK-NEXT: 1 1 1.00 * * * movntq %mm0, (%rax)
+# CHECK-NEXT: 1 1 1.00 * * U movntq %mm0, (%rax)
# CHECK-NEXT: 1 1 1.00 movss %xmm0, %xmm2
# CHECK-NEXT: 1 1 1.00 * movss %xmm0, (%rax)
# CHECK-NEXT: 1 3 1.00 * movss (%rax), %xmm2
# CHECK-NEXT: 1 8 1.00 * rsqrtps (%rax), %xmm2
# CHECK-NEXT: 1 5 1.00 rsqrtss %xmm0, %xmm2
# CHECK-NEXT: 1 8 1.00 * rsqrtss (%rax), %xmm2
-# CHECK-NEXT: 1 1 1.00 * * * sfence
+# CHECK-NEXT: 1 1 1.00 * * U sfence
# CHECK-NEXT: 1 1 1.00 shufps $1, %xmm0, %xmm2
# CHECK-NEXT: 1 4 1.00 * shufps $1, (%rax), %xmm2
# CHECK-NEXT: 1 41 40.00 sqrtps %xmm0, %xmm2
# CHECK-NEXT: 1 44 40.00 * sqrtps (%rax), %xmm2
# CHECK-NEXT: 1 20 20.00 sqrtss %xmm0, %xmm2
# CHECK-NEXT: 1 23 20.00 * sqrtss (%rax), %xmm2
-# CHECK-NEXT: 1 1 1.00 * * * stmxcsr (%rax)
+# CHECK-NEXT: 1 1 1.00 * * U stmxcsr (%rax)
# CHECK-NEXT: 1 3 1.00 subps %xmm0, %xmm2
# CHECK-NEXT: 1 6 1.00 * subps (%rax), %xmm2
# CHECK-NEXT: 1 3 1.00 subss %xmm0, %xmm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 3 1.00 addpd %xmm0, %xmm2
# CHECK-NEXT: 1 4 1.00 * andnpd (%rax), %xmm2
# CHECK-NEXT: 1 1 0.50 andpd %xmm0, %xmm2
# CHECK-NEXT: 1 4 1.00 * andpd (%rax), %xmm2
-# CHECK-NEXT: 1 3 1.00 * * * clflush (%rax)
+# CHECK-NEXT: 1 3 1.00 * * U clflush (%rax)
# CHECK-NEXT: 1 3 1.00 cmppd $0, %xmm0, %xmm2
# CHECK-NEXT: 1 6 1.00 * cmppd $0, (%rax), %xmm2
# CHECK-NEXT: 1 3 1.00 cmpsd $0, %xmm0, %xmm2
# CHECK-NEXT: 1 72 69.00 * divpd (%rax), %xmm2
# CHECK-NEXT: 1 34 32.00 divsd %xmm0, %xmm2
# CHECK-NEXT: 1 37 32.00 * divsd (%rax), %xmm2
-# CHECK-NEXT: 1 1 1.00 * * * lfence
-# CHECK-NEXT: 1 1 1.00 * * * maskmovdqu %xmm0, %xmm1
+# CHECK-NEXT: 1 1 1.00 * * U lfence
+# CHECK-NEXT: 1 1 1.00 * * U maskmovdqu %xmm0, %xmm1
# CHECK-NEXT: 1 3 1.00 maxpd %xmm0, %xmm2
# CHECK-NEXT: 1 6 1.00 * maxpd (%rax), %xmm2
# CHECK-NEXT: 1 3 1.00 maxsd %xmm0, %xmm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 3 1.00 addsubpd %xmm0, %xmm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 1 1.00 blendpd $11, %xmm0, %xmm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 3 1.00 crc32b %al, %ecx
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 1 0.50 pabsb %mm0, %mm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 1 0.50 adcb $7, %al
# CHECK-NEXT: 2 4 2.00 * * btcq $7, (%rax)
# CHECK-NEXT: 2 4 2.00 * * btrq $7, (%rax)
# CHECK-NEXT: 2 4 2.00 * * btsq $7, (%rax)
-# CHECK-NEXT: 1 1 0.50 * clc
+# CHECK-NEXT: 1 1 0.50 U clc
# CHECK-NEXT: 1 1 0.50 decb %dil
# CHECK-NEXT: 2 5 2.00 * * decb (%rax)
# CHECK-NEXT: 1 1 0.50 decw %di
# CHECK-NEXT: 2 5 2.00 * * decl (%rax)
# CHECK-NEXT: 1 1 0.50 decq %rdi
# CHECK-NEXT: 2 5 2.00 * * decq (%rax)
-# CHECK-NEXT: 1 25 25.00 * divb %dil
-# CHECK-NEXT: 1 29 25.00 * * divb (%rax)
-# CHECK-NEXT: 1 25 25.00 * divw %si
-# CHECK-NEXT: 1 29 25.00 * * divw (%rax)
-# CHECK-NEXT: 1 25 25.00 * divl %edx
-# CHECK-NEXT: 1 29 25.00 * * divl (%rax)
-# CHECK-NEXT: 1 25 25.00 * divq %rcx
-# CHECK-NEXT: 1 29 25.00 * * divq (%rax)
-# CHECK-NEXT: 1 25 25.00 * idivb %dil
-# CHECK-NEXT: 1 29 25.00 * * idivb (%rax)
-# CHECK-NEXT: 1 25 25.00 * idivw %si
-# CHECK-NEXT: 1 29 25.00 * * idivw (%rax)
-# CHECK-NEXT: 1 25 25.00 * idivl %edx
-# CHECK-NEXT: 1 29 25.00 * * idivl (%rax)
-# CHECK-NEXT: 1 25 25.00 * idivq %rcx
-# CHECK-NEXT: 1 29 25.00 * * idivq (%rax)
+# CHECK-NEXT: 1 25 25.00 U divb %dil
+# CHECK-NEXT: 1 29 25.00 * U divb (%rax)
+# CHECK-NEXT: 1 25 25.00 U divw %si
+# CHECK-NEXT: 1 29 25.00 * U divw (%rax)
+# CHECK-NEXT: 1 25 25.00 U divl %edx
+# CHECK-NEXT: 1 29 25.00 * U divl (%rax)
+# CHECK-NEXT: 1 25 25.00 U divq %rcx
+# CHECK-NEXT: 1 29 25.00 * U divq (%rax)
+# CHECK-NEXT: 1 25 25.00 U idivb %dil
+# CHECK-NEXT: 1 29 25.00 * U idivb (%rax)
+# CHECK-NEXT: 1 25 25.00 U idivw %si
+# CHECK-NEXT: 1 29 25.00 * U idivw (%rax)
+# CHECK-NEXT: 1 25 25.00 U idivl %edx
+# CHECK-NEXT: 1 29 25.00 * U idivl (%rax)
+# CHECK-NEXT: 1 25 25.00 U idivq %rcx
+# CHECK-NEXT: 1 29 25.00 * U idivq (%rax)
# CHECK-NEXT: 1 3 1.00 imulb %dil
# CHECK-NEXT: 1 6 1.00 * imulb (%rax)
# CHECK-NEXT: 1 3 1.00 imulw %di
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
-# CHECK-NEXT: 1 100 1.00 * f2xm1
-# CHECK-NEXT: 1 1 0.50 * fabs
-# CHECK-NEXT: 1 3 1.00 * fadd %st(0), %st(1)
-# CHECK-NEXT: 1 3 1.00 * fadd %st(2)
-# CHECK-NEXT: 1 6 1.00 * * fadds (%ecx)
-# CHECK-NEXT: 1 6 1.00 * * faddl (%ecx)
-# CHECK-NEXT: 1 3 1.00 * faddp %st(1)
-# CHECK-NEXT: 1 3 1.00 * faddp %st(2)
-# CHECK-NEXT: 1 6 1.00 * * fiadds (%ecx)
-# CHECK-NEXT: 1 6 1.00 * * fiaddl (%ecx)
-# CHECK-NEXT: 1 100 1.00 * fbld (%ecx)
-# CHECK-NEXT: 1 100 1.00 * fbstp (%eax)
-# CHECK-NEXT: 1 1 0.50 * fchs
-# CHECK-NEXT: 1 100 1.00 * fnclex
-# CHECK-NEXT: 1 3 1.00 * fcmovb %st(1), %st(0)
-# CHECK-NEXT: 1 3 1.00 * fcmovbe %st(1), %st(0)
-# CHECK-NEXT: 1 3 1.00 * fcmove %st(1), %st(0)
-# CHECK-NEXT: 1 3 1.00 * fcmovnb %st(1), %st(0)
-# CHECK-NEXT: 1 3 1.00 * fcmovnbe %st(1), %st(0)
-# CHECK-NEXT: 1 3 1.00 * fcmovne %st(1), %st(0)
-# CHECK-NEXT: 1 3 1.00 * fcmovnu %st(1), %st(0)
-# CHECK-NEXT: 1 3 1.00 * fcmovu %st(1), %st(0)
-# CHECK-NEXT: 1 3 1.00 * fcom %st(1)
-# CHECK-NEXT: 1 3 1.00 * fcom %st(3)
-# CHECK-NEXT: 1 6 1.00 * fcoms (%ecx)
-# CHECK-NEXT: 1 6 1.00 * fcoml (%eax)
-# CHECK-NEXT: 1 3 1.00 * fcomp %st(1)
-# CHECK-NEXT: 1 3 1.00 * fcomp %st(3)
-# CHECK-NEXT: 1 6 1.00 * fcomps (%ecx)
-# CHECK-NEXT: 1 6 1.00 * fcompl (%eax)
-# CHECK-NEXT: 1 100 1.00 * fcompp
-# CHECK-NEXT: 1 3 1.00 * fcomi %st(3)
-# CHECK-NEXT: 1 3 1.00 * fcompi %st(3)
-# CHECK-NEXT: 1 100 1.00 * fcos
-# CHECK-NEXT: 1 100 1.00 * fdecstp
-# CHECK-NEXT: 1 19 17.00 * fdiv %st(0), %st(1)
-# CHECK-NEXT: 1 19 17.00 * fdiv %st(2)
-# CHECK-NEXT: 1 22 17.00 * * fdivs (%ecx)
-# CHECK-NEXT: 1 22 17.00 * * fdivl (%eax)
-# CHECK-NEXT: 1 19 17.00 * fdivp %st(1)
-# CHECK-NEXT: 1 19 17.00 * fdivp %st(2)
-# CHECK-NEXT: 1 22 17.00 * * fidivs (%ecx)
-# CHECK-NEXT: 1 22 17.00 * * fidivl (%eax)
-# CHECK-NEXT: 1 19 17.00 * fdivr %st(0), %st(1)
-# CHECK-NEXT: 1 19 17.00 * fdivr %st(2)
-# CHECK-NEXT: 1 22 17.00 * * fdivrs (%ecx)
-# CHECK-NEXT: 1 22 17.00 * * fdivrl (%eax)
-# CHECK-NEXT: 1 19 17.00 * fdivrp %st(1)
-# CHECK-NEXT: 1 19 17.00 * fdivrp %st(2)
-# CHECK-NEXT: 1 22 17.00 * * fidivrs (%ecx)
-# CHECK-NEXT: 1 22 17.00 * * fidivrl (%eax)
-# CHECK-NEXT: 1 100 1.00 * ffree %st(0)
-# CHECK-NEXT: 1 6 1.00 * ficoms (%ecx)
-# CHECK-NEXT: 1 6 1.00 * ficoml (%eax)
-# CHECK-NEXT: 1 6 1.00 * ficomps (%ecx)
-# CHECK-NEXT: 1 6 1.00 * ficompl (%eax)
-# CHECK-NEXT: 1 3 1.00 * * filds (%edx)
-# CHECK-NEXT: 1 3 1.00 * * fildl (%ecx)
-# CHECK-NEXT: 1 3 1.00 * * fildll (%eax)
-# CHECK-NEXT: 1 100 1.00 * fincstp
-# CHECK-NEXT: 1 100 1.00 * fninit
-# CHECK-NEXT: 1 1 1.00 * * fists (%edx)
-# CHECK-NEXT: 1 1 1.00 * * fistl (%ecx)
-# CHECK-NEXT: 1 1 1.00 * * fistps (%edx)
-# CHECK-NEXT: 1 1 1.00 * * fistpl (%ecx)
-# CHECK-NEXT: 1 1 1.00 * * fistpll (%eax)
-# CHECK-NEXT: 1 1 1.00 * * fisttps (%edx)
-# CHECK-NEXT: 1 1 1.00 * * fisttpl (%ecx)
-# CHECK-NEXT: 1 1 1.00 * * fisttpll (%eax)
-# CHECK-NEXT: 1 1 0.50 * fld %st(0)
-# CHECK-NEXT: 1 3 1.00 * * flds (%edx)
-# CHECK-NEXT: 1 3 1.00 * * fldl (%ecx)
-# CHECK-NEXT: 1 3 1.00 * * fldt (%eax)
-# CHECK-NEXT: 1 3 1.00 * * fldcw (%eax)
-# CHECK-NEXT: 1 100 1.00 * fldenv (%eax)
-# CHECK-NEXT: 1 1 0.50 * fld1
-# CHECK-NEXT: 2 1 1.00 * fldl2e
-# CHECK-NEXT: 2 1 1.00 * fldl2t
-# CHECK-NEXT: 2 1 1.00 * fldlg2
-# CHECK-NEXT: 2 1 1.00 * fldln2
-# CHECK-NEXT: 2 1 1.00 * fldpi
-# CHECK-NEXT: 1 1 0.50 * fldz
-# CHECK-NEXT: 1 5 2.00 * fmul %st(0), %st(1)
-# CHECK-NEXT: 1 5 2.00 * fmul %st(2)
-# CHECK-NEXT: 1 8 2.00 * * fmuls (%ecx)
-# CHECK-NEXT: 1 8 2.00 * * fmull (%eax)
-# CHECK-NEXT: 1 5 2.00 * fmulp %st(1)
-# CHECK-NEXT: 1 5 2.00 * fmulp %st(2)
-# CHECK-NEXT: 1 8 2.00 * * fimuls (%ecx)
-# CHECK-NEXT: 1 8 2.00 * * fimull (%eax)
-# CHECK-NEXT: 1 1 0.50 * fnop
-# CHECK-NEXT: 1 100 1.00 * fpatan
-# CHECK-NEXT: 1 100 1.00 * fprem
-# CHECK-NEXT: 1 100 1.00 * fprem1
-# CHECK-NEXT: 1 100 1.00 * fptan
-# CHECK-NEXT: 1 100 1.00 * frndint
-# CHECK-NEXT: 1 100 1.00 * frstor (%eax)
-# CHECK-NEXT: 1 100 1.00 * fnsave (%eax)
-# CHECK-NEXT: 1 100 1.00 * fscale
-# CHECK-NEXT: 1 100 1.00 * fsin
-# CHECK-NEXT: 1 100 1.00 * fsincos
-# CHECK-NEXT: 1 40 40.00 * fsqrt
-# CHECK-NEXT: 1 1 0.50 * fst %st(0)
-# CHECK-NEXT: 1 1 1.00 * * fsts (%edx)
-# CHECK-NEXT: 1 1 1.00 * * fstl (%ecx)
-# CHECK-NEXT: 1 1 0.50 * fstp %st(0)
-# CHECK-NEXT: 1 1 1.00 * * fstpl (%edx)
-# CHECK-NEXT: 1 1 1.00 * * fstpl (%ecx)
-# CHECK-NEXT: 1 1 1.00 * * fstpt (%eax)
-# CHECK-NEXT: 1 1 0.50 * * fnstcw (%eax)
-# CHECK-NEXT: 1 100 1.00 * fnstenv (%eax)
-# CHECK-NEXT: 1 100 1.00 * fnstsw (%eax)
-# CHECK-NEXT: 1 100 1.00 * frstor (%eax)
-# CHECK-NEXT: 1 100 1.00 * wait
-# CHECK-NEXT: 1 100 1.00 * fnsave (%eax)
-# CHECK-NEXT: 1 3 1.00 * fsub %st(0), %st(1)
-# CHECK-NEXT: 1 3 1.00 * fsub %st(2)
-# CHECK-NEXT: 1 6 1.00 * * fsubs (%ecx)
-# CHECK-NEXT: 1 6 1.00 * * fsubl (%eax)
-# CHECK-NEXT: 1 3 1.00 * fsubp %st(1)
-# CHECK-NEXT: 1 3 1.00 * fsubp %st(2)
-# CHECK-NEXT: 1 6 1.00 * * fisubs (%ecx)
-# CHECK-NEXT: 1 6 1.00 * * fisubl (%eax)
-# CHECK-NEXT: 1 3 1.00 * fsubr %st(0), %st(1)
-# CHECK-NEXT: 1 3 1.00 * fsubr %st(2)
-# CHECK-NEXT: 1 6 1.00 * * fsubrs (%ecx)
-# CHECK-NEXT: 1 6 1.00 * * fsubrl (%eax)
-# CHECK-NEXT: 1 3 1.00 * fsubrp %st(1)
-# CHECK-NEXT: 1 3 1.00 * fsubrp %st(2)
-# CHECK-NEXT: 1 6 1.00 * * fisubrs (%ecx)
-# CHECK-NEXT: 1 6 1.00 * * fisubrl (%eax)
-# CHECK-NEXT: 1 3 1.00 * ftst
-# CHECK-NEXT: 1 3 1.00 * fucom %st(1)
-# CHECK-NEXT: 1 3 1.00 * fucom %st(3)
-# CHECK-NEXT: 1 3 1.00 * fucomp %st(1)
-# CHECK-NEXT: 1 3 1.00 * fucomp %st(3)
-# CHECK-NEXT: 1 3 1.00 * fucompp
-# CHECK-NEXT: 1 3 1.00 * fucomi %st(3)
-# CHECK-NEXT: 1 3 1.00 * fucompi %st(3)
-# CHECK-NEXT: 1 100 1.00 * wait
-# CHECK-NEXT: 1 100 1.00 * fxam
-# CHECK-NEXT: 1 1 0.50 * fxch %st(1)
-# CHECK-NEXT: 1 1 0.50 * fxch %st(3)
-# CHECK-NEXT: 1 100 1.00 * * * fxrstor (%eax)
-# CHECK-NEXT: 1 100 1.00 * * * fxsave (%eax)
-# CHECK-NEXT: 1 100 1.00 * fxtract
-# CHECK-NEXT: 1 100 1.00 * fyl2x
-# CHECK-NEXT: 1 100 1.00 * fyl2xp1
+# 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(2)
+# CHECK-NEXT: 1 6 1.00 * U fadds (%ecx)
+# CHECK-NEXT: 1 6 1.00 * U faddl (%ecx)
+# CHECK-NEXT: 1 3 1.00 U faddp %st(1)
+# CHECK-NEXT: 1 3 1.00 U faddp %st(2)
+# CHECK-NEXT: 1 6 1.00 * U fiadds (%ecx)
+# CHECK-NEXT: 1 6 1.00 * U fiaddl (%ecx)
+# CHECK-NEXT: 1 100 1.00 U fbld (%ecx)
+# 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 fcom %st(1)
+# CHECK-NEXT: 1 3 1.00 U fcom %st(3)
+# CHECK-NEXT: 1 6 1.00 U fcoms (%ecx)
+# CHECK-NEXT: 1 6 1.00 U fcoml (%eax)
+# CHECK-NEXT: 1 3 1.00 U fcomp %st(1)
+# CHECK-NEXT: 1 3 1.00 U fcomp %st(3)
+# CHECK-NEXT: 1 6 1.00 U fcomps (%ecx)
+# CHECK-NEXT: 1 6 1.00 U fcompl (%eax)
+# CHECK-NEXT: 1 100 1.00 U fcompp
+# CHECK-NEXT: 1 3 1.00 U fcomi %st(3)
+# 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(2)
+# CHECK-NEXT: 1 22 17.00 * U fdivs (%ecx)
+# CHECK-NEXT: 1 22 17.00 * U fdivl (%eax)
+# CHECK-NEXT: 1 19 17.00 U fdivp %st(1)
+# 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(2)
+# CHECK-NEXT: 1 22 17.00 * U fdivrs (%ecx)
+# CHECK-NEXT: 1 22 17.00 * U fdivrl (%eax)
+# CHECK-NEXT: 1 19 17.00 U fdivrp %st(1)
+# 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 6 1.00 U ficoms (%ecx)
+# CHECK-NEXT: 1 6 1.00 U ficoml (%eax)
+# CHECK-NEXT: 1 6 1.00 U ficomps (%ecx)
+# CHECK-NEXT: 1 6 1.00 U ficompl (%eax)
+# CHECK-NEXT: 1 3 1.00 * U filds (%edx)
+# CHECK-NEXT: 1 3 1.00 * U fildl (%ecx)
+# CHECK-NEXT: 1 3 1.00 * U fildll (%eax)
+# CHECK-NEXT: 1 100 1.00 U fincstp
+# CHECK-NEXT: 1 100 1.00 U fninit
+# CHECK-NEXT: 1 1 1.00 * U fists (%edx)
+# CHECK-NEXT: 1 1 1.00 * U fistl (%ecx)
+# CHECK-NEXT: 1 1 1.00 * U fistps (%edx)
+# CHECK-NEXT: 1 1 1.00 * U fistpl (%ecx)
+# CHECK-NEXT: 1 1 1.00 * U fistpll (%eax)
+# 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 3 1.00 * U flds (%edx)
+# CHECK-NEXT: 1 3 1.00 * U fldl (%ecx)
+# CHECK-NEXT: 1 3 1.00 * U fldt (%eax)
+# CHECK-NEXT: 1 3 1.00 * U fldcw (%eax)
+# CHECK-NEXT: 1 100 1.00 U fldenv (%eax)
+# CHECK-NEXT: 1 1 0.50 U fld1
+# CHECK-NEXT: 2 1 1.00 U fldl2e
+# CHECK-NEXT: 2 1 1.00 U fldl2t
+# CHECK-NEXT: 2 1 1.00 U fldlg2
+# 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(2)
+# CHECK-NEXT: 1 8 2.00 * U fmuls (%ecx)
+# CHECK-NEXT: 1 8 2.00 * U fmull (%eax)
+# CHECK-NEXT: 1 5 2.00 U fmulp %st(1)
+# CHECK-NEXT: 1 5 2.00 U fmulp %st(2)
+# CHECK-NEXT: 1 8 2.00 * U fimuls (%ecx)
+# CHECK-NEXT: 1 8 2.00 * U fimull (%eax)
+# CHECK-NEXT: 1 1 0.50 U fnop
+# CHECK-NEXT: 1 100 1.00 U fpatan
+# CHECK-NEXT: 1 100 1.00 U fprem
+# CHECK-NEXT: 1 100 1.00 U fprem1
+# CHECK-NEXT: 1 100 1.00 U fptan
+# CHECK-NEXT: 1 100 1.00 U frndint
+# CHECK-NEXT: 1 100 1.00 U frstor (%eax)
+# CHECK-NEXT: 1 100 1.00 U fnsave (%eax)
+# CHECK-NEXT: 1 100 1.00 U fscale
+# 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 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 1.00 * U fstpl (%edx)
+# CHECK-NEXT: 1 1 1.00 * U fstpl (%ecx)
+# CHECK-NEXT: 1 1 1.00 * U fstpt (%eax)
+# CHECK-NEXT: 1 1 0.50 * U fnstcw (%eax)
+# CHECK-NEXT: 1 100 1.00 U fnstenv (%eax)
+# CHECK-NEXT: 1 100 1.00 U fnstsw (%eax)
+# 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(2)
+# CHECK-NEXT: 1 6 1.00 * U fsubs (%ecx)
+# CHECK-NEXT: 1 6 1.00 * U fsubl (%eax)
+# CHECK-NEXT: 1 3 1.00 U fsubp %st(1)
+# 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(2)
+# CHECK-NEXT: 1 6 1.00 * U fsubrs (%ecx)
+# CHECK-NEXT: 1 6 1.00 * U fsubrl (%eax)
+# CHECK-NEXT: 1 3 1.00 U fsubrp %st(1)
+# CHECK-NEXT: 1 3 1.00 U fsubrp %st(2)
+# CHECK-NEXT: 1 6 1.00 * U fisubrs (%ecx)
+# CHECK-NEXT: 1 6 1.00 * U fisubrl (%eax)
+# CHECK-NEXT: 1 3 1.00 U ftst
+# CHECK-NEXT: 1 3 1.00 U fucom %st(1)
+# CHECK-NEXT: 1 3 1.00 U fucom %st(3)
+# CHECK-NEXT: 1 3 1.00 U fucomp %st(1)
+# CHECK-NEXT: 1 3 1.00 U fucomp %st(3)
+# CHECK-NEXT: 1 3 1.00 U fucompp
+# CHECK-NEXT: 1 3 1.00 U fucomi %st(3)
+# CHECK-NEXT: 1 3 1.00 U fucompi %st(3)
+# CHECK-NEXT: 1 100 1.00 U wait
+# CHECK-NEXT: 1 100 1.00 U fxam
+# CHECK-NEXT: 1 1 0.50 U fxch %st(1)
+# CHECK-NEXT: 1 1 0.50 U fxch %st(3)
+# CHECK-NEXT: 1 100 1.00 * * U fxrstor (%eax)
+# CHECK-NEXT: 1 100 1.00 * * U fxsave (%eax)
+# CHECK-NEXT: 1 100 1.00 U fxtract
+# CHECK-NEXT: 1 100 1.00 U fyl2x
+# CHECK-NEXT: 1 100 1.00 U fyl2xp1
# CHECK: Resources:
# CHECK-NEXT: [0] - SLMDivider
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 2 7 1.00 aesdec %xmm0, %xmm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 3 1.00 vaddpd %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 2 7 1.00 * vinsertps $1, (%rax), %xmm1, %xmm2
# CHECK-NEXT: 1 6 0.50 * vlddqu (%rax), %xmm2
# CHECK-NEXT: 1 7 0.50 * vlddqu (%rax), %ymm2
-# CHECK-NEXT: 4 5 1.00 * * * vldmxcsr (%rax)
-# CHECK-NEXT: 1 1 1.00 * * * vmaskmovdqu %xmm0, %xmm1
+# CHECK-NEXT: 4 5 1.00 * * U vldmxcsr (%rax)
+# CHECK-NEXT: 1 1 1.00 * * U vmaskmovdqu %xmm0, %xmm1
# CHECK-NEXT: 3 8 1.00 * vmaskmovpd (%rax), %xmm0, %xmm2
# CHECK-NEXT: 3 9 1.00 * vmaskmovpd (%rax), %ymm0, %ymm2
# CHECK-NEXT: 3 5 1.00 * * vmaskmovpd %xmm0, %xmm1, (%rax)
# CHECK-NEXT: 1 1 1.00 * vmovlpd %xmm0, (%rax)
# CHECK-NEXT: 2 7 1.00 * vmovlpd (%rax), %xmm1, %xmm2
# CHECK-NEXT: 1 1 1.00 * vmovlps %xmm0, (%rax)
-# CHECK-NEXT: 2 7 1.00 * vmovlps (%rax), %xmm1, %xmm2
+# CHECK-NEXT: 2 7 1.00 U vmovlps (%rax), %xmm1, %xmm2
# CHECK-NEXT: 1 2 1.00 vmovmskpd %xmm0, %ecx
# CHECK-NEXT: 1 2 1.00 vmovmskpd %ymm0, %ecx
# CHECK-NEXT: 1 2 1.00 vmovmskps %xmm0, %ecx
# CHECK-NEXT: 2 27 21.00 * vsqrtsd (%rax), %xmm1, %xmm2
# CHECK-NEXT: 1 14 14.00 vsqrtss %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 2 20 14.00 * vsqrtss (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 4 5 1.00 * * * vstmxcsr (%rax)
+# CHECK-NEXT: 4 5 1.00 * * U vstmxcsr (%rax)
# CHECK-NEXT: 1 3 1.00 vsubpd %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 2 9 1.00 * vsubpd (%rax), %xmm1, %xmm2
# CHECK-NEXT: 1 3 1.00 vsubpd %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 2 7 1.00 * vxorps (%rax), %xmm1, %xmm2
# CHECK-NEXT: 1 1 1.00 vxorps %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 2 8 1.00 * vxorps (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 1 100 0.33 * * * vzeroall
-# CHECK-NEXT: 1 100 0.33 * * * vzeroupper
+# CHECK-NEXT: 1 100 0.33 * * U vzeroall
+# CHECK-NEXT: 1 100 0.33 * * U vzeroupper
# CHECK: Resources:
# CHECK-NEXT: [0] - SBDivider
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 14 6.00 pclmulqdq $11, %xmm0, %xmm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 2 2 0.67 cmovow %si, %di
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 3 1.00 vcvtph2ps %xmm0, %xmm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
-# CHECK-NEXT: 31 31 10.33 * * * emms
+# CHECK-NEXT: 31 31 10.33 * * U emms
# CHECK-NEXT: 1 1 1.00 movd %eax, %mm2
# CHECK-NEXT: 1 5 0.50 * movd (%rax), %mm2
# CHECK-NEXT: 1 2 1.00 movd %mm0, %ecx
-# CHECK-NEXT: 1 1 1.00 * * movd %mm0, (%rax)
+# CHECK-NEXT: 1 1 1.00 * U movd %mm0, (%rax)
# CHECK-NEXT: 1 1 1.00 movq %rax, %mm2
# CHECK-NEXT: 1 5 0.50 * movq (%rax), %mm2
# CHECK-NEXT: 1 2 1.00 movq %mm0, %rcx
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 3 1.00 popcntw %cx, %cx
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 3 1.00 addps %xmm0, %xmm2
# CHECK-NEXT: 2 20 14.00 * divps (%rax), %xmm2
# CHECK-NEXT: 1 14 14.00 divss %xmm0, %xmm2
# CHECK-NEXT: 2 20 14.00 * divss (%rax), %xmm2
-# CHECK-NEXT: 4 5 1.00 * * * ldmxcsr (%rax)
-# CHECK-NEXT: 1 1 1.00 * * * maskmovq %mm0, %mm1
+# CHECK-NEXT: 4 5 1.00 * * U ldmxcsr (%rax)
+# CHECK-NEXT: 1 1 1.00 * * U maskmovq %mm0, %mm1
# CHECK-NEXT: 1 3 1.00 maxps %xmm0, %xmm2
# CHECK-NEXT: 2 9 1.00 * maxps (%rax), %xmm2
# CHECK-NEXT: 1 3 1.00 maxss %xmm0, %xmm2
# CHECK-NEXT: 1 1 1.00 * movhps %xmm0, (%rax)
# CHECK-NEXT: 2 7 1.00 * movhps (%rax), %xmm2
# CHECK-NEXT: 1 1 1.00 * movlps %xmm0, (%rax)
-# CHECK-NEXT: 2 7 1.00 * movlps (%rax), %xmm2
+# CHECK-NEXT: 2 7 1.00 U movlps (%rax), %xmm2
# CHECK-NEXT: 1 2 1.00 movmskps %xmm0, %ecx
# CHECK-NEXT: 1 1 1.00 * movntps %xmm0, (%rax)
-# CHECK-NEXT: 1 1 1.00 * * * movntq %mm0, (%rax)
+# CHECK-NEXT: 1 1 1.00 * * U movntq %mm0, (%rax)
# CHECK-NEXT: 1 1 1.00 movss %xmm0, %xmm2
# CHECK-NEXT: 1 1 1.00 * movss %xmm0, (%rax)
# CHECK-NEXT: 1 6 0.50 * movss (%rax), %xmm2
# CHECK-NEXT: 2 11 1.00 * rsqrtps (%rax), %xmm2
# CHECK-NEXT: 1 5 1.00 rsqrtss %xmm0, %xmm2
# CHECK-NEXT: 2 11 1.00 * rsqrtss (%rax), %xmm2
-# CHECK-NEXT: 1 1 1.00 * * * sfence
+# CHECK-NEXT: 1 1 1.00 * * U sfence
# CHECK-NEXT: 1 1 1.00 shufps $1, %xmm0, %xmm2
# CHECK-NEXT: 2 7 1.00 * shufps $1, (%rax), %xmm2
# CHECK-NEXT: 1 14 14.00 sqrtps %xmm0, %xmm2
# CHECK-NEXT: 2 20 14.00 * sqrtps (%rax), %xmm2
# CHECK-NEXT: 1 14 14.00 sqrtss %xmm0, %xmm2
# CHECK-NEXT: 2 20 14.00 * sqrtss (%rax), %xmm2
-# CHECK-NEXT: 4 5 1.00 * * * stmxcsr (%rax)
+# CHECK-NEXT: 4 5 1.00 * * U stmxcsr (%rax)
# CHECK-NEXT: 1 3 1.00 subps %xmm0, %xmm2
# CHECK-NEXT: 2 9 1.00 * subps (%rax), %xmm2
# CHECK-NEXT: 1 3 1.00 subss %xmm0, %xmm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 3 1.00 addpd %xmm0, %xmm2
# CHECK-NEXT: 2 7 1.00 * andnpd (%rax), %xmm2
# CHECK-NEXT: 1 1 1.00 andpd %xmm0, %xmm2
# CHECK-NEXT: 2 7 1.00 * andpd (%rax), %xmm2
-# CHECK-NEXT: 4 5 1.00 * * * clflush (%rax)
+# CHECK-NEXT: 4 5 1.00 * * U clflush (%rax)
# CHECK-NEXT: 1 3 1.00 cmppd $0, %xmm0, %xmm2
# CHECK-NEXT: 2 9 1.00 * cmppd $0, (%rax), %xmm2
# CHECK-NEXT: 1 3 1.00 cmpsd $0, %xmm0, %xmm2
# CHECK-NEXT: 2 28 22.00 * divpd (%rax), %xmm2
# CHECK-NEXT: 1 22 22.00 divsd %xmm0, %xmm2
# CHECK-NEXT: 2 28 22.00 * divsd (%rax), %xmm2
-# CHECK-NEXT: 1 1 1.00 * * * lfence
-# CHECK-NEXT: 1 1 1.00 * * * maskmovdqu %xmm0, %xmm1
+# CHECK-NEXT: 1 1 1.00 * * U lfence
+# CHECK-NEXT: 1 1 1.00 * * U maskmovdqu %xmm0, %xmm1
# CHECK-NEXT: 1 3 1.00 maxpd %xmm0, %xmm2
# CHECK-NEXT: 2 9 1.00 * maxpd (%rax), %xmm2
# CHECK-NEXT: 1 3 1.00 maxsd %xmm0, %xmm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 3 1.00 addsubpd %xmm0, %xmm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 1 0.50 blendpd $11, %xmm0, %xmm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 3 1.00 crc32b %al, %ecx
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 1 0.50 pabsb %mm0, %mm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 2 2 0.67 adcb $7, %al
# CHECK-NEXT: 4 7 1.00 * * btcq $7, (%rax)
# CHECK-NEXT: 4 7 1.00 * * btrq $7, (%rax)
# CHECK-NEXT: 4 7 1.00 * * btsq $7, (%rax)
-# CHECK-NEXT: 1 1 0.25 * clc
+# CHECK-NEXT: 1 1 0.25 U clc
# CHECK-NEXT: 1 1 0.33 decb %dil
# CHECK-NEXT: 3 7 1.00 * * decb (%rax)
# CHECK-NEXT: 1 1 0.33 decw %di
# CHECK-NEXT: 3 7 1.00 * * decl (%rax)
# CHECK-NEXT: 1 1 0.33 decq %rdi
# CHECK-NEXT: 3 7 1.00 * * decq (%rax)
-# CHECK-NEXT: 1 25 10.00 * divb %dil
-# CHECK-NEXT: 2 30 10.00 * * divb (%rax)
-# CHECK-NEXT: 1 25 10.00 * divw %si
-# CHECK-NEXT: 2 30 10.00 * * divw (%rax)
-# CHECK-NEXT: 1 25 10.00 * divl %edx
-# CHECK-NEXT: 2 30 10.00 * * divl (%rax)
-# CHECK-NEXT: 1 25 10.00 * divq %rcx
-# CHECK-NEXT: 2 30 10.00 * * divq (%rax)
-# CHECK-NEXT: 1 25 10.00 * idivb %dil
-# CHECK-NEXT: 2 30 10.00 * * idivb (%rax)
-# CHECK-NEXT: 1 25 10.00 * idivw %si
-# CHECK-NEXT: 2 30 10.00 * * idivw (%rax)
-# CHECK-NEXT: 1 25 10.00 * idivl %edx
-# CHECK-NEXT: 2 30 10.00 * * idivl (%rax)
-# CHECK-NEXT: 1 25 10.00 * idivq %rcx
-# CHECK-NEXT: 2 30 10.00 * * idivq (%rax)
+# CHECK-NEXT: 1 25 10.00 U divb %dil
+# CHECK-NEXT: 2 30 10.00 * U divb (%rax)
+# CHECK-NEXT: 1 25 10.00 U divw %si
+# CHECK-NEXT: 2 30 10.00 * U divw (%rax)
+# CHECK-NEXT: 1 25 10.00 U divl %edx
+# CHECK-NEXT: 2 30 10.00 * U divl (%rax)
+# CHECK-NEXT: 1 25 10.00 U divq %rcx
+# CHECK-NEXT: 2 30 10.00 * U divq (%rax)
+# CHECK-NEXT: 1 25 10.00 U idivb %dil
+# CHECK-NEXT: 2 30 10.00 * U idivb (%rax)
+# CHECK-NEXT: 1 25 10.00 U idivw %si
+# CHECK-NEXT: 2 30 10.00 * U idivw (%rax)
+# CHECK-NEXT: 1 25 10.00 U idivl %edx
+# CHECK-NEXT: 2 30 10.00 * U idivl (%rax)
+# CHECK-NEXT: 1 25 10.00 U idivq %rcx
+# CHECK-NEXT: 2 30 10.00 * U idivq (%rax)
# CHECK-NEXT: 1 3 1.00 imulb %dil
# CHECK-NEXT: 2 8 1.00 * imulb (%rax)
# CHECK-NEXT: 4 4 1.33 imulw %di
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
-# CHECK-NEXT: 1 100 0.33 * f2xm1
-# CHECK-NEXT: 1 1 1.00 * fabs
-# CHECK-NEXT: 1 3 1.00 * fadd %st(0), %st(1)
-# CHECK-NEXT: 1 3 1.00 * fadd %st(2)
-# CHECK-NEXT: 2 10 1.00 * * fadds (%ecx)
-# CHECK-NEXT: 2 10 1.00 * * faddl (%ecx)
-# CHECK-NEXT: 1 3 1.00 * faddp %st(1)
-# CHECK-NEXT: 1 3 1.00 * faddp %st(2)
-# CHECK-NEXT: 3 13 2.00 * * fiadds (%ecx)
-# CHECK-NEXT: 3 13 2.00 * * fiaddl (%ecx)
-# CHECK-NEXT: 1 100 0.33 * fbld (%ecx)
-# CHECK-NEXT: 1 100 0.33 * fbstp (%eax)
-# CHECK-NEXT: 1 1 1.00 * fchs
-# CHECK-NEXT: 1 100 0.33 * fnclex
-# CHECK-NEXT: 3 3 2.00 * fcmovb %st(1), %st(0)
-# CHECK-NEXT: 3 3 2.00 * fcmovbe %st(1), %st(0)
-# CHECK-NEXT: 3 3 2.00 * fcmove %st(1), %st(0)
-# CHECK-NEXT: 3 3 2.00 * fcmovnb %st(1), %st(0)
-# CHECK-NEXT: 3 3 2.00 * fcmovnbe %st(1), %st(0)
-# CHECK-NEXT: 3 3 2.00 * fcmovne %st(1), %st(0)
-# CHECK-NEXT: 3 3 2.00 * fcmovnu %st(1), %st(0)
-# CHECK-NEXT: 3 3 2.00 * fcmovu %st(1), %st(0)
-# CHECK-NEXT: 1 1 1.00 * fcom %st(1)
-# CHECK-NEXT: 1 1 1.00 * fcom %st(3)
-# CHECK-NEXT: 2 8 1.00 * fcoms (%ecx)
-# CHECK-NEXT: 2 8 1.00 * fcoml (%eax)
-# CHECK-NEXT: 1 1 1.00 * fcomp %st(1)
-# CHECK-NEXT: 1 1 1.00 * fcomp %st(3)
-# CHECK-NEXT: 2 8 1.00 * fcomps (%ecx)
-# CHECK-NEXT: 2 8 1.00 * fcompl (%eax)
-# CHECK-NEXT: 1 100 0.33 * fcompp
-# CHECK-NEXT: 3 3 1.00 * fcomi %st(3)
-# CHECK-NEXT: 3 3 1.00 * fcompi %st(3)
-# CHECK-NEXT: 1 100 0.33 * fcos
-# CHECK-NEXT: 1 1 1.00 * fdecstp
-# CHECK-NEXT: 1 14 14.00 * fdiv %st(0), %st(1)
-# CHECK-NEXT: 1 14 14.00 * fdiv %st(2)
-# CHECK-NEXT: 2 31 1.00 * * fdivs (%ecx)
-# CHECK-NEXT: 2 31 1.00 * * fdivl (%eax)
-# CHECK-NEXT: 1 14 14.00 * fdivp %st(1)
-# CHECK-NEXT: 1 14 14.00 * fdivp %st(2)
-# CHECK-NEXT: 3 34 1.00 * * fidivs (%ecx)
-# CHECK-NEXT: 3 34 1.00 * * fidivl (%eax)
-# CHECK-NEXT: 1 14 14.00 * fdivr %st(0), %st(1)
-# CHECK-NEXT: 1 14 14.00 * fdivr %st(2)
-# CHECK-NEXT: 2 31 1.00 * * fdivrs (%ecx)
-# CHECK-NEXT: 2 31 1.00 * * fdivrl (%eax)
-# CHECK-NEXT: 1 14 14.00 * fdivrp %st(1)
-# CHECK-NEXT: 1 14 14.00 * fdivrp %st(2)
-# CHECK-NEXT: 3 34 1.00 * * fidivrs (%ecx)
-# CHECK-NEXT: 3 34 1.00 * * fidivrl (%eax)
-# CHECK-NEXT: 1 1 1.00 * ffree %st(0)
-# CHECK-NEXT: 3 11 2.00 * ficoms (%ecx)
-# CHECK-NEXT: 3 11 2.00 * ficoml (%eax)
-# CHECK-NEXT: 3 11 2.00 * ficomps (%ecx)
-# CHECK-NEXT: 3 11 2.00 * ficompl (%eax)
-# CHECK-NEXT: 2 10 1.00 * * filds (%edx)
-# CHECK-NEXT: 2 10 1.00 * * fildl (%ecx)
-# CHECK-NEXT: 2 10 1.00 * * fildll (%eax)
-# CHECK-NEXT: 1 1 1.00 * fincstp
-# CHECK-NEXT: 4 5 1.33 * fninit
-# CHECK-NEXT: 4 9 1.00 * * fists (%edx)
-# CHECK-NEXT: 4 9 1.00 * * fistl (%ecx)
-# CHECK-NEXT: 4 9 1.00 * * fistps (%edx)
-# CHECK-NEXT: 4 9 1.00 * * fistpl (%ecx)
-# CHECK-NEXT: 4 9 1.00 * * fistpll (%eax)
-# CHECK-NEXT: 3 5 1.00 * * fisttps (%edx)
-# CHECK-NEXT: 3 5 1.00 * * fisttpl (%ecx)
-# CHECK-NEXT: 3 5 1.00 * * fisttpll (%eax)
-# CHECK-NEXT: 1 1 1.00 * fld %st(0)
-# CHECK-NEXT: 3 9 1.00 * * flds (%edx)
-# CHECK-NEXT: 3 9 1.00 * * fldl (%ecx)
-# CHECK-NEXT: 3 9 1.00 * * fldt (%eax)
-# CHECK-NEXT: 5 8 2.00 * * fldcw (%eax)
-# CHECK-NEXT: 1 100 0.33 * fldenv (%eax)
-# CHECK-NEXT: 2 1 1.00 * fld1
-# CHECK-NEXT: 2 1 1.00 * fldl2e
-# CHECK-NEXT: 2 1 1.00 * fldl2t
-# CHECK-NEXT: 2 1 1.00 * fldlg2
-# CHECK-NEXT: 2 1 1.00 * fldln2
-# CHECK-NEXT: 2 1 1.00 * fldpi
-# CHECK-NEXT: 1 1 1.00 * fldz
-# CHECK-NEXT: 1 5 1.00 * fmul %st(0), %st(1)
-# CHECK-NEXT: 1 5 1.00 * fmul %st(2)
-# CHECK-NEXT: 2 12 1.00 * * fmuls (%ecx)
-# CHECK-NEXT: 2 12 1.00 * * fmull (%eax)
-# CHECK-NEXT: 1 5 1.00 * fmulp %st(1)
-# CHECK-NEXT: 1 5 1.00 * fmulp %st(2)
-# CHECK-NEXT: 3 15 1.00 * * fimuls (%ecx)
-# CHECK-NEXT: 3 15 1.00 * * fimull (%eax)
-# CHECK-NEXT: 1 1 1.00 * fnop
-# CHECK-NEXT: 1 100 0.33 * fpatan
-# CHECK-NEXT: 1 100 0.33 * fprem
-# CHECK-NEXT: 1 100 0.33 * fprem1
-# CHECK-NEXT: 1 100 0.33 * fptan
-# CHECK-NEXT: 1 100 0.33 * frndint
-# CHECK-NEXT: 1 100 0.33 * frstor (%eax)
-# CHECK-NEXT: 1 100 0.33 * fnsave (%eax)
-# CHECK-NEXT: 1 100 0.33 * fscale
-# CHECK-NEXT: 1 100 0.33 * fsin
-# CHECK-NEXT: 1 100 0.33 * fsincos
-# CHECK-NEXT: 1 24 24.00 * fsqrt
-# CHECK-NEXT: 1 1 1.00 * fst %st(0)
-# CHECK-NEXT: 3 6 1.00 * * fsts (%edx)
-# CHECK-NEXT: 3 6 1.00 * * fstl (%ecx)
-# CHECK-NEXT: 1 1 1.00 * fstp %st(0)
-# CHECK-NEXT: 3 6 1.00 * * fstpl (%edx)
-# CHECK-NEXT: 3 6 1.00 * * fstpl (%ecx)
-# CHECK-NEXT: 3 6 1.00 * * fstpt (%eax)
-# CHECK-NEXT: 4 7 1.00 * * fnstcw (%eax)
-# CHECK-NEXT: 1 100 0.33 * fnstenv (%eax)
-# CHECK-NEXT: 4 7 1.00 * fnstsw (%eax)
-# CHECK-NEXT: 1 100 0.33 * frstor (%eax)
-# CHECK-NEXT: 1 100 0.33 * wait
-# CHECK-NEXT: 1 100 0.33 * fnsave (%eax)
-# CHECK-NEXT: 1 3 1.00 * fsub %st(0), %st(1)
-# CHECK-NEXT: 1 3 1.00 * fsub %st(2)
-# CHECK-NEXT: 2 10 1.00 * * fsubs (%ecx)
-# CHECK-NEXT: 2 10 1.00 * * fsubl (%eax)
-# CHECK-NEXT: 1 3 1.00 * fsubp %st(1)
-# CHECK-NEXT: 1 3 1.00 * fsubp %st(2)
-# CHECK-NEXT: 3 13 2.00 * * fisubs (%ecx)
-# CHECK-NEXT: 3 13 2.00 * * fisubl (%eax)
-# CHECK-NEXT: 1 3 1.00 * fsubr %st(0), %st(1)
-# CHECK-NEXT: 1 3 1.00 * fsubr %st(2)
-# CHECK-NEXT: 2 10 1.00 * * fsubrs (%ecx)
-# CHECK-NEXT: 2 10 1.00 * * fsubrl (%eax)
-# CHECK-NEXT: 1 3 1.00 * fsubrp %st(1)
-# CHECK-NEXT: 1 3 1.00 * fsubrp %st(2)
-# CHECK-NEXT: 3 13 2.00 * * fisubrs (%ecx)
-# CHECK-NEXT: 3 13 2.00 * * fisubrl (%eax)
-# CHECK-NEXT: 1 3 1.00 * ftst
-# CHECK-NEXT: 1 1 1.00 * fucom %st(1)
-# CHECK-NEXT: 1 1 1.00 * fucom %st(3)
-# CHECK-NEXT: 1 1 1.00 * fucomp %st(1)
-# CHECK-NEXT: 1 1 1.00 * fucomp %st(3)
-# CHECK-NEXT: 1 3 1.00 * fucompp
-# CHECK-NEXT: 3 3 1.00 * fucomi %st(3)
-# CHECK-NEXT: 3 3 1.00 * fucompi %st(3)
-# CHECK-NEXT: 1 100 0.33 * wait
-# CHECK-NEXT: 1 100 0.33 * fxam
-# CHECK-NEXT: 1 1 0.33 * fxch %st(1)
-# CHECK-NEXT: 1 1 0.33 * fxch %st(3)
-# CHECK-NEXT: 5 5 2.00 * * * fxrstor (%eax)
-# CHECK-NEXT: 1 100 0.33 * * * fxsave (%eax)
-# CHECK-NEXT: 1 100 0.33 * fxtract
-# CHECK-NEXT: 1 100 0.33 * fyl2x
-# CHECK-NEXT: 1 100 0.33 * fyl2xp1
+# 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(2)
+# CHECK-NEXT: 2 10 1.00 * U fadds (%ecx)
+# CHECK-NEXT: 2 10 1.00 * U faddl (%ecx)
+# CHECK-NEXT: 1 3 1.00 U faddp %st(1)
+# CHECK-NEXT: 1 3 1.00 U faddp %st(2)
+# CHECK-NEXT: 3 13 2.00 * U fiadds (%ecx)
+# CHECK-NEXT: 3 13 2.00 * U fiaddl (%ecx)
+# CHECK-NEXT: 1 100 0.33 U fbld (%ecx)
+# 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: 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)
+# CHECK-NEXT: 2 8 1.00 U fcoml (%eax)
+# CHECK-NEXT: 1 1 1.00 U fcomp %st(1)
+# CHECK-NEXT: 1 1 1.00 U fcomp %st(3)
+# CHECK-NEXT: 2 8 1.00 U fcomps (%ecx)
+# CHECK-NEXT: 2 8 1.00 U fcompl (%eax)
+# CHECK-NEXT: 1 100 0.33 U fcompp
+# CHECK-NEXT: 3 3 1.00 U fcomi %st(3)
+# 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(2)
+# CHECK-NEXT: 2 31 1.00 * U fdivs (%ecx)
+# CHECK-NEXT: 2 31 1.00 * U fdivl (%eax)
+# CHECK-NEXT: 1 14 14.00 U fdivp %st(1)
+# 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(2)
+# CHECK-NEXT: 2 31 1.00 * U fdivrs (%ecx)
+# CHECK-NEXT: 2 31 1.00 * U fdivrl (%eax)
+# CHECK-NEXT: 1 14 14.00 U fdivrp %st(1)
+# 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: 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)
+# CHECK-NEXT: 3 11 2.00 U ficompl (%eax)
+# CHECK-NEXT: 2 10 1.00 * U filds (%edx)
+# CHECK-NEXT: 2 10 1.00 * U fildl (%ecx)
+# CHECK-NEXT: 2 10 1.00 * U fildll (%eax)
+# CHECK-NEXT: 1 1 1.00 U fincstp
+# CHECK-NEXT: 4 5 1.33 U fninit
+# CHECK-NEXT: 4 9 1.00 * U fists (%edx)
+# CHECK-NEXT: 4 9 1.00 * U fistl (%ecx)
+# CHECK-NEXT: 4 9 1.00 * U fistps (%edx)
+# CHECK-NEXT: 4 9 1.00 * U fistpl (%ecx)
+# CHECK-NEXT: 4 9 1.00 * U fistpll (%eax)
+# 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: 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)
+# CHECK-NEXT: 5 8 2.00 * U fldcw (%eax)
+# CHECK-NEXT: 1 100 0.33 U fldenv (%eax)
+# CHECK-NEXT: 2 1 1.00 U fld1
+# CHECK-NEXT: 2 1 1.00 U fldl2e
+# CHECK-NEXT: 2 1 1.00 U fldl2t
+# CHECK-NEXT: 2 1 1.00 U fldlg2
+# 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(2)
+# CHECK-NEXT: 2 12 1.00 * U fmuls (%ecx)
+# CHECK-NEXT: 2 12 1.00 * U fmull (%eax)
+# CHECK-NEXT: 1 5 1.00 U fmulp %st(1)
+# CHECK-NEXT: 1 5 1.00 U fmulp %st(2)
+# CHECK-NEXT: 3 15 1.00 * U fimuls (%ecx)
+# CHECK-NEXT: 3 15 1.00 * U fimull (%eax)
+# CHECK-NEXT: 1 1 1.00 U fnop
+# CHECK-NEXT: 1 100 0.33 U fpatan
+# CHECK-NEXT: 1 100 0.33 U fprem
+# CHECK-NEXT: 1 100 0.33 U fprem1
+# CHECK-NEXT: 1 100 0.33 U fptan
+# CHECK-NEXT: 1 100 0.33 U frndint
+# CHECK-NEXT: 1 100 0.33 U frstor (%eax)
+# CHECK-NEXT: 1 100 0.33 U fnsave (%eax)
+# CHECK-NEXT: 1 100 0.33 U fscale
+# 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: 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: 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)
+# CHECK-NEXT: 4 7 1.00 * U fnstcw (%eax)
+# CHECK-NEXT: 1 100 0.33 U fnstenv (%eax)
+# CHECK-NEXT: 4 7 1.00 U fnstsw (%eax)
+# 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(2)
+# CHECK-NEXT: 2 10 1.00 * U fsubs (%ecx)
+# CHECK-NEXT: 2 10 1.00 * U fsubl (%eax)
+# CHECK-NEXT: 1 3 1.00 U fsubp %st(1)
+# 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(2)
+# CHECK-NEXT: 2 10 1.00 * U fsubrs (%ecx)
+# CHECK-NEXT: 2 10 1.00 * U fsubrl (%eax)
+# CHECK-NEXT: 1 3 1.00 U fsubrp %st(1)
+# CHECK-NEXT: 1 3 1.00 U fsubrp %st(2)
+# CHECK-NEXT: 3 13 2.00 * U fisubrs (%ecx)
+# CHECK-NEXT: 3 13 2.00 * U fisubrl (%eax)
+# CHECK-NEXT: 1 3 1.00 U ftst
+# CHECK-NEXT: 1 1 1.00 U fucom %st(1)
+# CHECK-NEXT: 1 1 1.00 U fucom %st(3)
+# CHECK-NEXT: 1 1 1.00 U fucomp %st(1)
+# CHECK-NEXT: 1 1 1.00 U fucomp %st(3)
+# CHECK-NEXT: 1 3 1.00 U fucompp
+# CHECK-NEXT: 3 3 1.00 U fucomi %st(3)
+# CHECK-NEXT: 3 3 1.00 U fucompi %st(3)
+# CHECK-NEXT: 1 100 0.33 U wait
+# CHECK-NEXT: 1 100 0.33 U fxam
+# CHECK-NEXT: 1 1 0.33 U fxch %st(1)
+# CHECK-NEXT: 1 1 0.33 U fxch %st(3)
+# CHECK-NEXT: 5 5 2.00 * * U fxrstor (%eax)
+# CHECK-NEXT: 1 100 0.33 * * U fxsave (%eax)
+# CHECK-NEXT: 1 100 0.33 U fxtract
+# CHECK-NEXT: 1 100 0.33 U fyl2x
+# CHECK-NEXT: 1 100 0.33 U fyl2xp1
# CHECK: Resources:
# CHECK-NEXT: [0] - SBDivider
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 1 0.50 adcxl %ebx, %ecx
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 4 0.50 vaddpd %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 2 7 1.00 * vinsertps $1, (%rax), %xmm1, %xmm2
# CHECK-NEXT: 1 6 0.50 * vlddqu (%rax), %xmm2
# CHECK-NEXT: 1 7 0.50 * vlddqu (%rax), %ymm2
-# CHECK-NEXT: 3 7 1.00 * * * vldmxcsr (%rax)
-# CHECK-NEXT: 2 1 1.00 * * * vmaskmovdqu %xmm0, %xmm1
+# CHECK-NEXT: 3 7 1.00 * * U vldmxcsr (%rax)
+# CHECK-NEXT: 2 1 1.00 * * U vmaskmovdqu %xmm0, %xmm1
# CHECK-NEXT: 2 7 0.50 * vmaskmovpd (%rax), %xmm0, %xmm2
# CHECK-NEXT: 2 8 0.50 * vmaskmovpd (%rax), %ymm0, %ymm2
# CHECK-NEXT: 2 2 1.00 * * vmaskmovpd %xmm0, %xmm1, (%rax)
# CHECK-NEXT: 2 1 1.00 * vmovlpd %xmm0, (%rax)
# CHECK-NEXT: 2 6 1.00 * vmovlpd (%rax), %xmm1, %xmm2
# CHECK-NEXT: 2 1 1.00 * vmovlps %xmm0, (%rax)
-# CHECK-NEXT: 2 6 1.00 * vmovlps (%rax), %xmm1, %xmm2
+# CHECK-NEXT: 2 6 1.00 U vmovlps (%rax), %xmm1, %xmm2
# CHECK-NEXT: 1 2 1.00 vmovmskpd %xmm0, %ecx
# CHECK-NEXT: 1 2 1.00 vmovmskpd %ymm0, %ecx
# CHECK-NEXT: 1 2 1.00 vmovmskps %xmm0, %ecx
# CHECK-NEXT: 2 23 6.00 * vsqrtsd (%rax), %xmm1, %xmm2
# CHECK-NEXT: 1 12 3.00 vsqrtss %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 2 17 3.00 * vsqrtss (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 3 2 1.00 * * * vstmxcsr (%rax)
+# CHECK-NEXT: 3 2 1.00 * * U vstmxcsr (%rax)
# CHECK-NEXT: 1 4 0.50 vsubpd %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 2 10 0.50 * vsubpd (%rax), %xmm1, %xmm2
# CHECK-NEXT: 1 4 0.50 vsubpd %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 2 7 0.50 * vxorps (%rax), %xmm1, %xmm2
# CHECK-NEXT: 1 1 0.33 vxorps %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 2 8 0.50 * vxorps (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 16 16 4.00 * * * vzeroall
-# CHECK-NEXT: 4 4 1.00 * * * vzeroupper
+# CHECK-NEXT: 16 16 4.00 * * U vzeroall
+# CHECK-NEXT: 4 4 1.00 * * U vzeroupper
# CHECK: Resources:
# CHECK-NEXT: [0] - SKLDivider
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 7 0.50 * vbroadcasti128 (%rax), %ymm0
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 1 0.50 andnl %eax, %ebx, %ecx
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 1 0.50 bzhil %eax, %ebx, %ecx
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 1 0.50 cmovow %si, %di
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 2 5 1.00 vcvtph2ps %xmm0, %xmm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 4 0.50 vfmadd132pd %xmm0, %xmm1, %xmm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 3 1.00 lzcntw %cx, %cx
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
-# CHECK-NEXT: 10 10 4.50 * * * emms
+# CHECK-NEXT: 10 10 4.50 * * U emms
# CHECK-NEXT: 1 1 1.00 movd %eax, %mm2
# CHECK-NEXT: 1 5 0.50 * movd (%rax), %mm2
# CHECK-NEXT: 1 2 1.00 movd %mm0, %ecx
-# CHECK-NEXT: 2 1 1.00 * * movd %mm0, (%rax)
+# CHECK-NEXT: 2 1 1.00 * U movd %mm0, (%rax)
# CHECK-NEXT: 1 1 1.00 movq %rax, %mm2
# CHECK-NEXT: 1 5 0.50 * movq (%rax), %mm2
# CHECK-NEXT: 1 2 1.00 movq %mm0, %rcx
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 3 1.00 popcntw %cx, %cx
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 4 0.50 addps %xmm0, %xmm2
# CHECK-NEXT: 2 17 5.00 * divps (%rax), %xmm2
# CHECK-NEXT: 1 11 3.00 divss %xmm0, %xmm2
# CHECK-NEXT: 2 16 3.00 * divss (%rax), %xmm2
-# CHECK-NEXT: 3 7 1.00 * * * ldmxcsr (%rax)
-# CHECK-NEXT: 1 1 1.00 * * * maskmovq %mm0, %mm1
+# CHECK-NEXT: 3 7 1.00 * * U ldmxcsr (%rax)
+# CHECK-NEXT: 1 1 1.00 * * U maskmovq %mm0, %mm1
# CHECK-NEXT: 1 4 0.50 maxps %xmm0, %xmm2
# CHECK-NEXT: 2 10 0.50 * maxps (%rax), %xmm2
# CHECK-NEXT: 1 4 0.50 maxss %xmm0, %xmm2
# CHECK-NEXT: 2 1 1.00 * movhps %xmm0, (%rax)
# CHECK-NEXT: 2 6 1.00 * movhps (%rax), %xmm2
# CHECK-NEXT: 2 1 1.00 * movlps %xmm0, (%rax)
-# CHECK-NEXT: 2 6 1.00 * movlps (%rax), %xmm2
+# CHECK-NEXT: 2 6 1.00 U movlps (%rax), %xmm2
# CHECK-NEXT: 1 2 1.00 movmskps %xmm0, %ecx
# CHECK-NEXT: 2 1 1.00 * movntps %xmm0, (%rax)
-# CHECK-NEXT: 2 1 1.00 * * * movntq %mm0, (%rax)
+# CHECK-NEXT: 2 1 1.00 * * U movntq %mm0, (%rax)
# CHECK-NEXT: 1 1 1.00 movss %xmm0, %xmm2
# CHECK-NEXT: 2 1 1.00 * movss %xmm0, (%rax)
# CHECK-NEXT: 1 5 0.50 * movss (%rax), %xmm2
# CHECK-NEXT: 2 10 1.00 * rsqrtps (%rax), %xmm2
# CHECK-NEXT: 1 4 1.00 rsqrtss %xmm0, %xmm2
# CHECK-NEXT: 2 9 1.00 * rsqrtss (%rax), %xmm2
-# CHECK-NEXT: 2 2 0.33 * * * sfence
+# CHECK-NEXT: 2 2 0.33 * * U sfence
# CHECK-NEXT: 1 1 1.00 shufps $1, %xmm0, %xmm2
# CHECK-NEXT: 2 7 1.00 * shufps $1, (%rax), %xmm2
# CHECK-NEXT: 1 12 3.00 sqrtps %xmm0, %xmm2
# CHECK-NEXT: 2 18 3.00 * sqrtps (%rax), %xmm2
# CHECK-NEXT: 1 12 3.00 sqrtss %xmm0, %xmm2
# CHECK-NEXT: 2 17 3.00 * sqrtss (%rax), %xmm2
-# CHECK-NEXT: 3 2 1.00 * * * stmxcsr (%rax)
+# CHECK-NEXT: 3 2 1.00 * * U stmxcsr (%rax)
# CHECK-NEXT: 1 4 0.50 subps %xmm0, %xmm2
# CHECK-NEXT: 2 10 0.50 * subps (%rax), %xmm2
# CHECK-NEXT: 1 4 0.50 subss %xmm0, %xmm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 4 0.50 addpd %xmm0, %xmm2
# CHECK-NEXT: 2 7 0.50 * andnpd (%rax), %xmm2
# CHECK-NEXT: 1 1 0.33 andpd %xmm0, %xmm2
# CHECK-NEXT: 2 7 0.50 * andpd (%rax), %xmm2
-# CHECK-NEXT: 2 2 1.00 * * * clflush (%rax)
+# CHECK-NEXT: 2 2 1.00 * * U clflush (%rax)
# CHECK-NEXT: 1 4 0.50 cmppd $0, %xmm0, %xmm2
# CHECK-NEXT: 2 10 0.50 * cmppd $0, (%rax), %xmm2
# CHECK-NEXT: 1 4 0.50 cmpsd $0, %xmm0, %xmm2
# CHECK-NEXT: 2 20 4.00 * divpd (%rax), %xmm2
# CHECK-NEXT: 1 14 3.00 divsd %xmm0, %xmm2
# CHECK-NEXT: 2 19 4.00 * divsd (%rax), %xmm2
-# CHECK-NEXT: 2 2 0.50 * * * lfence
-# CHECK-NEXT: 2 1 1.00 * * * maskmovdqu %xmm0, %xmm1
+# CHECK-NEXT: 2 2 0.50 * * U lfence
+# CHECK-NEXT: 2 1 1.00 * * U maskmovdqu %xmm0, %xmm1
# CHECK-NEXT: 1 4 0.50 maxpd %xmm0, %xmm2
# CHECK-NEXT: 2 10 0.50 * maxpd (%rax), %xmm2
# CHECK-NEXT: 1 4 0.50 maxsd %xmm0, %xmm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 4 0.50 addsubpd %xmm0, %xmm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 1 0.33 blendpd $11, %xmm0, %xmm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 3 1.00 crc32b %al, %ecx
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 1 0.50 pabsb %mm0, %mm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 2 2 0.50 adcb $7, %al
# CHECK-NEXT: 4 6 1.00 * * btcq $7, (%rax)
# CHECK-NEXT: 4 6 1.00 * * btrq $7, (%rax)
# CHECK-NEXT: 4 6 1.00 * * btsq $7, (%rax)
-# CHECK-NEXT: 1 1 0.17 * clc
+# CHECK-NEXT: 1 1 0.17 U clc
# CHECK-NEXT: 1 1 0.25 decb %dil
# CHECK-NEXT: 3 7 1.00 * * decb (%rax)
# CHECK-NEXT: 1 1 0.25 decw %di
# CHECK-NEXT: 3 7 1.00 * * decl (%rax)
# CHECK-NEXT: 1 1 0.25 decq %rdi
# CHECK-NEXT: 3 7 1.00 * * decq (%rax)
-# CHECK-NEXT: 1 25 10.00 * divb %dil
-# CHECK-NEXT: 2 29 10.00 * * divb (%rax)
-# CHECK-NEXT: 32 76 8.00 * divw %si
-# CHECK-NEXT: 2 29 10.00 * * divw (%rax)
-# CHECK-NEXT: 32 76 8.00 * divl %edx
-# CHECK-NEXT: 2 29 10.00 * * divl (%rax)
-# CHECK-NEXT: 32 76 8.00 * divq %rcx
-# CHECK-NEXT: 2 29 10.00 * * divq (%rax)
-# CHECK-NEXT: 1 25 10.00 * idivb %dil
-# CHECK-NEXT: 8 28 4.00 * * idivb (%rax)
-# CHECK-NEXT: 66 102 16.50 * idivw %si
-# CHECK-NEXT: 8 28 4.00 * * idivw (%rax)
-# CHECK-NEXT: 66 102 16.50 * idivl %edx
-# CHECK-NEXT: 8 28 4.00 * * idivl (%rax)
-# CHECK-NEXT: 66 102 16.50 * idivq %rcx
-# CHECK-NEXT: 8 28 4.00 * * idivq (%rax)
+# CHECK-NEXT: 1 25 10.00 U divb %dil
+# CHECK-NEXT: 2 29 10.00 * U divb (%rax)
+# CHECK-NEXT: 32 76 8.00 U divw %si
+# CHECK-NEXT: 2 29 10.00 * U divw (%rax)
+# CHECK-NEXT: 32 76 8.00 U divl %edx
+# CHECK-NEXT: 2 29 10.00 * U divl (%rax)
+# CHECK-NEXT: 32 76 8.00 U divq %rcx
+# CHECK-NEXT: 2 29 10.00 * U divq (%rax)
+# CHECK-NEXT: 1 25 10.00 U idivb %dil
+# CHECK-NEXT: 8 28 4.00 * U idivb (%rax)
+# CHECK-NEXT: 66 102 16.50 U idivw %si
+# CHECK-NEXT: 8 28 4.00 * U idivw (%rax)
+# CHECK-NEXT: 66 102 16.50 U idivl %edx
+# CHECK-NEXT: 8 28 4.00 * U idivl (%rax)
+# CHECK-NEXT: 66 102 16.50 U idivq %rcx
+# CHECK-NEXT: 8 28 4.00 * U idivq (%rax)
# CHECK-NEXT: 1 3 1.00 imulb %dil
# CHECK-NEXT: 2 8 1.00 * imulb (%rax)
# CHECK-NEXT: 4 4 1.00 imulw %di
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
-# CHECK-NEXT: 1 100 0.25 * f2xm1
-# CHECK-NEXT: 1 1 1.00 * fabs
-# CHECK-NEXT: 1 3 1.00 * fadd %st(0), %st(1)
-# CHECK-NEXT: 1 3 1.00 * fadd %st(2)
-# CHECK-NEXT: 2 10 1.00 * * fadds (%ecx)
-# CHECK-NEXT: 2 10 1.00 * * faddl (%ecx)
-# CHECK-NEXT: 1 3 1.00 * faddp %st(1)
-# CHECK-NEXT: 1 3 1.00 * faddp %st(2)
-# CHECK-NEXT: 3 13 2.00 * * fiadds (%ecx)
-# CHECK-NEXT: 3 13 2.00 * * fiaddl (%ecx)
-# CHECK-NEXT: 1 100 0.25 * fbld (%ecx)
-# CHECK-NEXT: 2 1 1.00 * fbstp (%eax)
-# CHECK-NEXT: 1 1 1.00 * fchs
-# CHECK-NEXT: 4 4 1.00 * fnclex
-# CHECK-NEXT: 1 3 1.00 * fcmovb %st(1), %st(0)
-# CHECK-NEXT: 1 3 1.00 * fcmovbe %st(1), %st(0)
-# CHECK-NEXT: 1 3 1.00 * fcmove %st(1), %st(0)
-# CHECK-NEXT: 1 3 1.00 * fcmovnb %st(1), %st(0)
-# CHECK-NEXT: 1 3 1.00 * fcmovnbe %st(1), %st(0)
-# CHECK-NEXT: 1 3 1.00 * fcmovne %st(1), %st(0)
-# CHECK-NEXT: 1 3 1.00 * fcmovnu %st(1), %st(0)
-# CHECK-NEXT: 1 3 1.00 * fcmovu %st(1), %st(0)
-# CHECK-NEXT: 1 1 1.00 * fcom %st(1)
-# CHECK-NEXT: 1 1 1.00 * fcom %st(3)
-# CHECK-NEXT: 2 8 1.00 * fcoms (%ecx)
-# CHECK-NEXT: 2 8 1.00 * fcoml (%eax)
-# CHECK-NEXT: 1 1 1.00 * fcomp %st(1)
-# CHECK-NEXT: 1 1 1.00 * fcomp %st(3)
-# CHECK-NEXT: 2 8 1.00 * fcomps (%ecx)
-# CHECK-NEXT: 2 8 1.00 * fcompl (%eax)
-# CHECK-NEXT: 1 100 0.25 * fcompp
-# CHECK-NEXT: 1 2 1.00 * fcomi %st(3)
-# CHECK-NEXT: 1 2 1.00 * fcompi %st(3)
-# CHECK-NEXT: 1 100 0.25 * fcos
-# CHECK-NEXT: 2 2 1.00 * fdecstp
-# CHECK-NEXT: 1 15 1.00 * fdiv %st(0), %st(1)
-# CHECK-NEXT: 1 20 1.00 * fdiv %st(2)
-# CHECK-NEXT: 2 22 1.00 * * fdivs (%ecx)
-# CHECK-NEXT: 2 22 1.00 * * fdivl (%eax)
-# CHECK-NEXT: 1 15 1.00 * fdivp %st(1)
-# CHECK-NEXT: 1 15 1.00 * fdivp %st(2)
-# CHECK-NEXT: 3 25 1.00 * * fidivs (%ecx)
-# CHECK-NEXT: 3 25 1.00 * * fidivl (%eax)
-# CHECK-NEXT: 1 20 1.00 * fdivr %st(0), %st(1)
-# CHECK-NEXT: 1 15 1.00 * fdivr %st(2)
-# CHECK-NEXT: 2 27 1.00 * * fdivrs (%ecx)
-# CHECK-NEXT: 2 27 1.00 * * fdivrl (%eax)
-# CHECK-NEXT: 1 20 1.00 * fdivrp %st(1)
-# CHECK-NEXT: 1 20 1.00 * fdivrp %st(2)
-# CHECK-NEXT: 3 30 1.00 * * fidivrs (%ecx)
-# CHECK-NEXT: 3 30 1.00 * * fidivrl (%eax)
-# CHECK-NEXT: 1 100 0.25 * ffree %st(0)
-# CHECK-NEXT: 3 11 2.00 * ficoms (%ecx)
-# CHECK-NEXT: 3 11 2.00 * ficoml (%eax)
-# CHECK-NEXT: 3 11 2.00 * ficomps (%ecx)
-# CHECK-NEXT: 3 11 2.00 * ficompl (%eax)
-# CHECK-NEXT: 2 10 1.00 * * filds (%edx)
-# CHECK-NEXT: 2 10 1.00 * * fildl (%ecx)
-# CHECK-NEXT: 2 10 1.00 * * fildll (%eax)
-# CHECK-NEXT: 1 1 0.50 * fincstp
-# CHECK-NEXT: 15 75 6.00 * fninit
-# CHECK-NEXT: 3 4 1.00 * * fists (%edx)
-# CHECK-NEXT: 3 4 1.00 * * fistl (%ecx)
-# CHECK-NEXT: 3 4 1.00 * * fistps (%edx)
-# CHECK-NEXT: 3 4 1.00 * * fistpl (%ecx)
-# CHECK-NEXT: 3 4 1.00 * * fistpll (%eax)
-# CHECK-NEXT: 3 4 1.00 * * fisttps (%edx)
-# CHECK-NEXT: 3 4 1.00 * * fisttpl (%ecx)
-# CHECK-NEXT: 3 4 1.00 * * fisttpll (%eax)
-# CHECK-NEXT: 1 1 0.25 * fld %st(0)
-# CHECK-NEXT: 1 7 0.50 * * flds (%edx)
-# CHECK-NEXT: 1 7 0.50 * * fldl (%ecx)
-# CHECK-NEXT: 1 7 0.50 * * fldt (%eax)
-# CHECK-NEXT: 3 7 1.00 * * fldcw (%eax)
-# CHECK-NEXT: 64 62 14.00 * fldenv (%eax)
-# CHECK-NEXT: 2 1 1.00 * fld1
-# CHECK-NEXT: 2 1 1.00 * fldl2e
-# CHECK-NEXT: 2 1 1.00 * fldl2t
-# CHECK-NEXT: 2 1 1.00 * fldlg2
-# CHECK-NEXT: 2 1 1.00 * fldln2
-# CHECK-NEXT: 2 1 1.00 * fldpi
-# CHECK-NEXT: 1 1 0.50 * fldz
-# CHECK-NEXT: 1 4 1.00 * fmul %st(0), %st(1)
-# CHECK-NEXT: 1 4 1.00 * fmul %st(2)
-# CHECK-NEXT: 2 11 1.00 * * fmuls (%ecx)
-# CHECK-NEXT: 2 11 1.00 * * fmull (%eax)
-# CHECK-NEXT: 1 4 1.00 * fmulp %st(1)
-# CHECK-NEXT: 1 4 1.00 * fmulp %st(2)
-# CHECK-NEXT: 3 14 1.00 * * fimuls (%ecx)
-# CHECK-NEXT: 3 14 1.00 * * fimull (%eax)
-# CHECK-NEXT: 1 1 0.50 * fnop
-# CHECK-NEXT: 1 100 0.25 * fpatan
-# CHECK-NEXT: 1 100 0.25 * fprem
-# CHECK-NEXT: 1 100 0.25 * fprem1
-# CHECK-NEXT: 1 100 0.25 * fptan
-# CHECK-NEXT: 1 100 0.25 * frndint
-# CHECK-NEXT: 1 100 0.25 * frstor (%eax)
-# CHECK-NEXT: 1 100 0.25 * fnsave (%eax)
-# CHECK-NEXT: 1 100 0.25 * fscale
-# CHECK-NEXT: 1 100 0.25 * fsin
-# CHECK-NEXT: 1 100 0.25 * fsincos
-# CHECK-NEXT: 1 21 7.00 * fsqrt
-# CHECK-NEXT: 1 1 0.25 * fst %st(0)
-# CHECK-NEXT: 1 1 1.00 * * fsts (%edx)
-# CHECK-NEXT: 1 1 1.00 * * fstl (%ecx)
-# CHECK-NEXT: 1 1 0.25 * fstp %st(0)
-# CHECK-NEXT: 2 1 1.00 * * fstpl (%edx)
-# CHECK-NEXT: 2 1 1.00 * * fstpl (%ecx)
-# CHECK-NEXT: 2 1 1.00 * * fstpt (%eax)
-# CHECK-NEXT: 3 2 1.00 * * fnstcw (%eax)
-# CHECK-NEXT: 100 106 19.50 * fnstenv (%eax)
-# CHECK-NEXT: 3 3 1.00 * fnstsw (%eax)
-# CHECK-NEXT: 1 100 0.25 * frstor (%eax)
-# CHECK-NEXT: 2 2 0.50 * wait
-# CHECK-NEXT: 1 100 0.25 * fnsave (%eax)
-# CHECK-NEXT: 1 3 1.00 * fsub %st(0), %st(1)
-# CHECK-NEXT: 1 3 1.00 * fsub %st(2)
-# CHECK-NEXT: 2 10 1.00 * * fsubs (%ecx)
-# CHECK-NEXT: 2 10 1.00 * * fsubl (%eax)
-# CHECK-NEXT: 1 3 1.00 * fsubp %st(1)
-# CHECK-NEXT: 1 3 1.00 * fsubp %st(2)
-# CHECK-NEXT: 3 13 2.00 * * fisubs (%ecx)
-# CHECK-NEXT: 3 13 2.00 * * fisubl (%eax)
-# CHECK-NEXT: 1 3 1.00 * fsubr %st(0), %st(1)
-# CHECK-NEXT: 1 3 1.00 * fsubr %st(2)
-# CHECK-NEXT: 2 10 1.00 * * fsubrs (%ecx)
-# CHECK-NEXT: 2 10 1.00 * * fsubrl (%eax)
-# CHECK-NEXT: 1 3 1.00 * fsubrp %st(1)
-# CHECK-NEXT: 1 3 1.00 * fsubrp %st(2)
-# CHECK-NEXT: 3 13 2.00 * * fisubrs (%ecx)
-# CHECK-NEXT: 3 13 2.00 * * fisubrl (%eax)
-# CHECK-NEXT: 1 2 1.00 * ftst
-# CHECK-NEXT: 1 1 1.00 * fucom %st(1)
-# CHECK-NEXT: 1 1 1.00 * fucom %st(3)
-# CHECK-NEXT: 1 1 1.00 * fucomp %st(1)
-# CHECK-NEXT: 1 1 1.00 * fucomp %st(3)
-# CHECK-NEXT: 1 2 1.00 * fucompp
-# CHECK-NEXT: 1 2 1.00 * fucomi %st(3)
-# CHECK-NEXT: 1 2 1.00 * fucompi %st(3)
-# CHECK-NEXT: 2 2 0.50 * wait
-# CHECK-NEXT: 1 100 0.25 * fxam
-# CHECK-NEXT: 15 17 4.00 * fxch %st(1)
-# CHECK-NEXT: 15 17 4.00 * fxch %st(3)
-# CHECK-NEXT: 90 63 16.50 * * * fxrstor (%eax)
-# CHECK-NEXT: 1 100 0.25 * * * fxsave (%eax)
-# CHECK-NEXT: 1 100 0.25 * fxtract
-# CHECK-NEXT: 1 100 0.25 * fyl2x
-# CHECK-NEXT: 1 100 0.25 * fyl2xp1
+# 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(2)
+# CHECK-NEXT: 2 10 1.00 * U fadds (%ecx)
+# CHECK-NEXT: 2 10 1.00 * U faddl (%ecx)
+# CHECK-NEXT: 1 3 1.00 U faddp %st(1)
+# CHECK-NEXT: 1 3 1.00 U faddp %st(2)
+# CHECK-NEXT: 3 13 2.00 * U fiadds (%ecx)
+# CHECK-NEXT: 3 13 2.00 * U fiaddl (%ecx)
+# CHECK-NEXT: 1 100 0.25 U fbld (%ecx)
+# 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 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)
+# CHECK-NEXT: 2 8 1.00 U fcoml (%eax)
+# CHECK-NEXT: 1 1 1.00 U fcomp %st(1)
+# CHECK-NEXT: 1 1 1.00 U fcomp %st(3)
+# CHECK-NEXT: 2 8 1.00 U fcomps (%ecx)
+# CHECK-NEXT: 2 8 1.00 U fcompl (%eax)
+# CHECK-NEXT: 1 100 0.25 U fcompp
+# CHECK-NEXT: 1 2 1.00 U fcomi %st(3)
+# 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 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)
+# CHECK-NEXT: 1 15 1.00 U fdivp %st(1)
+# 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 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)
+# CHECK-NEXT: 1 20 1.00 U fdivrp %st(1)
+# 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: 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)
+# CHECK-NEXT: 3 11 2.00 U ficompl (%eax)
+# CHECK-NEXT: 2 10 1.00 * U filds (%edx)
+# CHECK-NEXT: 2 10 1.00 * U fildl (%ecx)
+# CHECK-NEXT: 2 10 1.00 * U fildll (%eax)
+# CHECK-NEXT: 1 1 0.50 U fincstp
+# CHECK-NEXT: 15 75 6.00 U fninit
+# CHECK-NEXT: 3 4 1.00 * U fists (%edx)
+# CHECK-NEXT: 3 4 1.00 * U fistl (%ecx)
+# CHECK-NEXT: 3 4 1.00 * U fistps (%edx)
+# CHECK-NEXT: 3 4 1.00 * U fistpl (%ecx)
+# CHECK-NEXT: 3 4 1.00 * U fistpll (%eax)
+# 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 7 0.50 * U flds (%edx)
+# CHECK-NEXT: 1 7 0.50 * U fldl (%ecx)
+# CHECK-NEXT: 1 7 0.50 * U fldt (%eax)
+# CHECK-NEXT: 3 7 1.00 * U fldcw (%eax)
+# CHECK-NEXT: 64 62 14.00 U fldenv (%eax)
+# CHECK-NEXT: 2 1 1.00 U fld1
+# CHECK-NEXT: 2 1 1.00 U fldl2e
+# CHECK-NEXT: 2 1 1.00 U fldl2t
+# CHECK-NEXT: 2 1 1.00 U fldlg2
+# 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(2)
+# CHECK-NEXT: 2 11 1.00 * U fmuls (%ecx)
+# CHECK-NEXT: 2 11 1.00 * U fmull (%eax)
+# CHECK-NEXT: 1 4 1.00 U fmulp %st(1)
+# CHECK-NEXT: 1 4 1.00 U fmulp %st(2)
+# CHECK-NEXT: 3 14 1.00 * U fimuls (%ecx)
+# CHECK-NEXT: 3 14 1.00 * U fimull (%eax)
+# CHECK-NEXT: 1 1 0.50 U fnop
+# CHECK-NEXT: 1 100 0.25 U fpatan
+# CHECK-NEXT: 1 100 0.25 U fprem
+# CHECK-NEXT: 1 100 0.25 U fprem1
+# CHECK-NEXT: 1 100 0.25 U fptan
+# CHECK-NEXT: 1 100 0.25 U frndint
+# CHECK-NEXT: 1 100 0.25 U frstor (%eax)
+# CHECK-NEXT: 1 100 0.25 U fnsave (%eax)
+# CHECK-NEXT: 1 100 0.25 U fscale
+# 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 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: 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)
+# CHECK-NEXT: 3 2 1.00 * U fnstcw (%eax)
+# CHECK-NEXT: 100 106 19.50 U fnstenv (%eax)
+# CHECK-NEXT: 3 3 1.00 U fnstsw (%eax)
+# 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(2)
+# CHECK-NEXT: 2 10 1.00 * U fsubs (%ecx)
+# CHECK-NEXT: 2 10 1.00 * U fsubl (%eax)
+# CHECK-NEXT: 1 3 1.00 U fsubp %st(1)
+# 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(2)
+# CHECK-NEXT: 2 10 1.00 * U fsubrs (%ecx)
+# CHECK-NEXT: 2 10 1.00 * U fsubrl (%eax)
+# CHECK-NEXT: 1 3 1.00 U fsubrp %st(1)
+# CHECK-NEXT: 1 3 1.00 U fsubrp %st(2)
+# CHECK-NEXT: 3 13 2.00 * U fisubrs (%ecx)
+# CHECK-NEXT: 3 13 2.00 * U fisubrl (%eax)
+# CHECK-NEXT: 1 2 1.00 U ftst
+# CHECK-NEXT: 1 1 1.00 U fucom %st(1)
+# CHECK-NEXT: 1 1 1.00 U fucom %st(3)
+# CHECK-NEXT: 1 1 1.00 U fucomp %st(1)
+# CHECK-NEXT: 1 1 1.00 U fucomp %st(3)
+# CHECK-NEXT: 1 2 1.00 U fucompp
+# CHECK-NEXT: 1 2 1.00 U fucomi %st(3)
+# CHECK-NEXT: 1 2 1.00 U fucompi %st(3)
+# CHECK-NEXT: 2 2 0.50 U wait
+# CHECK-NEXT: 1 100 0.25 U fxam
+# CHECK-NEXT: 15 17 4.00 U fxch %st(1)
+# CHECK-NEXT: 15 17 4.00 U fxch %st(3)
+# CHECK-NEXT: 90 63 16.50 * * U fxrstor (%eax)
+# CHECK-NEXT: 1 100 0.25 * * U fxsave (%eax)
+# CHECK-NEXT: 1 100 0.25 U fxtract
+# CHECK-NEXT: 1 100 0.25 U fyl2x
+# CHECK-NEXT: 1 100 0.25 U fyl2xp1
# CHECK: Resources:
# CHECK-NEXT: [0] - SKLDivider
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 1 0.50 adcxl %ebx, %ecx
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 4 0.50 vaddpd %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 2 7 1.00 * vinsertps $1, (%rax), %xmm1, %xmm2
# CHECK-NEXT: 1 6 0.50 * vlddqu (%rax), %xmm2
# CHECK-NEXT: 1 7 0.50 * vlddqu (%rax), %ymm2
-# CHECK-NEXT: 3 7 1.00 * * * vldmxcsr (%rax)
-# CHECK-NEXT: 2 1 1.00 * * * vmaskmovdqu %xmm0, %xmm1
+# CHECK-NEXT: 3 7 1.00 * * U vldmxcsr (%rax)
+# CHECK-NEXT: 2 1 1.00 * * U vmaskmovdqu %xmm0, %xmm1
# CHECK-NEXT: 2 7 0.50 * vmaskmovpd (%rax), %xmm0, %xmm2
# CHECK-NEXT: 2 8 0.50 * vmaskmovpd (%rax), %ymm0, %ymm2
# CHECK-NEXT: 2 2 1.00 * * vmaskmovpd %xmm0, %xmm1, (%rax)
# CHECK-NEXT: 2 1 1.00 * vmovlpd %xmm0, (%rax)
# CHECK-NEXT: 2 6 1.00 * vmovlpd (%rax), %xmm1, %xmm2
# CHECK-NEXT: 2 1 1.00 * vmovlps %xmm0, (%rax)
-# CHECK-NEXT: 2 6 1.00 * vmovlps (%rax), %xmm1, %xmm2
+# CHECK-NEXT: 2 6 1.00 U vmovlps (%rax), %xmm1, %xmm2
# CHECK-NEXT: 1 2 1.00 vmovmskpd %xmm0, %ecx
# CHECK-NEXT: 1 2 1.00 vmovmskpd %ymm0, %ecx
# CHECK-NEXT: 1 2 1.00 vmovmskps %xmm0, %ecx
# CHECK-NEXT: 2 23 6.00 * vsqrtsd (%rax), %xmm1, %xmm2
# CHECK-NEXT: 1 12 3.00 vsqrtss %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 2 17 3.00 * vsqrtss (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 3 2 1.00 * * * vstmxcsr (%rax)
+# CHECK-NEXT: 3 2 1.00 * * U vstmxcsr (%rax)
# CHECK-NEXT: 1 4 0.50 vsubpd %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 2 10 0.50 * vsubpd (%rax), %xmm1, %xmm2
# CHECK-NEXT: 1 4 0.50 vsubpd %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 2 7 0.50 * vxorps (%rax), %xmm1, %xmm2
# CHECK-NEXT: 1 1 0.33 vxorps %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 2 8 0.50 * vxorps (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 16 16 4.00 * * * vzeroall
-# CHECK-NEXT: 4 4 1.00 * * * vzeroupper
+# CHECK-NEXT: 16 16 4.00 * * U vzeroall
+# CHECK-NEXT: 4 4 1.00 * * U vzeroupper
# CHECK: Resources:
# CHECK-NEXT: [0] - SKXDivider
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 7 0.50 * vbroadcasti128 (%rax), %ymm0
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 1 0.50 andnl %eax, %ebx, %ecx
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 1 0.50 bzhil %eax, %ebx, %ecx
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 1 0.50 cmovow %si, %di
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 2 5 1.00 vcvtph2ps %xmm0, %xmm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 4 0.50 vfmadd132pd %xmm0, %xmm1, %xmm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 3 1.00 lzcntw %cx, %cx
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
-# CHECK-NEXT: 10 10 4.50 * * * emms
+# CHECK-NEXT: 10 10 4.50 * * U emms
# CHECK-NEXT: 1 1 1.00 movd %eax, %mm2
# CHECK-NEXT: 1 5 0.50 * movd (%rax), %mm2
# CHECK-NEXT: 1 2 1.00 movd %mm0, %ecx
-# CHECK-NEXT: 2 1 1.00 * * movd %mm0, (%rax)
+# CHECK-NEXT: 2 1 1.00 * U movd %mm0, (%rax)
# CHECK-NEXT: 1 1 1.00 movq %rax, %mm2
# CHECK-NEXT: 1 5 0.50 * movq (%rax), %mm2
# CHECK-NEXT: 1 2 1.00 movq %mm0, %rcx
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 3 1.00 popcntw %cx, %cx
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 4 0.50 addps %xmm0, %xmm2
# CHECK-NEXT: 2 17 5.00 * divps (%rax), %xmm2
# CHECK-NEXT: 1 11 3.00 divss %xmm0, %xmm2
# CHECK-NEXT: 2 16 3.00 * divss (%rax), %xmm2
-# CHECK-NEXT: 3 7 1.00 * * * ldmxcsr (%rax)
-# CHECK-NEXT: 1 1 1.00 * * * maskmovq %mm0, %mm1
+# CHECK-NEXT: 3 7 1.00 * * U ldmxcsr (%rax)
+# CHECK-NEXT: 1 1 1.00 * * U maskmovq %mm0, %mm1
# CHECK-NEXT: 1 4 0.50 maxps %xmm0, %xmm2
# CHECK-NEXT: 2 10 0.50 * maxps (%rax), %xmm2
# CHECK-NEXT: 1 4 0.50 maxss %xmm0, %xmm2
# CHECK-NEXT: 2 1 1.00 * movhps %xmm0, (%rax)
# CHECK-NEXT: 2 6 1.00 * movhps (%rax), %xmm2
# CHECK-NEXT: 2 1 1.00 * movlps %xmm0, (%rax)
-# CHECK-NEXT: 2 6 1.00 * movlps (%rax), %xmm2
+# CHECK-NEXT: 2 6 1.00 U movlps (%rax), %xmm2
# CHECK-NEXT: 1 2 1.00 movmskps %xmm0, %ecx
# CHECK-NEXT: 2 1 1.00 * movntps %xmm0, (%rax)
-# CHECK-NEXT: 2 1 1.00 * * * movntq %mm0, (%rax)
+# CHECK-NEXT: 2 1 1.00 * * U movntq %mm0, (%rax)
# CHECK-NEXT: 1 1 1.00 movss %xmm0, %xmm2
# CHECK-NEXT: 2 1 1.00 * movss %xmm0, (%rax)
# CHECK-NEXT: 1 5 0.50 * movss (%rax), %xmm2
# CHECK-NEXT: 2 10 1.00 * rsqrtps (%rax), %xmm2
# CHECK-NEXT: 1 4 1.00 rsqrtss %xmm0, %xmm2
# CHECK-NEXT: 2 9 1.00 * rsqrtss (%rax), %xmm2
-# CHECK-NEXT: 2 2 0.33 * * * sfence
+# CHECK-NEXT: 2 2 0.33 * * U sfence
# CHECK-NEXT: 1 1 1.00 shufps $1, %xmm0, %xmm2
# CHECK-NEXT: 2 7 1.00 * shufps $1, (%rax), %xmm2
# CHECK-NEXT: 1 12 3.00 sqrtps %xmm0, %xmm2
# CHECK-NEXT: 2 18 3.00 * sqrtps (%rax), %xmm2
# CHECK-NEXT: 1 12 3.00 sqrtss %xmm0, %xmm2
# CHECK-NEXT: 2 17 3.00 * sqrtss (%rax), %xmm2
-# CHECK-NEXT: 3 2 1.00 * * * stmxcsr (%rax)
+# CHECK-NEXT: 3 2 1.00 * * U stmxcsr (%rax)
# CHECK-NEXT: 1 4 0.50 subps %xmm0, %xmm2
# CHECK-NEXT: 2 10 0.50 * subps (%rax), %xmm2
# CHECK-NEXT: 1 4 0.50 subss %xmm0, %xmm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 4 0.50 addpd %xmm0, %xmm2
# CHECK-NEXT: 2 7 0.50 * andnpd (%rax), %xmm2
# CHECK-NEXT: 1 1 0.33 andpd %xmm0, %xmm2
# CHECK-NEXT: 2 7 0.50 * andpd (%rax), %xmm2
-# CHECK-NEXT: 2 2 1.00 * * * clflush (%rax)
+# CHECK-NEXT: 2 2 1.00 * * U clflush (%rax)
# CHECK-NEXT: 1 4 0.50 cmppd $0, %xmm0, %xmm2
# CHECK-NEXT: 2 10 0.50 * cmppd $0, (%rax), %xmm2
# CHECK-NEXT: 1 4 0.50 cmpsd $0, %xmm0, %xmm2
# CHECK-NEXT: 2 20 4.00 * divpd (%rax), %xmm2
# CHECK-NEXT: 1 14 3.00 divsd %xmm0, %xmm2
# CHECK-NEXT: 2 19 4.00 * divsd (%rax), %xmm2
-# CHECK-NEXT: 2 2 0.50 * * * lfence
-# CHECK-NEXT: 2 1 1.00 * * * maskmovdqu %xmm0, %xmm1
+# CHECK-NEXT: 2 2 0.50 * * U lfence
+# CHECK-NEXT: 2 1 1.00 * * U maskmovdqu %xmm0, %xmm1
# CHECK-NEXT: 1 4 0.50 maxpd %xmm0, %xmm2
# CHECK-NEXT: 2 10 0.50 * maxpd (%rax), %xmm2
# CHECK-NEXT: 1 4 0.50 maxsd %xmm0, %xmm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 4 0.50 addsubpd %xmm0, %xmm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 1 0.33 blendpd $11, %xmm0, %xmm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 3 1.00 crc32b %al, %ecx
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 1 0.50 pabsb %mm0, %mm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 2 2 0.50 adcb $7, %al
# CHECK-NEXT: 4 6 1.00 * * btcq $7, (%rax)
# CHECK-NEXT: 4 6 1.00 * * btrq $7, (%rax)
# CHECK-NEXT: 4 6 1.00 * * btsq $7, (%rax)
-# CHECK-NEXT: 1 1 0.17 * clc
+# CHECK-NEXT: 1 1 0.17 U clc
# CHECK-NEXT: 1 1 0.25 decb %dil
# CHECK-NEXT: 3 7 1.00 * * decb (%rax)
# CHECK-NEXT: 1 1 0.25 decw %di
# CHECK-NEXT: 3 7 1.00 * * decl (%rax)
# CHECK-NEXT: 1 1 0.25 decq %rdi
# CHECK-NEXT: 3 7 1.00 * * decq (%rax)
-# CHECK-NEXT: 1 25 10.00 * divb %dil
-# CHECK-NEXT: 2 29 10.00 * * divb (%rax)
-# CHECK-NEXT: 32 76 8.00 * divw %si
-# CHECK-NEXT: 2 29 10.00 * * divw (%rax)
-# CHECK-NEXT: 32 76 8.00 * divl %edx
-# CHECK-NEXT: 2 29 10.00 * * divl (%rax)
-# CHECK-NEXT: 32 76 8.00 * divq %rcx
-# CHECK-NEXT: 2 29 10.00 * * divq (%rax)
-# CHECK-NEXT: 1 25 10.00 * idivb %dil
-# CHECK-NEXT: 8 28 4.00 * * idivb (%rax)
-# CHECK-NEXT: 66 102 16.50 * idivw %si
-# CHECK-NEXT: 8 28 4.00 * * idivw (%rax)
-# CHECK-NEXT: 66 102 16.50 * idivl %edx
-# CHECK-NEXT: 8 28 4.00 * * idivl (%rax)
-# CHECK-NEXT: 66 102 16.50 * idivq %rcx
-# CHECK-NEXT: 8 28 4.00 * * idivq (%rax)
+# CHECK-NEXT: 1 25 10.00 U divb %dil
+# CHECK-NEXT: 2 29 10.00 * U divb (%rax)
+# CHECK-NEXT: 32 76 8.00 U divw %si
+# CHECK-NEXT: 2 29 10.00 * U divw (%rax)
+# CHECK-NEXT: 32 76 8.00 U divl %edx
+# CHECK-NEXT: 2 29 10.00 * U divl (%rax)
+# CHECK-NEXT: 32 76 8.00 U divq %rcx
+# CHECK-NEXT: 2 29 10.00 * U divq (%rax)
+# CHECK-NEXT: 1 25 10.00 U idivb %dil
+# CHECK-NEXT: 8 28 4.00 * U idivb (%rax)
+# CHECK-NEXT: 66 102 16.50 U idivw %si
+# CHECK-NEXT: 8 28 4.00 * U idivw (%rax)
+# CHECK-NEXT: 66 102 16.50 U idivl %edx
+# CHECK-NEXT: 8 28 4.00 * U idivl (%rax)
+# CHECK-NEXT: 66 102 16.50 U idivq %rcx
+# CHECK-NEXT: 8 28 4.00 * U idivq (%rax)
# CHECK-NEXT: 1 3 1.00 imulb %dil
# CHECK-NEXT: 2 8 1.00 * imulb (%rax)
# CHECK-NEXT: 4 4 1.00 imulw %di
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
-# CHECK-NEXT: 1 100 0.25 * f2xm1
-# CHECK-NEXT: 1 1 1.00 * fabs
-# CHECK-NEXT: 1 3 1.00 * fadd %st(0), %st(1)
-# CHECK-NEXT: 1 3 1.00 * fadd %st(2)
-# CHECK-NEXT: 2 10 1.00 * * fadds (%ecx)
-# CHECK-NEXT: 2 10 1.00 * * faddl (%ecx)
-# CHECK-NEXT: 1 3 1.00 * faddp %st(1)
-# CHECK-NEXT: 1 3 1.00 * faddp %st(2)
-# CHECK-NEXT: 3 13 2.00 * * fiadds (%ecx)
-# CHECK-NEXT: 3 13 2.00 * * fiaddl (%ecx)
-# CHECK-NEXT: 1 100 0.25 * fbld (%ecx)
-# CHECK-NEXT: 2 1 1.00 * fbstp (%eax)
-# CHECK-NEXT: 1 1 1.00 * fchs
-# CHECK-NEXT: 4 4 1.00 * fnclex
-# CHECK-NEXT: 1 3 1.00 * fcmovb %st(1), %st(0)
-# CHECK-NEXT: 1 3 1.00 * fcmovbe %st(1), %st(0)
-# CHECK-NEXT: 1 3 1.00 * fcmove %st(1), %st(0)
-# CHECK-NEXT: 1 3 1.00 * fcmovnb %st(1), %st(0)
-# CHECK-NEXT: 1 3 1.00 * fcmovnbe %st(1), %st(0)
-# CHECK-NEXT: 1 3 1.00 * fcmovne %st(1), %st(0)
-# CHECK-NEXT: 1 3 1.00 * fcmovnu %st(1), %st(0)
-# CHECK-NEXT: 1 3 1.00 * fcmovu %st(1), %st(0)
-# CHECK-NEXT: 1 1 1.00 * fcom %st(1)
-# CHECK-NEXT: 1 1 1.00 * fcom %st(3)
-# CHECK-NEXT: 2 8 1.00 * fcoms (%ecx)
-# CHECK-NEXT: 2 8 1.00 * fcoml (%eax)
-# CHECK-NEXT: 1 1 1.00 * fcomp %st(1)
-# CHECK-NEXT: 1 1 1.00 * fcomp %st(3)
-# CHECK-NEXT: 2 8 1.00 * fcomps (%ecx)
-# CHECK-NEXT: 2 8 1.00 * fcompl (%eax)
-# CHECK-NEXT: 1 100 0.25 * fcompp
-# CHECK-NEXT: 1 2 1.00 * fcomi %st(3)
-# CHECK-NEXT: 1 2 1.00 * fcompi %st(3)
-# CHECK-NEXT: 1 100 0.25 * fcos
-# CHECK-NEXT: 2 2 1.00 * fdecstp
-# CHECK-NEXT: 1 15 1.00 * fdiv %st(0), %st(1)
-# CHECK-NEXT: 1 20 1.00 * fdiv %st(2)
-# CHECK-NEXT: 2 22 1.00 * * fdivs (%ecx)
-# CHECK-NEXT: 2 22 1.00 * * fdivl (%eax)
-# CHECK-NEXT: 1 15 1.00 * fdivp %st(1)
-# CHECK-NEXT: 1 15 1.00 * fdivp %st(2)
-# CHECK-NEXT: 3 25 1.00 * * fidivs (%ecx)
-# CHECK-NEXT: 3 25 1.00 * * fidivl (%eax)
-# CHECK-NEXT: 1 20 1.00 * fdivr %st(0), %st(1)
-# CHECK-NEXT: 1 15 1.00 * fdivr %st(2)
-# CHECK-NEXT: 2 27 1.00 * * fdivrs (%ecx)
-# CHECK-NEXT: 2 27 1.00 * * fdivrl (%eax)
-# CHECK-NEXT: 1 20 1.00 * fdivrp %st(1)
-# CHECK-NEXT: 1 20 1.00 * fdivrp %st(2)
-# CHECK-NEXT: 3 30 1.00 * * fidivrs (%ecx)
-# CHECK-NEXT: 3 30 1.00 * * fidivrl (%eax)
-# CHECK-NEXT: 1 100 0.25 * ffree %st(0)
-# CHECK-NEXT: 3 11 2.00 * ficoms (%ecx)
-# CHECK-NEXT: 3 11 2.00 * ficoml (%eax)
-# CHECK-NEXT: 3 11 2.00 * ficomps (%ecx)
-# CHECK-NEXT: 3 11 2.00 * ficompl (%eax)
-# CHECK-NEXT: 2 10 1.00 * * filds (%edx)
-# CHECK-NEXT: 2 10 1.00 * * fildl (%ecx)
-# CHECK-NEXT: 2 10 1.00 * * fildll (%eax)
-# CHECK-NEXT: 1 1 0.50 * fincstp
-# CHECK-NEXT: 15 75 6.00 * fninit
-# CHECK-NEXT: 3 4 1.00 * * fists (%edx)
-# CHECK-NEXT: 3 4 1.00 * * fistl (%ecx)
-# CHECK-NEXT: 3 4 1.00 * * fistps (%edx)
-# CHECK-NEXT: 3 4 1.00 * * fistpl (%ecx)
-# CHECK-NEXT: 3 4 1.00 * * fistpll (%eax)
-# CHECK-NEXT: 3 4 1.00 * * fisttps (%edx)
-# CHECK-NEXT: 3 4 1.00 * * fisttpl (%ecx)
-# CHECK-NEXT: 3 4 1.00 * * fisttpll (%eax)
-# CHECK-NEXT: 1 1 0.25 * fld %st(0)
-# CHECK-NEXT: 1 7 0.50 * * flds (%edx)
-# CHECK-NEXT: 1 7 0.50 * * fldl (%ecx)
-# CHECK-NEXT: 1 7 0.50 * * fldt (%eax)
-# CHECK-NEXT: 3 7 1.00 * * fldcw (%eax)
-# CHECK-NEXT: 64 62 14.00 * fldenv (%eax)
-# CHECK-NEXT: 2 1 1.00 * fld1
-# CHECK-NEXT: 2 1 1.00 * fldl2e
-# CHECK-NEXT: 2 1 1.00 * fldl2t
-# CHECK-NEXT: 2 1 1.00 * fldlg2
-# CHECK-NEXT: 2 1 1.00 * fldln2
-# CHECK-NEXT: 2 1 1.00 * fldpi
-# CHECK-NEXT: 1 1 0.50 * fldz
-# CHECK-NEXT: 1 4 1.00 * fmul %st(0), %st(1)
-# CHECK-NEXT: 1 4 1.00 * fmul %st(2)
-# CHECK-NEXT: 2 11 1.00 * * fmuls (%ecx)
-# CHECK-NEXT: 2 11 1.00 * * fmull (%eax)
-# CHECK-NEXT: 1 4 1.00 * fmulp %st(1)
-# CHECK-NEXT: 1 4 1.00 * fmulp %st(2)
-# CHECK-NEXT: 3 14 1.00 * * fimuls (%ecx)
-# CHECK-NEXT: 3 14 1.00 * * fimull (%eax)
-# CHECK-NEXT: 1 1 0.50 * fnop
-# CHECK-NEXT: 1 100 0.25 * fpatan
-# CHECK-NEXT: 1 100 0.25 * fprem
-# CHECK-NEXT: 1 100 0.25 * fprem1
-# CHECK-NEXT: 1 100 0.25 * fptan
-# CHECK-NEXT: 1 100 0.25 * frndint
-# CHECK-NEXT: 1 100 0.25 * frstor (%eax)
-# CHECK-NEXT: 1 100 0.25 * fnsave (%eax)
-# CHECK-NEXT: 1 100 0.25 * fscale
-# CHECK-NEXT: 1 100 0.25 * fsin
-# CHECK-NEXT: 1 100 0.25 * fsincos
-# CHECK-NEXT: 1 21 7.00 * fsqrt
-# CHECK-NEXT: 1 1 0.25 * fst %st(0)
-# CHECK-NEXT: 1 1 1.00 * * fsts (%edx)
-# CHECK-NEXT: 1 1 1.00 * * fstl (%ecx)
-# CHECK-NEXT: 1 1 0.25 * fstp %st(0)
-# CHECK-NEXT: 2 1 1.00 * * fstpl (%edx)
-# CHECK-NEXT: 2 1 1.00 * * fstpl (%ecx)
-# CHECK-NEXT: 2 1 1.00 * * fstpt (%eax)
-# CHECK-NEXT: 3 2 1.00 * * fnstcw (%eax)
-# CHECK-NEXT: 100 106 19.50 * fnstenv (%eax)
-# CHECK-NEXT: 3 3 1.00 * fnstsw (%eax)
-# CHECK-NEXT: 1 100 0.25 * frstor (%eax)
-# CHECK-NEXT: 2 2 0.50 * wait
-# CHECK-NEXT: 1 100 0.25 * fnsave (%eax)
-# CHECK-NEXT: 1 3 1.00 * fsub %st(0), %st(1)
-# CHECK-NEXT: 1 3 1.00 * fsub %st(2)
-# CHECK-NEXT: 2 10 1.00 * * fsubs (%ecx)
-# CHECK-NEXT: 2 10 1.00 * * fsubl (%eax)
-# CHECK-NEXT: 1 3 1.00 * fsubp %st(1)
-# CHECK-NEXT: 1 3 1.00 * fsubp %st(2)
-# CHECK-NEXT: 3 13 2.00 * * fisubs (%ecx)
-# CHECK-NEXT: 3 13 2.00 * * fisubl (%eax)
-# CHECK-NEXT: 1 3 1.00 * fsubr %st(0), %st(1)
-# CHECK-NEXT: 1 3 1.00 * fsubr %st(2)
-# CHECK-NEXT: 2 10 1.00 * * fsubrs (%ecx)
-# CHECK-NEXT: 2 10 1.00 * * fsubrl (%eax)
-# CHECK-NEXT: 1 3 1.00 * fsubrp %st(1)
-# CHECK-NEXT: 1 3 1.00 * fsubrp %st(2)
-# CHECK-NEXT: 3 13 2.00 * * fisubrs (%ecx)
-# CHECK-NEXT: 3 13 2.00 * * fisubrl (%eax)
-# CHECK-NEXT: 1 2 1.00 * ftst
-# CHECK-NEXT: 1 1 1.00 * fucom %st(1)
-# CHECK-NEXT: 1 1 1.00 * fucom %st(3)
-# CHECK-NEXT: 1 1 1.00 * fucomp %st(1)
-# CHECK-NEXT: 1 1 1.00 * fucomp %st(3)
-# CHECK-NEXT: 1 2 1.00 * fucompp
-# CHECK-NEXT: 1 2 1.00 * fucomi %st(3)
-# CHECK-NEXT: 1 2 1.00 * fucompi %st(3)
-# CHECK-NEXT: 2 2 0.50 * wait
-# CHECK-NEXT: 1 100 0.25 * fxam
-# CHECK-NEXT: 15 17 4.00 * fxch %st(1)
-# CHECK-NEXT: 15 17 4.00 * fxch %st(3)
-# CHECK-NEXT: 90 63 16.50 * * * fxrstor (%eax)
-# CHECK-NEXT: 1 100 0.25 * * * fxsave (%eax)
-# CHECK-NEXT: 1 100 0.25 * fxtract
-# CHECK-NEXT: 1 100 0.25 * fyl2x
-# CHECK-NEXT: 1 100 0.25 * fyl2xp1
+# 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(2)
+# CHECK-NEXT: 2 10 1.00 * U fadds (%ecx)
+# CHECK-NEXT: 2 10 1.00 * U faddl (%ecx)
+# CHECK-NEXT: 1 3 1.00 U faddp %st(1)
+# CHECK-NEXT: 1 3 1.00 U faddp %st(2)
+# CHECK-NEXT: 3 13 2.00 * U fiadds (%ecx)
+# CHECK-NEXT: 3 13 2.00 * U fiaddl (%ecx)
+# CHECK-NEXT: 1 100 0.25 U fbld (%ecx)
+# 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 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)
+# CHECK-NEXT: 2 8 1.00 U fcoml (%eax)
+# CHECK-NEXT: 1 1 1.00 U fcomp %st(1)
+# CHECK-NEXT: 1 1 1.00 U fcomp %st(3)
+# CHECK-NEXT: 2 8 1.00 U fcomps (%ecx)
+# CHECK-NEXT: 2 8 1.00 U fcompl (%eax)
+# CHECK-NEXT: 1 100 0.25 U fcompp
+# CHECK-NEXT: 1 2 1.00 U fcomi %st(3)
+# 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 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)
+# CHECK-NEXT: 1 15 1.00 U fdivp %st(1)
+# 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 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)
+# CHECK-NEXT: 1 20 1.00 U fdivrp %st(1)
+# 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: 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)
+# CHECK-NEXT: 3 11 2.00 U ficompl (%eax)
+# CHECK-NEXT: 2 10 1.00 * U filds (%edx)
+# CHECK-NEXT: 2 10 1.00 * U fildl (%ecx)
+# CHECK-NEXT: 2 10 1.00 * U fildll (%eax)
+# CHECK-NEXT: 1 1 0.50 U fincstp
+# CHECK-NEXT: 15 75 6.00 U fninit
+# CHECK-NEXT: 3 4 1.00 * U fists (%edx)
+# CHECK-NEXT: 3 4 1.00 * U fistl (%ecx)
+# CHECK-NEXT: 3 4 1.00 * U fistps (%edx)
+# CHECK-NEXT: 3 4 1.00 * U fistpl (%ecx)
+# CHECK-NEXT: 3 4 1.00 * U fistpll (%eax)
+# 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 7 0.50 * U flds (%edx)
+# CHECK-NEXT: 1 7 0.50 * U fldl (%ecx)
+# CHECK-NEXT: 1 7 0.50 * U fldt (%eax)
+# CHECK-NEXT: 3 7 1.00 * U fldcw (%eax)
+# CHECK-NEXT: 64 62 14.00 U fldenv (%eax)
+# CHECK-NEXT: 2 1 1.00 U fld1
+# CHECK-NEXT: 2 1 1.00 U fldl2e
+# CHECK-NEXT: 2 1 1.00 U fldl2t
+# CHECK-NEXT: 2 1 1.00 U fldlg2
+# 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(2)
+# CHECK-NEXT: 2 11 1.00 * U fmuls (%ecx)
+# CHECK-NEXT: 2 11 1.00 * U fmull (%eax)
+# CHECK-NEXT: 1 4 1.00 U fmulp %st(1)
+# CHECK-NEXT: 1 4 1.00 U fmulp %st(2)
+# CHECK-NEXT: 3 14 1.00 * U fimuls (%ecx)
+# CHECK-NEXT: 3 14 1.00 * U fimull (%eax)
+# CHECK-NEXT: 1 1 0.50 U fnop
+# CHECK-NEXT: 1 100 0.25 U fpatan
+# CHECK-NEXT: 1 100 0.25 U fprem
+# CHECK-NEXT: 1 100 0.25 U fprem1
+# CHECK-NEXT: 1 100 0.25 U fptan
+# CHECK-NEXT: 1 100 0.25 U frndint
+# CHECK-NEXT: 1 100 0.25 U frstor (%eax)
+# CHECK-NEXT: 1 100 0.25 U fnsave (%eax)
+# CHECK-NEXT: 1 100 0.25 U fscale
+# 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 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: 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)
+# CHECK-NEXT: 3 2 1.00 * U fnstcw (%eax)
+# CHECK-NEXT: 100 106 19.50 U fnstenv (%eax)
+# CHECK-NEXT: 3 3 1.00 U fnstsw (%eax)
+# 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(2)
+# CHECK-NEXT: 2 10 1.00 * U fsubs (%ecx)
+# CHECK-NEXT: 2 10 1.00 * U fsubl (%eax)
+# CHECK-NEXT: 1 3 1.00 U fsubp %st(1)
+# 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(2)
+# CHECK-NEXT: 2 10 1.00 * U fsubrs (%ecx)
+# CHECK-NEXT: 2 10 1.00 * U fsubrl (%eax)
+# CHECK-NEXT: 1 3 1.00 U fsubrp %st(1)
+# CHECK-NEXT: 1 3 1.00 U fsubrp %st(2)
+# CHECK-NEXT: 3 13 2.00 * U fisubrs (%ecx)
+# CHECK-NEXT: 3 13 2.00 * U fisubrl (%eax)
+# CHECK-NEXT: 1 2 1.00 U ftst
+# CHECK-NEXT: 1 1 1.00 U fucom %st(1)
+# CHECK-NEXT: 1 1 1.00 U fucom %st(3)
+# CHECK-NEXT: 1 1 1.00 U fucomp %st(1)
+# CHECK-NEXT: 1 1 1.00 U fucomp %st(3)
+# CHECK-NEXT: 1 2 1.00 U fucompp
+# CHECK-NEXT: 1 2 1.00 U fucomi %st(3)
+# CHECK-NEXT: 1 2 1.00 U fucompi %st(3)
+# CHECK-NEXT: 2 2 0.50 U wait
+# CHECK-NEXT: 1 100 0.25 U fxam
+# CHECK-NEXT: 15 17 4.00 U fxch %st(1)
+# CHECK-NEXT: 15 17 4.00 U fxch %st(3)
+# CHECK-NEXT: 90 63 16.50 * * U fxrstor (%eax)
+# CHECK-NEXT: 1 100 0.25 * * U fxsave (%eax)
+# CHECK-NEXT: 1 100 0.25 U fxtract
+# CHECK-NEXT: 1 100 0.25 U fyl2x
+# CHECK-NEXT: 1 100 0.25 U fyl2xp1
# CHECK: Resources:
# CHECK-NEXT: [0] - SKXDivider
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 1 0.25 adcxl %ebx, %ecx
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 3 1.00 vaddpd %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 8 0.50 * vinsertps $1, (%rax), %xmm1, %xmm2
# CHECK-NEXT: 1 8 0.50 * vlddqu (%rax), %xmm2
# CHECK-NEXT: 1 8 0.50 * vlddqu (%rax), %ymm2
-# CHECK-NEXT: 1 100 0.25 * * * vldmxcsr (%rax)
-# CHECK-NEXT: 1 100 0.25 * * * vmaskmovdqu %xmm0, %xmm1
+# CHECK-NEXT: 1 100 0.25 * * U vldmxcsr (%rax)
+# CHECK-NEXT: 1 100 0.25 * * U vmaskmovdqu %xmm0, %xmm1
# CHECK-NEXT: 1 8 0.50 * vmaskmovpd (%rax), %xmm0, %xmm2
# CHECK-NEXT: 2 8 1.00 * vmaskmovpd (%rax), %ymm0, %ymm2
# CHECK-NEXT: 1 4 0.50 * * vmaskmovpd %xmm0, %xmm1, (%rax)
# CHECK-NEXT: 1 1 0.50 * vmovlpd %xmm0, (%rax)
# CHECK-NEXT: 1 8 0.50 * vmovlpd (%rax), %xmm1, %xmm2
# CHECK-NEXT: 1 1 0.50 * vmovlps %xmm0, (%rax)
-# CHECK-NEXT: 1 8 0.50 * vmovlps (%rax), %xmm1, %xmm2
+# CHECK-NEXT: 1 8 0.50 U vmovlps (%rax), %xmm1, %xmm2
# CHECK-NEXT: 1 1 1.00 vmovmskpd %xmm0, %ecx
# CHECK-NEXT: 1 1 1.00 vmovmskpd %ymm0, %ecx
# CHECK-NEXT: 1 1 1.00 vmovmskps %xmm0, %ecx
# CHECK-NEXT: 1 27 20.00 * vsqrtsd (%rax), %xmm1, %xmm2
# CHECK-NEXT: 1 20 20.00 vsqrtss %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 27 20.00 * vsqrtss (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 100 0.25 * * * vstmxcsr (%rax)
+# CHECK-NEXT: 1 100 0.25 * * U vstmxcsr (%rax)
# CHECK-NEXT: 1 3 1.00 vsubpd %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 10 1.00 * vsubpd (%rax), %xmm1, %xmm2
# CHECK-NEXT: 1 3 1.00 vsubpd %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 1 8 0.50 * vxorps (%rax), %xmm1, %xmm2
# CHECK-NEXT: 1 1 0.25 vxorps %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 1 8 0.50 * vxorps (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 1 100 0.25 * * * vzeroall
-# CHECK-NEXT: 1 100 0.25 * * * vzeroupper
+# CHECK-NEXT: 1 100 0.25 * * U vzeroall
+# CHECK-NEXT: 1 100 0.25 * * U vzeroupper
# CHECK: Resources:
# CHECK-NEXT: [0] - ZnAGU0
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 8 0.50 * vbroadcasti128 (%rax), %ymm0
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 1 0.25 andnl %eax, %ebx, %ecx
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 1 0.25 bzhil %eax, %ebx, %ecx
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 1 0.25 cmovow %si, %di
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 100 0.25 vcvtph2ps %xmm0, %xmm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 5 0.50 vfmadd132pd %xmm0, %xmm1, %xmm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 2 0.25 lzcntw %cx, %cx
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
-# CHECK-NEXT: 1 2 0.25 * * * emms
+# CHECK-NEXT: 1 2 0.25 * * U emms
# CHECK-NEXT: 1 3 1.00 movd %eax, %mm2
# CHECK-NEXT: 1 8 0.50 * movd (%rax), %mm2
# CHECK-NEXT: 1 2 1.00 movd %mm0, %ecx
-# CHECK-NEXT: 1 1 0.50 * * movd %mm0, (%rax)
+# CHECK-NEXT: 1 1 0.50 * U movd %mm0, (%rax)
# CHECK-NEXT: 1 3 1.00 movq %rax, %mm2
# CHECK-NEXT: 1 8 0.50 * movq (%rax), %mm2
# CHECK-NEXT: 1 2 1.00 movq %mm0, %rcx
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 1 0.25 popcntw %cx, %cx
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 3 1.00 addps %xmm0, %xmm2
# CHECK-NEXT: 1 22 1.00 * divps (%rax), %xmm2
# CHECK-NEXT: 1 15 1.00 divss %xmm0, %xmm2
# CHECK-NEXT: 1 22 1.00 * divss (%rax), %xmm2
-# CHECK-NEXT: 1 100 0.25 * * * ldmxcsr (%rax)
-# CHECK-NEXT: 1 100 0.25 * * * maskmovq %mm0, %mm1
+# CHECK-NEXT: 1 100 0.25 * * U ldmxcsr (%rax)
+# CHECK-NEXT: 1 100 0.25 * * U maskmovq %mm0, %mm1
# CHECK-NEXT: 1 3 1.00 maxps %xmm0, %xmm2
# CHECK-NEXT: 1 10 1.00 * maxps (%rax), %xmm2
# CHECK-NEXT: 1 3 1.00 maxss %xmm0, %xmm2
# CHECK-NEXT: 1 1 0.50 * movhps %xmm0, (%rax)
# CHECK-NEXT: 1 8 0.50 * movhps (%rax), %xmm2
# CHECK-NEXT: 1 1 0.50 * movlps %xmm0, (%rax)
-# CHECK-NEXT: 1 8 0.50 * movlps (%rax), %xmm2
+# CHECK-NEXT: 1 8 0.50 U movlps (%rax), %xmm2
# CHECK-NEXT: 1 1 1.00 movmskps %xmm0, %ecx
# CHECK-NEXT: 1 1 0.50 * movntps %xmm0, (%rax)
-# CHECK-NEXT: 1 1 0.50 * * * movntq %mm0, (%rax)
+# CHECK-NEXT: 1 1 0.50 * * U movntq %mm0, (%rax)
# CHECK-NEXT: 1 1 0.50 movss %xmm0, %xmm2
# CHECK-NEXT: 1 1 0.50 * movss %xmm0, (%rax)
# CHECK-NEXT: 1 8 0.50 * movss (%rax), %xmm2
# CHECK-NEXT: 2 12 0.50 * rsqrtps (%rax), %xmm2
# CHECK-NEXT: 1 5 0.50 rsqrtss %xmm0, %xmm2
# CHECK-NEXT: 2 12 1.00 * rsqrtss (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.50 * * * sfence
+# CHECK-NEXT: 1 1 0.50 * * U sfence
# CHECK-NEXT: 1 1 0.50 shufps $1, %xmm0, %xmm2
# CHECK-NEXT: 1 8 0.50 * shufps $1, (%rax), %xmm2
# CHECK-NEXT: 1 20 20.00 sqrtps %xmm0, %xmm2
# CHECK-NEXT: 1 27 20.00 * sqrtps (%rax), %xmm2
# CHECK-NEXT: 1 20 20.00 sqrtss %xmm0, %xmm2
# CHECK-NEXT: 1 27 20.00 * sqrtss (%rax), %xmm2
-# CHECK-NEXT: 1 100 0.25 * * * stmxcsr (%rax)
+# CHECK-NEXT: 1 100 0.25 * * U stmxcsr (%rax)
# CHECK-NEXT: 1 3 1.00 subps %xmm0, %xmm2
# CHECK-NEXT: 1 10 1.00 * subps (%rax), %xmm2
# CHECK-NEXT: 1 3 1.00 subss %xmm0, %xmm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 3 1.00 addpd %xmm0, %xmm2
# CHECK-NEXT: 1 8 0.50 * andnpd (%rax), %xmm2
# CHECK-NEXT: 1 1 0.25 andpd %xmm0, %xmm2
# CHECK-NEXT: 1 8 0.50 * andpd (%rax), %xmm2
-# CHECK-NEXT: 1 8 0.50 * * * clflush (%rax)
+# CHECK-NEXT: 1 8 0.50 * * U clflush (%rax)
# CHECK-NEXT: 1 3 1.00 cmppd $0, %xmm0, %xmm2
# CHECK-NEXT: 1 10 1.00 * cmppd $0, (%rax), %xmm2
# CHECK-NEXT: 1 3 1.00 cmpsd $0, %xmm0, %xmm2
# CHECK-NEXT: 1 22 1.00 * divpd (%rax), %xmm2
# CHECK-NEXT: 1 15 1.00 divsd %xmm0, %xmm2
# CHECK-NEXT: 1 22 1.00 * divsd (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.50 * * * lfence
-# CHECK-NEXT: 1 100 0.25 * * * maskmovdqu %xmm0, %xmm1
+# CHECK-NEXT: 1 1 0.50 * * U lfence
+# CHECK-NEXT: 1 100 0.25 * * U maskmovdqu %xmm0, %xmm1
# CHECK-NEXT: 1 3 1.00 maxpd %xmm0, %xmm2
# CHECK-NEXT: 1 10 1.00 * maxpd (%rax), %xmm2
# CHECK-NEXT: 1 3 1.00 maxsd %xmm0, %xmm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 3 1.00 addsubpd %xmm0, %xmm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 1 0.50 blendpd $11, %xmm0, %xmm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 3 1.00 crc32b %al, %ecx
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 2 1.00 extrq %xmm0, %xmm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 1 0.25 pabsb %mm0, %mm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 1 0.25 adcb $7, %al
# CHECK-NEXT: 2 6 0.50 * * btcq $7, (%rax)
# CHECK-NEXT: 2 6 0.50 * * btrq $7, (%rax)
# CHECK-NEXT: 2 6 0.50 * * btsq $7, (%rax)
-# CHECK-NEXT: 1 1 0.25 * clc
+# CHECK-NEXT: 1 1 0.25 U clc
# CHECK-NEXT: 1 1 0.25 decb %dil
# CHECK-NEXT: 2 5 0.50 * * decb (%rax)
# CHECK-NEXT: 1 1 0.25 decw %di
# CHECK-NEXT: 2 5 0.50 * * decl (%rax)
# CHECK-NEXT: 1 1 0.25 decq %rdi
# CHECK-NEXT: 2 5 0.50 * * decq (%rax)
-# CHECK-NEXT: 1 15 15.00 * divb %dil
-# CHECK-NEXT: 2 19 15.00 * * divb (%rax)
-# CHECK-NEXT: 2 17 17.00 * divw %si
-# CHECK-NEXT: 3 21 17.00 * * divw (%rax)
-# CHECK-NEXT: 2 25 25.00 * divl %edx
-# CHECK-NEXT: 3 29 25.00 * * divl (%rax)
-# CHECK-NEXT: 2 41 41.00 * divq %rcx
-# CHECK-NEXT: 3 45 41.00 * * divq (%rax)
-# CHECK-NEXT: 1 15 15.00 * idivb %dil
-# CHECK-NEXT: 2 19 15.00 * * idivb (%rax)
-# CHECK-NEXT: 2 17 17.00 * idivw %si
-# CHECK-NEXT: 3 21 17.00 * * idivw (%rax)
-# CHECK-NEXT: 2 25 25.00 * idivl %edx
-# CHECK-NEXT: 3 29 25.00 * * idivl (%rax)
-# CHECK-NEXT: 2 41 41.00 * idivq %rcx
-# CHECK-NEXT: 3 45 41.00 * * idivq (%rax)
+# CHECK-NEXT: 1 15 15.00 U divb %dil
+# CHECK-NEXT: 2 19 15.00 * U divb (%rax)
+# CHECK-NEXT: 2 17 17.00 U divw %si
+# CHECK-NEXT: 3 21 17.00 * U divw (%rax)
+# CHECK-NEXT: 2 25 25.00 U divl %edx
+# CHECK-NEXT: 3 29 25.00 * U divl (%rax)
+# CHECK-NEXT: 2 41 41.00 U divq %rcx
+# CHECK-NEXT: 3 45 41.00 * U divq (%rax)
+# CHECK-NEXT: 1 15 15.00 U idivb %dil
+# CHECK-NEXT: 2 19 15.00 * U idivb (%rax)
+# CHECK-NEXT: 2 17 17.00 U idivw %si
+# CHECK-NEXT: 3 21 17.00 * U idivw (%rax)
+# CHECK-NEXT: 2 25 25.00 U idivl %edx
+# CHECK-NEXT: 3 29 25.00 * U idivl (%rax)
+# CHECK-NEXT: 2 41 41.00 U idivq %rcx
+# CHECK-NEXT: 3 45 41.00 * U idivq (%rax)
# CHECK-NEXT: 1 4 1.00 imulb %dil
# CHECK-NEXT: 2 8 1.00 * imulb (%rax)
# CHECK-NEXT: 1 3 1.00 imulw %di
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
-# CHECK-NEXT: 1 100 0.25 * f2xm1
-# CHECK-NEXT: 1 2 1.00 * fabs
-# CHECK-NEXT: 1 3 1.00 * fadd %st(0), %st(1)
-# CHECK-NEXT: 1 3 1.00 * fadd %st(2)
-# CHECK-NEXT: 1 10 1.00 * * fadds (%ecx)
-# CHECK-NEXT: 1 10 1.00 * * faddl (%ecx)
-# CHECK-NEXT: 1 3 1.00 * faddp %st(1)
-# CHECK-NEXT: 1 3 1.00 * faddp %st(2)
-# CHECK-NEXT: 1 10 1.00 * * fiadds (%ecx)
-# CHECK-NEXT: 1 10 1.00 * * fiaddl (%ecx)
-# CHECK-NEXT: 1 100 0.25 * fbld (%ecx)
-# CHECK-NEXT: 1 100 0.25 * fbstp (%eax)
-# CHECK-NEXT: 1 1 1.00 * fchs
-# CHECK-NEXT: 1 100 0.25 * fnclex
-# CHECK-NEXT: 1 100 0.25 * fcmovb %st(1), %st(0)
-# CHECK-NEXT: 1 100 0.25 * fcmovbe %st(1), %st(0)
-# CHECK-NEXT: 1 100 0.25 * fcmove %st(1), %st(0)
-# CHECK-NEXT: 1 100 0.25 * fcmovnb %st(1), %st(0)
-# CHECK-NEXT: 1 100 0.25 * fcmovnbe %st(1), %st(0)
-# CHECK-NEXT: 1 100 0.25 * fcmovne %st(1), %st(0)
-# CHECK-NEXT: 1 100 0.25 * fcmovnu %st(1), %st(0)
-# CHECK-NEXT: 1 100 0.25 * fcmovu %st(1), %st(0)
-# CHECK-NEXT: 1 1 1.00 * fcom %st(1)
-# CHECK-NEXT: 1 1 1.00 * fcom %st(3)
-# CHECK-NEXT: 1 8 1.00 * fcoms (%ecx)
-# CHECK-NEXT: 1 8 1.00 * fcoml (%eax)
-# CHECK-NEXT: 1 1 1.00 * fcomp %st(1)
-# CHECK-NEXT: 1 1 1.00 * fcomp %st(3)
-# CHECK-NEXT: 1 8 1.00 * fcomps (%ecx)
-# CHECK-NEXT: 1 8 1.00 * fcompl (%eax)
-# CHECK-NEXT: 1 1 1.00 * fcompp
-# CHECK-NEXT: 1 9 0.50 * fcomi %st(3)
-# CHECK-NEXT: 1 9 0.50 * fcompi %st(3)
-# CHECK-NEXT: 1 100 0.25 * fcos
-# CHECK-NEXT: 1 11 1.00 * fdecstp
-# CHECK-NEXT: 1 15 1.00 * fdiv %st(0), %st(1)
-# CHECK-NEXT: 1 15 1.00 * fdiv %st(2)
-# CHECK-NEXT: 1 22 1.00 * * fdivs (%ecx)
-# CHECK-NEXT: 1 22 1.00 * * fdivl (%eax)
-# CHECK-NEXT: 1 15 1.00 * fdivp %st(1)
-# CHECK-NEXT: 1 15 1.00 * fdivp %st(2)
-# CHECK-NEXT: 1 22 1.00 * * fidivs (%ecx)
-# CHECK-NEXT: 1 22 1.00 * * fidivl (%eax)
-# CHECK-NEXT: 1 15 1.00 * fdivr %st(0), %st(1)
-# CHECK-NEXT: 1 15 1.00 * fdivr %st(2)
-# CHECK-NEXT: 1 22 1.00 * * fdivrs (%ecx)
-# CHECK-NEXT: 1 22 1.00 * * fdivrl (%eax)
-# CHECK-NEXT: 1 15 1.00 * fdivrp %st(1)
-# CHECK-NEXT: 1 15 1.00 * fdivrp %st(2)
-# CHECK-NEXT: 1 22 1.00 * * fidivrs (%ecx)
-# CHECK-NEXT: 1 22 1.00 * * fidivrl (%eax)
-# CHECK-NEXT: 1 11 1.00 * ffree %st(0)
-# CHECK-NEXT: 2 12 1.50 * ficoms (%ecx)
-# CHECK-NEXT: 2 12 1.50 * ficoml (%eax)
-# CHECK-NEXT: 2 12 1.50 * ficomps (%ecx)
-# CHECK-NEXT: 2 12 1.50 * ficompl (%eax)
-# CHECK-NEXT: 2 11 1.00 * * filds (%edx)
-# CHECK-NEXT: 2 11 1.00 * * fildl (%ecx)
-# CHECK-NEXT: 2 11 1.00 * * fildll (%eax)
-# CHECK-NEXT: 1 11 1.00 * fincstp
-# CHECK-NEXT: 1 100 0.25 * fninit
-# CHECK-NEXT: 1 12 0.50 * * fists (%edx)
-# CHECK-NEXT: 1 12 0.50 * * fistl (%ecx)
-# CHECK-NEXT: 1 12 0.50 * * fistps (%edx)
-# CHECK-NEXT: 1 12 0.50 * * fistpl (%ecx)
-# CHECK-NEXT: 1 12 0.50 * * fistpll (%eax)
-# CHECK-NEXT: 1 12 0.50 * * fisttps (%edx)
-# CHECK-NEXT: 1 12 0.50 * * fisttpl (%ecx)
-# CHECK-NEXT: 1 12 0.50 * * fisttpll (%eax)
-# CHECK-NEXT: 1 1 0.50 * fld %st(0)
-# CHECK-NEXT: 1 8 0.50 * * flds (%edx)
-# CHECK-NEXT: 1 8 0.50 * * fldl (%ecx)
-# CHECK-NEXT: 2 1 0.50 * * fldt (%eax)
-# CHECK-NEXT: 1 100 0.25 * * fldcw (%eax)
-# CHECK-NEXT: 1 100 0.25 * fldenv (%eax)
-# CHECK-NEXT: 1 11 1.00 * fld1
-# CHECK-NEXT: 1 11 1.00 * fldl2e
-# CHECK-NEXT: 1 11 1.00 * fldl2t
-# CHECK-NEXT: 1 11 1.00 * fldlg2
-# CHECK-NEXT: 1 11 1.00 * fldln2
-# CHECK-NEXT: 1 11 1.00 * fldpi
-# CHECK-NEXT: 1 8 0.50 * fldz
-# CHECK-NEXT: 1 3 0.50 * fmul %st(0), %st(1)
-# CHECK-NEXT: 1 3 0.50 * fmul %st(2)
-# CHECK-NEXT: 2 10 0.50 * * fmuls (%ecx)
-# CHECK-NEXT: 2 10 0.50 * * fmull (%eax)
-# CHECK-NEXT: 1 3 0.50 * fmulp %st(1)
-# CHECK-NEXT: 1 3 0.50 * fmulp %st(2)
-# CHECK-NEXT: 2 10 0.50 * * fimuls (%ecx)
-# CHECK-NEXT: 2 10 0.50 * * fimull (%eax)
-# CHECK-NEXT: 1 1 1.00 * fnop
-# CHECK-NEXT: 1 100 0.25 * fpatan
-# CHECK-NEXT: 1 100 0.25 * fprem
-# CHECK-NEXT: 1 100 0.25 * fprem1
-# CHECK-NEXT: 1 100 0.25 * fptan
-# CHECK-NEXT: 1 100 0.25 * frndint
-# CHECK-NEXT: 1 100 0.25 * frstor (%eax)
-# CHECK-NEXT: 1 100 0.25 * fnsave (%eax)
-# CHECK-NEXT: 1 100 0.25 * fscale
-# CHECK-NEXT: 1 100 0.25 * fsin
-# CHECK-NEXT: 1 100 0.25 * fsincos
-# CHECK-NEXT: 1 20 20.00 * fsqrt
-# CHECK-NEXT: 2 5 0.50 * fst %st(0)
-# CHECK-NEXT: 1 1 0.50 * * fsts (%edx)
-# CHECK-NEXT: 1 1 0.50 * * fstl (%ecx)
-# CHECK-NEXT: 2 5 0.50 * fstp %st(0)
-# CHECK-NEXT: 1 1 0.50 * * fstpl (%edx)
-# CHECK-NEXT: 1 1 0.50 * * fstpl (%ecx)
-# CHECK-NEXT: 1 5 0.50 * * fstpt (%eax)
-# CHECK-NEXT: 1 100 0.25 * * fnstcw (%eax)
-# CHECK-NEXT: 1 100 0.25 * fnstenv (%eax)
-# CHECK-NEXT: 1 100 0.25 * fnstsw (%eax)
-# CHECK-NEXT: 1 100 0.25 * frstor (%eax)
-# CHECK-NEXT: 1 1 1.00 * wait
-# CHECK-NEXT: 1 100 0.25 * fnsave (%eax)
-# CHECK-NEXT: 1 3 1.00 * fsub %st(0), %st(1)
-# CHECK-NEXT: 1 3 1.00 * fsub %st(2)
-# CHECK-NEXT: 1 10 1.00 * * fsubs (%ecx)
-# CHECK-NEXT: 1 10 1.00 * * fsubl (%eax)
-# CHECK-NEXT: 1 3 1.00 * fsubp %st(1)
-# CHECK-NEXT: 1 3 1.00 * fsubp %st(2)
-# CHECK-NEXT: 1 10 1.00 * * fisubs (%ecx)
-# CHECK-NEXT: 1 10 1.00 * * fisubl (%eax)
-# CHECK-NEXT: 1 3 1.00 * fsubr %st(0), %st(1)
-# CHECK-NEXT: 1 3 1.00 * fsubr %st(2)
-# CHECK-NEXT: 1 10 1.00 * * fsubrs (%ecx)
-# CHECK-NEXT: 1 10 1.00 * * fsubrl (%eax)
-# CHECK-NEXT: 1 3 1.00 * fsubrp %st(1)
-# CHECK-NEXT: 1 3 1.00 * fsubrp %st(2)
-# CHECK-NEXT: 1 10 1.00 * * fisubrs (%ecx)
-# CHECK-NEXT: 1 10 1.00 * * fisubrl (%eax)
-# CHECK-NEXT: 1 1 1.00 * ftst
-# CHECK-NEXT: 1 1 1.00 * fucom %st(1)
-# CHECK-NEXT: 1 1 1.00 * fucom %st(3)
-# CHECK-NEXT: 1 1 1.00 * fucomp %st(1)
-# CHECK-NEXT: 1 1 1.00 * fucomp %st(3)
-# CHECK-NEXT: 1 1 1.00 * fucompp
-# CHECK-NEXT: 1 9 0.50 * fucomi %st(3)
-# CHECK-NEXT: 1 9 0.50 * fucompi %st(3)
-# CHECK-NEXT: 1 1 1.00 * wait
-# CHECK-NEXT: 1 1 1.00 * fxam
-# CHECK-NEXT: 1 1 0.25 * fxch %st(1)
-# CHECK-NEXT: 1 1 0.25 * fxch %st(3)
-# CHECK-NEXT: 1 100 0.25 * * * fxrstor (%eax)
-# CHECK-NEXT: 1 100 0.25 * * * fxsave (%eax)
-# CHECK-NEXT: 1 100 0.25 * fxtract
-# CHECK-NEXT: 1 100 0.25 * fyl2x
-# CHECK-NEXT: 1 100 0.25 * fyl2xp1
+# 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(2)
+# CHECK-NEXT: 1 10 1.00 * U fadds (%ecx)
+# CHECK-NEXT: 1 10 1.00 * U faddl (%ecx)
+# CHECK-NEXT: 1 3 1.00 U faddp %st(1)
+# CHECK-NEXT: 1 3 1.00 U faddp %st(2)
+# CHECK-NEXT: 1 10 1.00 * U fiadds (%ecx)
+# CHECK-NEXT: 1 10 1.00 * U fiaddl (%ecx)
+# CHECK-NEXT: 1 100 0.25 U fbld (%ecx)
+# 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 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)
+# CHECK-NEXT: 1 8 1.00 U fcoml (%eax)
+# CHECK-NEXT: 1 1 1.00 U fcomp %st(1)
+# CHECK-NEXT: 1 1 1.00 U fcomp %st(3)
+# CHECK-NEXT: 1 8 1.00 U fcomps (%ecx)
+# CHECK-NEXT: 1 8 1.00 U fcompl (%eax)
+# CHECK-NEXT: 1 1 1.00 U fcompp
+# CHECK-NEXT: 1 9 0.50 U fcomi %st(3)
+# 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(2)
+# CHECK-NEXT: 1 22 1.00 * U fdivs (%ecx)
+# CHECK-NEXT: 1 22 1.00 * U fdivl (%eax)
+# CHECK-NEXT: 1 15 1.00 U fdivp %st(1)
+# 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(2)
+# CHECK-NEXT: 1 22 1.00 * U fdivrs (%ecx)
+# CHECK-NEXT: 1 22 1.00 * U fdivrl (%eax)
+# CHECK-NEXT: 1 15 1.00 U fdivrp %st(1)
+# 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: 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)
+# CHECK-NEXT: 2 12 1.50 U ficompl (%eax)
+# CHECK-NEXT: 2 11 1.00 * U filds (%edx)
+# CHECK-NEXT: 2 11 1.00 * U fildl (%ecx)
+# CHECK-NEXT: 2 11 1.00 * U fildll (%eax)
+# CHECK-NEXT: 1 11 1.00 U fincstp
+# CHECK-NEXT: 1 100 0.25 U fninit
+# CHECK-NEXT: 1 12 0.50 * U fists (%edx)
+# CHECK-NEXT: 1 12 0.50 * U fistl (%ecx)
+# CHECK-NEXT: 1 12 0.50 * U fistps (%edx)
+# CHECK-NEXT: 1 12 0.50 * U fistpl (%ecx)
+# CHECK-NEXT: 1 12 0.50 * U fistpll (%eax)
+# 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 8 0.50 * U flds (%edx)
+# CHECK-NEXT: 1 8 0.50 * U fldl (%ecx)
+# CHECK-NEXT: 2 1 0.50 * U fldt (%eax)
+# CHECK-NEXT: 1 100 0.25 * U fldcw (%eax)
+# CHECK-NEXT: 1 100 0.25 U fldenv (%eax)
+# CHECK-NEXT: 1 11 1.00 U fld1
+# CHECK-NEXT: 1 11 1.00 U fldl2e
+# CHECK-NEXT: 1 11 1.00 U fldl2t
+# CHECK-NEXT: 1 11 1.00 U fldlg2
+# 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(2)
+# CHECK-NEXT: 2 10 0.50 * U fmuls (%ecx)
+# CHECK-NEXT: 2 10 0.50 * U fmull (%eax)
+# CHECK-NEXT: 1 3 0.50 U fmulp %st(1)
+# CHECK-NEXT: 1 3 0.50 U fmulp %st(2)
+# CHECK-NEXT: 2 10 0.50 * U fimuls (%ecx)
+# CHECK-NEXT: 2 10 0.50 * U fimull (%eax)
+# CHECK-NEXT: 1 1 1.00 U fnop
+# CHECK-NEXT: 1 100 0.25 U fpatan
+# CHECK-NEXT: 1 100 0.25 U fprem
+# CHECK-NEXT: 1 100 0.25 U fprem1
+# CHECK-NEXT: 1 100 0.25 U fptan
+# CHECK-NEXT: 1 100 0.25 U frndint
+# CHECK-NEXT: 1 100 0.25 U frstor (%eax)
+# CHECK-NEXT: 1 100 0.25 U fnsave (%eax)
+# CHECK-NEXT: 1 100 0.25 U fscale
+# 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: 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: 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)
+# CHECK-NEXT: 1 100 0.25 * U fnstcw (%eax)
+# CHECK-NEXT: 1 100 0.25 U fnstenv (%eax)
+# CHECK-NEXT: 1 100 0.25 U fnstsw (%eax)
+# 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(2)
+# CHECK-NEXT: 1 10 1.00 * U fsubs (%ecx)
+# CHECK-NEXT: 1 10 1.00 * U fsubl (%eax)
+# CHECK-NEXT: 1 3 1.00 U fsubp %st(1)
+# 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(2)
+# CHECK-NEXT: 1 10 1.00 * U fsubrs (%ecx)
+# CHECK-NEXT: 1 10 1.00 * U fsubrl (%eax)
+# CHECK-NEXT: 1 3 1.00 U fsubrp %st(1)
+# CHECK-NEXT: 1 3 1.00 U fsubrp %st(2)
+# CHECK-NEXT: 1 10 1.00 * U fisubrs (%ecx)
+# CHECK-NEXT: 1 10 1.00 * U fisubrl (%eax)
+# CHECK-NEXT: 1 1 1.00 U ftst
+# CHECK-NEXT: 1 1 1.00 U fucom %st(1)
+# CHECK-NEXT: 1 1 1.00 U fucom %st(3)
+# CHECK-NEXT: 1 1 1.00 U fucomp %st(1)
+# CHECK-NEXT: 1 1 1.00 U fucomp %st(3)
+# CHECK-NEXT: 1 1 1.00 U fucompp
+# CHECK-NEXT: 1 9 0.50 U fucomi %st(3)
+# CHECK-NEXT: 1 9 0.50 U fucompi %st(3)
+# CHECK-NEXT: 1 1 1.00 U wait
+# CHECK-NEXT: 1 1 1.00 U fxam
+# CHECK-NEXT: 1 1 0.25 U fxch %st(1)
+# CHECK-NEXT: 1 1 0.25 U fxch %st(3)
+# CHECK-NEXT: 1 100 0.25 * * U fxrstor (%eax)
+# CHECK-NEXT: 1 100 0.25 * * U fxsave (%eax)
+# CHECK-NEXT: 1 100 0.25 U fxtract
+# CHECK-NEXT: 1 100 0.25 U fyl2x
+# CHECK-NEXT: 1 100 0.25 U fyl2xp1
# CHECK: Resources:
# CHECK-NEXT: [0] - ZnAGU0
TempStream << "\n\nInstruction Info:\n";
TempStream << "[1]: #uOps\n[2]: Latency\n[3]: RThroughput\n"
- << "[4]: MayLoad\n[5]: MayStore\n[6]: HasSideEffects\n\n";
+ << "[4]: MayLoad\n[5]: MayStore\n[6]: HasSideEffects (U)\n\n";
TempStream << "[1] [2] [3] [4] [5] [6] Instructions:\n";
for (unsigned I = 0, E = Instructions; I < E; ++I) {
}
TempStream << (MCDesc.mayLoad() ? " * " : " ");
TempStream << (MCDesc.mayStore() ? " * " : " ");
- TempStream << (MCDesc.hasUnmodeledSideEffects() ? " * " : " ");
+ TempStream << (MCDesc.hasUnmodeledSideEffects() ? " U " : " ");
MCIP.printInst(&Inst, InstrStream, "", STI);
InstrStream.flush();