RDRAND (R64) - Throughput and Uops
With 1 independent instruction
With unroll_count=10 and no inner loop
Code:
0: 49 0f c7 f0 rdrand r8
Show nanoBench command
Results:
Instructions retired: 1.0
Core cycles: 6160.1
Reference cycles: 5472.95
UOPS_EXECUTED.THREAD: 11108.75
RETIRE_SLOTS: 11045.0
UOPS_MITE: 0.0
UOPS_MS: 11215.8
UOPS_PORT_0: 2385.63
UOPS_PORT_1: 2330.65
UOPS_PORT_2: 765.95
UOPS_PORT_3: 766.95
UOPS_PORT_4: 17.95
UOPS_PORT_5: 2294.4
UOPS_PORT_6: 2534.1
UOPS_PORT_7: 10.1
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: 49 0f c7 f0 rdrand r8 4: 90 nop
Show nanoBench command
Results:
Instructions retired: 2.0
Core cycles: 6160.53
Reference cycles: 5472.95
UOPS_EXECUTED.THREAD: 11109.0
RETIRE_SLOTS: 11046.0
UOPS_MITE: 1.0
UOPS_MS: 11215.45
UOPS_PORT_0: 2386.98
UOPS_PORT_1: 2328.25
UOPS_PORT_2: 765.95
UOPS_PORT_3: 767.02
UOPS_PORT_4: 17.93
UOPS_PORT_5: 2297.32
UOPS_PORT_6: 2533.72
UOPS_PORT_7: 10.07
DIV_CYCLES: 0.0
ILD_STALL.LCP: 0.0
UOPS_MITE>=1: 1.0
With loop_count=10 and unroll_count=1
Code:
0: 49 0f c7 f0 rdrand r8
Show nanoBench command
Results:
Instructions retired: 3.0
Core cycles: 6160.33
Reference cycles: 5470.73
UOPS_EXECUTED.THREAD: 11110.0
RETIRE_SLOTS: 11046.0
UOPS_MITE: 1.0
UOPS_MS: 11215.57
UOPS_PORT_0: 2387.35
UOPS_PORT_1: 2328.28
UOPS_PORT_2: 765.95
UOPS_PORT_3: 767.02
UOPS_PORT_4: 17.88
UOPS_PORT_5: 2298.0
UOPS_PORT_6: 2534.8
UOPS_PORT_7: 10.07
DIV_CYCLES: 0.0
ILD_STALL.LCP: 0.0
UOPS_MITE>=1: 1.0