JRCXZ (Rel8) - Throughput and Uops
With RCX=0
With unroll_count=500 and no inner loop
- Code:
0: e3 00 jrcxz 0x2
- Init:
mov RCX, 0
- Show nanoBench command
- Results:
- Instructions retired: 1.0
- Core cycles: 8.45
- Reference cycles: 8.67
- UOPS_RETIRED.ALL: 2.0
- UOPS_MS: 2.0
With loop_count=1000 and unroll_count=10
- Code:
0: e3 00 jrcxz 0x2
- Init:
mov RCX, 0
- Show nanoBench command
- Results:
- Instructions retired: 1.2
- Core cycles: 8.88
- Reference cycles: 9.1
- UOPS_RETIRED.ALL: 2.2
- UOPS_MS: 2.0
With loop_count=100 and unroll_count=100
- Code:
0: e3 00 jrcxz 0x2
- Init:
mov RCX, 0
- Show nanoBench command
- Results:
- Instructions retired: 1.02
- Core cycles: 8.32
- Reference cycles: 8.52
- UOPS_RETIRED.ALL: 2.02
- UOPS_MS: 2.0
With RCX=1
With unroll_count=500 and no inner loop
- Code:
0: e3 00 jrcxz 0x2
- Init:
mov RCX, 1
- Show nanoBench command
- Results:
- Instructions retired: 1.0
- Core cycles: 22.0
- Reference cycles: 22.5
- UOPS_RETIRED.ALL: 2.0
- UOPS_MS: 2.0
With loop_count=1000 and unroll_count=10
- Code:
0: e3 00 jrcxz 0x2
- Init:
mov RCX, 1
- Show nanoBench command
- Results:
- Instructions retired: 1.2
- Core cycles: 22.49
- Reference cycles: 23.04
- UOPS_RETIRED.ALL: 2.2
- UOPS_MS: 2.0
With loop_count=100 and unroll_count=100
- Code:
0: e3 00 jrcxz 0x2
- Init:
mov RCX, 1
- Show nanoBench command
- Results:
- Instructions retired: 1.02
- Core cycles: 22.03
- Reference cycles: 22.56
- UOPS_RETIRED.ALL: 2.02
- UOPS_MS: 2.0