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 (SSBS)

Test 1: uops

Code:

  msr s3_3_c4_c2_6, x0
  mrs x0, s3_3_c4_c2_6

(no loop instructions)

1000 unrolls and 1 iteration

Retires: 4.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)
400427024100110011001
400427024100110011001
400427024100110011001
400427024100110011001
400427024100110011001
400427024100110011001
400427024100110011001
400427024100110011001
400427024100110011001
400427024100110011001

Test 2: throughput

Code:

  msr s3_3_c4_c2_6, x0
  mrs x0, s3_3_c4_c2_6

(fused SUBS/B.cc loop)

100 unrolls and 100 iterations

Result (median cycles for code): 27.0729

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)
40204270744101011010110030010020020010001100
40205270752101011010110030010020020010001100
40204270729101011010110030010020020010001100
40204270729101011010110030010020020010001100
40204270729101011010110030010020020010001100
40204270729101011010110030010020020010001100
40204270729101011010110030010020020010001100
40205270752101011010110030010020020010001100
40205270752101011010110030010020020010001100
40204270729101011010110030010020020010001100

1000 unrolls and 10 iterations

Result (median cycles for code): 27.0094

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)
40024270099100111001110301020201000110
40024270094100111001110301020201000110
40024270094100111001110301020201000110
40024270094100111001110301020201000110
40024270094100111001110301020201000110
40024270094100111001110301020201000110
40025270122100111001110301020201000110
40025270127100111001110301020201000110
40024270094100111001110301020201000110
40024270094100111001110301020201000110