Apple Microarchitecture Research by Dougall Johnson

M1/A14 P-core (Firestorm): Overview | Base Instructions | SIMD and FP Instructions
M1/A14 E-core (Icestorm):  Overview | Base Instructions | SIMD and FP Instructions

MSR (APRR)

Test 1: uops

Code:

  msr s3_6_c15_c1_5, x0
  mrs x0, s3_6_c15_c1_5

(no loop instructions)

1000 unrolls and 1 iteration

Retires: 1.000

Issues: 1.000

Integer unit issues: 1.001

Load/store unit issues: 0.000

SIMD/FP unit issues: 0.000

retire uop (01)cycle (02)schedule uop (52)schedule int uop (53)? int output thing (e9)
10041274100110011001
10041274100110011001
10041274100110011001
10041274100110011001
10041274100110011001
10041274100110011001
10041274100110011001
10041274100110011001
10041274100110011001
10041274100110011001

Test 2: throughput

Code:

  msr s3_6_c15_c1_5, x0
  mrs x0, s3_6_c15_c1_5

(fused SUBS/B.cc loop)

100 unrolls and 100 iterations

Result (median cycles for code): 1.3327

retire uop (01)cycle (02)schedule uop (52)schedule int uop (53)dispatch int uop (56)int uops in schedulers (59)dispatch uop (78)map int uop (7c)map int uop inputs (7f)? int output thing (e9)? int retires (ef)
1020413327101011010110030010020020010001100
1020413327101011010110030010020020010001100
1020413327101011010110030010020020010001100
1020413327101011010110030010020020010001100
1020413327101011010110030010020020010001100
1020413327101011010110030010020020010001100
1020413327101011010110030010020020010001100
1020413327101011010110030010020020010001100
1020413327101011010110030010020020010001100
1020413327101011010110030010020020010001100

1000 unrolls and 10 iterations

Result (median cycles for code): 1.2604

retire uop (01)cycle (02)schedule uop (52)schedule int uop (53)dispatch int uop (56)int uops in schedulers (59)dispatch uop (78)map int uop (7c)map int uop inputs (7f)? int output thing (e9)? int retires (ef)
1002412608100111001110301020201000110
1002412604100111001110301020201000110
1002412604100111001110301020201000110
1002412604100111001110301020201000110
1002412604100111001110301020201000110
1002412604100111001110301020201000110
1002412604100111001110301020201000110
1002412604100111001110301020201000110
1002412604100111001110301020201000110
1002412604100111001110301020201000110