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

ISB (SY)

Test 1: uops

Code:

  isb sy

(no loop instructions)

1000 unrolls and 1 iteration

Retires: 4.000

Issues: 0.000

Integer unit issues: 0.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)
400425024111
400425024111
400425024111
400425024111
400425024111
400425024111
400425024111
400425024111
400425024111
400425024111

Test 2: throughput

Code:

  isb sy

(fused SUBS/B.cc loop)

100 unrolls and 100 iterations

Result (median cycles for code): 25.0135

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)
402042501601011011003001002002001100
402042501351011011003001002002001100
402042501461011011003001002002001100
402042501351011011003001002002001100
402042501351011011003001002002001100
402042501351011011003001002002001100
402042501351011011003001002002001100
40204250135101101100300100200196198
402042501351011011003001002002001100
402042501351011011003001002002001100

1000 unrolls and 10 iterations

Result (median cycles for code): 25.0040

retire uop (01)cycle (02)schedule uop (52)schedule int uop (53)schedule simd uop (54)schedule ldst uop (55)dispatch int uop (56)dispatch simd uop (57)dispatch ldst uop (58)int uops in schedulers (59)simd uops in schedulers (5a)ldst uops in schedulers (5b)dispatch uop (78)map int uop (7c)map ldst uop (7d)map simd uop (7e)map int uop inputs (7f)? int output thing (e9)? int retires (ef)
400242500561111001000300010200020110
400242500511111001000300010200020110
400242500401111001000300010200020110
400242500401111001000300010200020110
400252500681111001000300010200020110
400242500401111001000300010200020110
400242500401111001000300010200020110
400242500401111001000300010200020110
400242500401111001000300010200020110
400252500791111001000300010200020110