RDRAND (R32) - Throughput and Uops
With 1 independent instruction
With unroll_count=10 and no inner loop
Code:
0: 41 0f c7 f0 rdrand r8d
Show nanoBench command
Results:
Instructions retired: 1.0
Core cycles: 5720.27
Reference cycles: 4499.37
UOPS_EXECUTED.THREAD: 8459.15
RETIRE_SLOTS: 8416.0
UOPS_MITE: 0.0
UOPS_MS: 8534.82
UOPS_PORT_0: 1812.05
UOPS_PORT_1: 1783.67
UOPS_PORT_2: 581.83
UOPS_PORT_3: 580.05
UOPS_PORT_4: 17.0
UOPS_PORT_5: 1743.63
UOPS_PORT_6: 1929.9
UOPS_PORT_7: 11.85
DIV_CYCLES: 0.0
ILD_STALL.LCP: 0.0
UOPS_MITE>=1: 0.0
With unroll_count=10, no inner loop, and 1 NOP
Code:
0: 41 0f c7 f0 rdrand r8d 4: 90 nop
Show nanoBench command
Results:
Instructions retired: 2.0
Core cycles: 5718.8
Reference cycles: 4496.8
UOPS_EXECUTED.THREAD: 8459.05
RETIRE_SLOTS: 8417.0
UOPS_MITE: 1.0
UOPS_MS: 8534.78
UOPS_PORT_0: 1812.05
UOPS_PORT_1: 1783.38
UOPS_PORT_2: 581.73
UOPS_PORT_3: 580.22
UOPS_PORT_4: 17.0
UOPS_PORT_5: 1743.25
UOPS_PORT_6: 1929.55
UOPS_PORT_7: 11.82
DIV_CYCLES: 0.0
ILD_STALL.LCP: 0.0
UOPS_MITE>=1: 1.0
With loop_count=10 and unroll_count=1
Code:
0: 41 0f c7 f0 rdrand r8d
Show nanoBench command
Results:
Instructions retired: 3.0
Core cycles: 5717.48
Reference cycles: 4499.37
UOPS_EXECUTED.THREAD: 8460.05
RETIRE_SLOTS: 8417.0
UOPS_MITE: 1.0
UOPS_MS: 8534.3
UOPS_PORT_0: 1811.13
UOPS_PORT_1: 1782.2
UOPS_PORT_2: 581.8
UOPS_PORT_3: 580.07
UOPS_PORT_4: 17.0
UOPS_PORT_5: 1744.12
UOPS_PORT_6: 1931.22
UOPS_PORT_7: 11.87
DIV_CYCLES: 0.0
ILD_STALL.LCP: 0.0
UOPS_MITE>=1: 1.0