Apple M1 Microarchitecture Research by Dougall Johnson

Firestorm: Overview | Base Instructions | SIMD and FP Instructions
Icestorm:  Overview | Base Instructions | SIMD and FP Instructions

Icestorm Base Instructions

                                          LAT        TP       Retire   Int   Mem   FP    Units (ports)
 ADC (32-bit)                             1          0.333    1        1     -     -     u1-3
 ADC (64-bit)                             1          0.333    1        1     -     -     u1-3
 ADCS (32-bit)                            1          0.584    1        1     -     -     u1-3
 ADCS (64-bit)                            1          0.584    1        1     -     -     u1-3
 ADD (sxtb, 32-bit)                       2          0.667    1        2     -     -     2*u1-3
 ADD (sxtb, 64-bit)                       2          0.667    1        2     -     -     2*u1-3
 ADD (uxtb, 32-bit)                       2          0.667    1        2     -     -     2*u1-3
 ADD (uxtb, 64-bit)                       2          0.667    1        2     -     -     2*u1-3
 ADD (sxth, 32-bit)                       2          0.667    1        2     -     -     2*u1-3
 ADD (sxth, 64-bit)                       2          0.667    1        2     -     -     2*u1-3
 ADD (uxth, 32-bit)                       2          0.667    1        2     -     -     2*u1-3
 ADD (uxth, 64-bit)                       2          0.667    1        2     -     -     2*u1-3
 ADD (sxtw, 64-bit)                       2          0.667    1        2     -     -     2*u1-3
 ADD (uxtw, 64-bit)                       2          0.667    1        2     -     -     2*u1-3
 ADD (uxtw, 32-bit)                       1          0.333    1        1     -     -     u1-3
 ADD (sxtw, 32-bit)                       1          0.333    1        1     -     -     u1-3
 ADD (uxtx, 64-bit)                       1          0.333    1        1     -     -     u1-3
 ADD (sxtx, 64-bit)                       1          0.333    1        1     -     -     u1-3
 ADD (immediate, 32-bit)                  1          0.333    1        1     -     -     u1-3
 ADD (immediate, 64-bit)                  1          0.333    1        1     -     -     u1-3
 ADD (shifted immediate, 32-bit)          1          0.333    1        1     -     -     u1-3
 ADD (shifted immediate, 64-bit)          1          0.333    1        1     -     -     u1-3
 ADD (register, 32-bit)                   1          0.333    1        1     -     -     u1-3
 ADD (register, 64-bit)                   1          0.333    1        1     -     -     u1-3
 ADD (register, lsl, 32-bit)              2          0.667    1        2     -     -     2*u1-3
 ADD (register, lsl, 64-bit)              2          0.667    1        2     -     -     2*u1-3
 ADD (register, lsr, 32-bit)              2          0.667    1        2     -     -     2*u1-3
 ADD (register, lsr, 64-bit)              2          0.667    1        2     -     -     2*u1-3
 ADD (register, asr, 32-bit)              2          0.667    1        2     -     -     2*u1-3
 ADD (register, asr, 64-bit)              2          0.667    1        2     -     -     2*u1-3
 ADDS (sxtb, 32-bit)                      2          0.667    1        2     -     -     2*u1-3
 ADDS (sxtb, 64-bit)                      2          0.667    1        2     -     -     2*u1-3
 ADDS (uxtb, 32-bit)                      2          0.667    1        2     -     -     2*u1-3
 ADDS (uxtb, 64-bit)                      2          0.667    1        2     -     -     2*u1-3
 ADDS (sxth, 32-bit)                      2          0.667    1        2     -     -     2*u1-3
 ADDS (sxth, 64-bit)                      2          0.667    1        2     -     -     2*u1-3
 ADDS (uxth, 32-bit)                      2          0.667    1        2     -     -     2*u1-3
 ADDS (uxth, 64-bit)                      2          0.667    1        2     -     -     2*u1-3
 ADDS (sxtw, 64-bit)                      2          0.667    1        2     -     -     2*u1-3
 ADDS (uxtw, 64-bit)                      2          0.667    1        2     -     -     2*u1-3
 ADDS (uxtw, 32-bit)                      1          0.5      1        1     -     -     u1-3
 ADDS (sxtw, 32-bit)                      1          0.5      1        1     -     -     u1-3
 ADDS (uxtx, 64-bit)                      1          0.5      1        1     -     -     u1-3
 ADDS (sxtx, 64-bit)                      1          0.5      1        1     -     -     u1-3
 ADDS (immediate, 32-bit)                 1          0.5      1        1     -     -     u1-3
 ADDS (immediate, 64-bit)                 1          0.5      1        1     -     -     u1-3
 ADDS (shifted immediate, 32-bit)         1          0.5      1        1     -     -     u1-3
 ADDS (shifted immediate, 64-bit)         1          0.5      1        1     -     -     u1-3
 ADDS (register, 32-bit)                  1          0.5      1        1     -     -     u1-3
 ADDS (register, 64-bit)                  1          0.5      1        1     -     -     u1-3
 ADDS (register, lsl, 32-bit)             2          0.667    1        2     -     -     2*u1-3
 ADDS (register, lsl, 64-bit)             2          0.667    1        2     -     -     2*u1-3
 ADDS (register, lsr, 32-bit)             2          0.667    1        2     -     -     2*u1-3
 ADDS (register, lsr, 64-bit)             2          0.667    1        2     -     -     2*u1-3
 ADDS (register, asr, 32-bit)             2          0.667    1        2     -     -     2*u1-3
 ADDS (register, asr, 64-bit)             2          0.667    1        2     -     -     2*u1-3
ADR                                                  0.25     1        0.5   -     -     -
ADRP                                                 0.25     1        0.5   -     -     -
 AND (immediate, 32-bit)                  1          0.333    1        1     -     -     u1-3
 AND (immediate, 64-bit)                  1          0.333    1        1     -     -     u1-3
 AND (register, 32-bit)                   1          0.333    1        1     -     -     u1-3
 AND (register, 64-bit)                   1          0.333    1        1     -     -     u1-3
 AND (register, lsl, 32-bit)              2          0.667    1        2     -     -     2*u1-3
 AND (register, lsl, 64-bit)              2          0.667    1        2     -     -     2*u1-3
 AND (register, lsr, 32-bit)              2          0.667    1        2     -     -     2*u1-3
 AND (register, lsr, 64-bit)              2          0.667    1        2     -     -     2*u1-3
 AND (register, asr, 32-bit)              2          0.667    1        2     -     -     2*u1-3
 AND (register, asr, 64-bit)              2          0.667    1        2     -     -     2*u1-3
 AND (register, ror, 32-bit)              2          0.667    1        2     -     -     2*u1-3
 AND (register, ror, 64-bit)              2          0.667    1        2     -     -     2*u1-3
 ADDS (immediate, 32-bit)                 1          0.5      1        1     -     -     u1-3
 ADDS (immediate, 64-bit)                 1          0.5      1        1     -     -     u1-3
 ANDS (register, 32-bit)                  1          0.5      1        1     -     -     u1-3
 ANDS (register, 64-bit)                  1          0.5      1        1     -     -     u1-3
 ANDS (register, lsl, 32-bit)             2          0.667    1        2     -     -     2*u1-3
 ANDS (register, lsl, 64-bit)             2          0.667    1        2     -     -     2*u1-3
 ANDS (register, lsr, 32-bit)             2          0.667    1        2     -     -     2*u1-3
 ANDS (register, lsr, 64-bit)             2          0.667    1        2     -     -     2*u1-3
 ANDS (register, asr, 32-bit)             2          0.667    1        2     -     -     2*u1-3
 ANDS (register, asr, 64-bit)             2          0.667    1        2     -     -     2*u1-3
 ANDS (register, ror, 32-bit)             2          0.667    1        2     -     -     2*u1-3
 ANDS (register, ror, 64-bit)             2          0.667    1        2     -     -     2*u1-3
 ASR (immediate, 32-bit)                  1          0.333    1        1     -     -     u1-3
 ASR (immediate, 64-bit)                  1          0.333    1        1     -     -     u1-3
 ASR (register, 32-bit)                   1          0.333    1        1     -     -     u1-3
 ASR (register, 64-bit)                   1          0.333    1        1     -     -     u1-3
 AUTDA                                    6          2        1        1     -     -     u2
 AUTDZA                                   6          2        1        1     -     -     u2
 AUTDB                                    6          2        1        1     -     -     u2
 AUTDZB                                   6          2        1        1     -     -     u2
 AUTIA                                    6          2        1        1     -     -     u2
 AUTIZA                                   6          2        1        1     -     -     u2
 AUTIB                                    6          2        1        1     -     -     u2
 AUTIZB                                   6          2        1        1     -     -     u2
AXFLAG                                    1          0.556    1        1     -     -     u1-3
B                                                    1.049    1        -     -     -     -
B.cc (not taken)                                     0.584    1        1     -     -     u1-3
B.cc (taken)                                         1.154    1        1     -     -     u1-3
 BFC (32-bit)                             1          1        1        1     -     -     u3
 BFC (64-bit)                             1          1        1        1     -     -     u3
 BFI (32-bit)                             1          1        1        1     -     -     u3
 BFI (64-bit)                             1          1        1        1     -     -     u3
 BFXIL (32-bit)                           1          1        1        1     -     -     u3
 BFXIL (64-bit)                           1          1        1        1     -     -     u3
 BIC (register, 32-bit)                   1          0.333    1        1     -     -     u1-3
 BIC (register, 64-bit)                   1          0.333    1        1     -     -     u1-3
 BIC (register, lsl, 32-bit)              2          0.667    1        2     -     -     2*u1-3
 BIC (register, lsl, 64-bit)              2          0.667    1        2     -     -     2*u1-3
 BIC (register, lsr, 32-bit)              2          0.667    1        2     -     -     2*u1-3
 BIC (register, lsr, 64-bit)              2          0.667    1        2     -     -     2*u1-3
 BIC (register, asr, 32-bit)              2          0.667    1        2     -     -     2*u1-3
 BIC (register, asr, 64-bit)              2          0.667    1        2     -     -     2*u1-3
 BIC (register, ror, 32-bit)              2          0.667    1        2     -     -     2*u1-3
 BIC (register, ror, 64-bit)              2          0.667    1        2     -     -     2*u1-3
 BICS (register, 32-bit)                  1          0.5      1        1     -     -     u1-3
 BICS (register, 64-bit)                  1          0.5      1        1     -     -     u1-3
 BICS (register, lsl, 32-bit)             2          0.667    1        2     -     -     2*u1-3
 BICS (register, lsl, 64-bit)             2          0.667    1        2     -     -     2*u1-3
 BICS (register, lsr, 32-bit)             2          0.667    1        2     -     -     2*u1-3
 BICS (register, lsr, 64-bit)             2          0.667    1        2     -     -     2*u1-3
 BICS (register, asr, 32-bit)             2          0.667    1        2     -     -     2*u1-3
 BICS (register, asr, 64-bit)             2          0.667    1        2     -     -     2*u1-3
 BICS (register, ror, 32-bit)             2          0.667    1        2     -     -     2*u1-3
 BICS (register, ror, 64-bit)             2          0.667    1        2     -     -     2*u1-3
BL                                                   1.049    1        -     -     -     -
 CAS (32-bit)                                        7        4        -     3     -     
 CAS (64-bit)                                        7        4        -     3     -     
 CASA (32-bit)                                       7        4        -     3     -     
 CASA (64-bit)                                       7        4        -     3     -     
 CASAL (32-bit)                                      9        4        -     3     -     
 CASAL (64-bit)                                      9        4        -     3     -     
 CASL (32-bit)                                       9        4        -     3     -     
 CASL (64-bit)                                       9        4        -     3     -     
CASB                                                 7        4        -     3     -     
CASAB                                                7        4        -     3     -     
CASALB                                               9        4        -     3     -     
CASLB                                                9        4        -     3     -     
CASH                                                 7        4        -     3     -     
CASAH                                                7        4        -     3     -     
CASALH                                               9        4        -     3     -     
CASLH                                                9        4        -     3     -     
CASP (32-bit)                                        17       6        -     3     -     
CASP (64-bit)                                        17       6        -     3.04  -     
 CASPA (32-bit)                                      15       6        -     3     -     
 CASPA (64-bit)                                      15       6        -     3     -     
 CASPAL (32-bit)                                     19       6        -     3     -     
 CASPAL (64-bit)                                     19       6        -     3     -     
 CASPL (32-bit)                                      19       6        -     3     -     
 CASPL (64-bit)                                      19       6        -     3     -     
CBNZ (not taken)                                     0.584    1        1     -     -     u1-3
CBNZ (taken)                                         1.062    1        1     -     -     u1-3
CBZ (not taken)                                      0.584    1        1     -     -     u1-3
CBZ (taken)                                          1.062    1        1     -     -     u1-3
 CCMN (immediate, 32-bit)                 1          0.556    1        1     -     -     u1-3
 CCMN (immediate, 64-bit)                 1          0.556    1        1     -     -     u1-3
 CCMN (register, 32-bit)                  1          0.556    1        1     -     -     u1-3
 CCMN (register, 64-bit)                  1          0.556    1        1     -     -     u1-3
 CCMP (immediate, 32-bit)                 1          0.556    1        1     -     -     u1-3
 CCMP (immediate, 64-bit)                 1          0.556    1        1     -     -     u1-3
 CCMP (register, 32-bit)                  1          0.556    1        1     -     -     u1-3
 CCMP (register, 64-bit)                  1          0.556    1        1     -     -     u1-3
CFINV                                     1          0.556    1        1     -     -     u1-3
 CINC (32-bit)                            1          0.333    1        1     -     -     u1-3
 CINC (64-bit)                            1          0.333    1        1     -     -     u1-3
 CINV (32-bit)                            1          0.333    1        1     -     -     u1-3
 CINV (64-bit)                            1          0.333    1        1     -     -     u1-3
CLREX                                                4.996    1        -     1     -     
 CLS (32-bit)                             1          0.333    1        1     -     -     u1-3
 CLS (64-bit)                             1          0.333    1        1     -     -     u1-3
 CLZ (32-bit)                             1          0.333    1        1     -     -     u1-3
 CLZ (64-bit)                             1          0.333    1        1     -     -     u1-3
 CMN (sxtb, 32-bit)                       2          0.667    1        2     -     -     2*u1-3
 CMN (sxtb, 64-bit)                       2          0.667    1        2     -     -     2*u1-3
 CMN (uxtb, 32-bit)                       2          0.667    1        2     -     -     2*u1-3
 CMN (uxtb, 64-bit)                       2          0.667    1        2     -     -     2*u1-3
 CMN (sxth, 32-bit)                       2          0.667    1        2     -     -     2*u1-3
 CMN (sxth, 64-bit)                       2          0.667    1        2     -     -     2*u1-3
 CMN (uxth, 32-bit)                       2          0.667    1        2     -     -     2*u1-3
 CMN (uxth, 64-bit)                       2          0.667    1        2     -     -     2*u1-3
 CMN (sxtw, 64-bit)                       2          0.667    1        2     -     -     2*u1-3
 CMN (uxtw, 64-bit)                       2          0.667    1        2     -     -     2*u1-3
 CMN (uxtw, 32-bit)                       1          0.363    1        1     -     -     u1-3
 CMN (sxtw, 32-bit)                       1          0.363    1        1     -     -     u1-3
 CMN (uxtx, 64-bit)                       1          0.363    1        1     -     -     u1-3
 CMN (sxtx, 64-bit)                       1          0.363    1        1     -     -     u1-3
 CMN (immediate, 32-bit)                  1          0.363    1        1     -     -     u1-3
 CMN (immediate, 64-bit)                  1          0.363    1        1     -     -     u1-3
 CMN (shifted immediate, 32-bit)          1          0.363    1        1     -     -     u1-3
 CMN (shifted immediate, 64-bit)          1          0.363    1        1     -     -     u1-3
 CMN (register, 32-bit)                   1          0.363    1        1     -     -     u1-3
 CMN (register, 64-bit)                   1          0.363    1        1     -     -     u1-3
 CMN (register, lsl, 32-bit)              2          0.667    1        2     -     -     2*u1-3
 CMN (register, lsl, 64-bit)              2          0.667    1        2     -     -     2*u1-3
 CMN (register, lsr, 32-bit)              2          0.667    1        2     -     -     2*u1-3
 CMN (register, lsr, 64-bit)              2          0.667    1        2     -     -     2*u1-3
 CMN (register, asr, 32-bit)              2          0.667    1        2     -     -     2*u1-3
 CMN (register, asr, 64-bit)              2          0.667    1        2     -     -     2*u1-3
 CMP (sxtb, 32-bit)                       2          0.667    1        2     -     -     2*u1-3
 CMP (sxtb, 64-bit)                       2          0.667    1        2     -     -     2*u1-3
 CMP (uxtb, 32-bit)                       2          0.667    1        2     -     -     2*u1-3
 CMP (uxtb, 64-bit)                       2          0.667    1        2     -     -     2*u1-3
 CMP (sxth, 32-bit)                       2          0.667    1        2     -     -     2*u1-3
 CMP (sxth, 64-bit)                       2          0.667    1        2     -     -     2*u1-3
 CMP (uxth, 32-bit)                       2          0.667    1        2     -     -     2*u1-3
 CMP (uxth, 64-bit)                       2          0.667    1        2     -     -     2*u1-3
 CMP (sxtw, 64-bit)                       2          0.667    1        2     -     -     2*u1-3
 CMP (uxtw, 64-bit)                       2          0.667    1        2     -     -     2*u1-3
CMP (uxtw, 32-bit)                        1          0.363    1        1     -     -     u1-3
CMP (sxtw, 32-bit)                        1          0.363    1        1     -     -     u1-3
CMP (uxtx, 64-bit)                        1          0.362    1        1     -     -     u1-3
CMP (sxtx, 64-bit)                        1          0.363    1        1     -     -     u1-3
CMP (immediate, 32-bit)                   1          0.363    1        1     -     -     u1-3
CMP (immediate, 64-bit)                   1          0.363    1        1     -     -     u1-3
CMP (shifted immediate, 32-bit)           1          0.362    1        1     -     -     u1-3
CMP (shifted immediate, 64-bit)           1          0.363    1        1     -     -     u1-3
CMP (register, 32-bit)                    1          0.363    1        1     -     -     u1-3
CMP (register, 64-bit)                    1          0.362    1        1     -     -     u1-3
 CMP (register, lsl, 32-bit)              2          0.667    1        2     -     -     2*u1-3
 CMP (register, lsl, 64-bit)              2          0.667    1        2     -     -     2*u1-3
 CMP (register, lsr, 32-bit)              2          0.667    1        2     -     -     2*u1-3
 CMP (register, lsr, 64-bit)              2          0.667    1        2     -     -     2*u1-3
 CMP (register, asr, 32-bit)              2          0.667    1        2     -     -     2*u1-3
 CMP (register, asr, 64-bit)              2          0.667    1        2     -     -     2*u1-3
 CNEG (32-bit)                            1          0.333    1        1     -     -     u1-3
 CNEG (64-bit)                            1          0.333    1        1     -     -     u1-3
 CRC32B                                   3          1        1        1     -     -     u3
 CRC32H                                   3          1        1        1     -     -     u3
 CRC32W                                   3          1        1        1     -     -     u3
 CRC32X                                   3          1        1        1     -     -     u3
 CRC32CB                                  3          1        1        1     -     -     u3
 CRC32CH                                  3          1        1        1     -     -     u3
 CRC32CW                                  3          1        1        1     -     -     u3
 CRC32CX                                  3          1        1        1     -     -     u3
CSDB                                                 0.254    1        -     -     -     -
 CSEL (32-bit)                            1          0.333    1        1     -     -     u1-3
 CSEL (64-bit)                            1          0.333    1        1     -     -     u1-3
 CSET (32-bit)                            1          0.333    1        1     -     -     u1-3
 CSET (64-bit)                            1          0.333    1        1     -     -     u1-3
 CSETM (32-bit)                           1          0.333    1        1     -     -     u1-3
 CSETM (64-bit)                           1          0.333    1        1     -     -     u1-3
 CSINC (32-bit)                           1          0.333    1        1     -     -     u1-3
 CSINC (64-bit)                           1          0.333    1        1     -     -     u1-3
 CSINV (32-bit)                           1          0.333    1        1     -     -     u1-3
 CSINV (64-bit)                           1          0.333    1        1     -     -     u1-3
 CSNEG (32-bit)                           1          0.333    1        1     -     -     u1-3
 CSNEG (64-bit)                           1          0.333    1        1     -     -     u1-3
 DMB (SY)                                            4        1        -     1     -     
 DMB (ST)                                            4        1        -     1     -     
 DMB (LD)                                            4        1        -     1     -     
 DMB (ISH)                                           4        1        -     1     -     
 DMB (ISHST)                                         4        1        -     1     -     
 DMB (ISHLD)                                         4        1        -     1     -     
 DMB (NSH)                                           4        1        -     1     -     
 DMB (NSHST)                                         4        1        -     1     -     
 DMB (NSHLD)                                         4        1        -     1     -     
 DMB (OSH)                                           4        1        -     1     -     
 DMB (OSHST)                                         4        1        -     1     -     
 DMB (OSHLD)                                         4        1        -     1     -     
 DSB (SY)                                            16       1        -     1     -     
 DSB (ST)                                            16       1        -     1     -     
 DSB (LD)                                            16       1        -     1     -     
 DSB (ISH)                                           16       1        -     1     -     
 DSB (ISHST)                                         16       1        -     1     -     
 DSB (ISHLD)                                         16       1        -     1     -     
 DSB (NSH)                                           16       1        -     1     -     
 DSB (NSHST)                                         16       1        -     1     -     
 DSB (NSHLD)                                         16       1        -     1     -     
 DSB (OSH)                                           16       1        -     1     -     
 DSB (OSHST)                                         16       1        -     1     -     
 DSB (OSHLD)                                         16       1        -     1     -     
 EON (register, 32-bit)                   1          0.333    1        1     -     -     u1-3
 EON (register, 64-bit)                   1          0.333    1        1     -     -     u1-3
 EON (register, lsl, 32-bit)              2          0.667    1        2     -     -     2*u1-3
 EON (register, lsl, 64-bit)              2          0.667    1        2     -     -     2*u1-3
 EON (register, lsr, 32-bit)              2          0.667    1        2     -     -     2*u1-3
 EON (register, lsr, 64-bit)              2          0.667    1        2     -     -     2*u1-3
 EON (register, asr, 32-bit)              2          0.667    1        2     -     -     2*u1-3
 EON (register, asr, 64-bit)              2          0.667    1        2     -     -     2*u1-3
 EON (register, ror, 32-bit)              2          0.667    1        2     -     -     2*u1-3
 EON (register, ror, 64-bit)              2          0.667    1        2     -     -     2*u1-3
 EOR (immediate, 32-bit)                  1          0.333    1        1     -     -     u1-3
 EOR (immediate, 64-bit)                  1          0.333    1        1     -     -     u1-3
 EOR (register, 32-bit)                   1          0.333    1        1     -     -     u1-3
 EOR (register, 64-bit)                   1          0.333    1        1     -     -     u1-3
 EOR (register, lsl, 32-bit)              2          0.667    1        2     -     -     2*u1-3
 EOR (register, lsl, 64-bit)              2          0.667    1        2     -     -     2*u1-3
 EOR (register, lsr, 32-bit)              2          0.667    1        2     -     -     2*u1-3
 EOR (register, lsr, 64-bit)              2          0.667    1        2     -     -     2*u1-3
 EOR (register, asr, 32-bit)              2          0.667    1        2     -     -     2*u1-3
 EOR (register, asr, 64-bit)              2          0.667    1        2     -     -     2*u1-3
 EOR (register, ror, 32-bit)              2          0.667    1        2     -     -     2*u1-3
 EOR (register, ror, 64-bit)              2          0.667    1        2     -     -     2*u1-3
 EXTR (register, 32-bit)                  [1;2]      1        2        2     -     -     
 EXTR (register, 64-bit)                  [1;2]      1        2        2     -     -     
ISB (SY)                                             25       4        -     -     -     -
 LDNP (32-bit)                                       0.5      2        -     1     -     u4/5
 LDNP (64-bit)                                       0.5      2        -     1     -     u4/5
 LDP (32-bit)                             ≤4         0.5      2        -     1     -     u4/5
 LDP (64-bit)                             ≤4         0.5      2        -     1     -     u4/5
LDP (post-index, 32-bit)                             0.75     3        1     1     -     
LDP (post-index, 64-bit)                             0.763    3        1     1     -     
LDP (pre-index, 32-bit)                              0.75     3        1     1     -     
LDP (pre-index, 64-bit)                              0.763    3        1     1     -     
 LDP (signed offset, 32-bit)              ≤4         0.5      2        -     1     -     u4/5
 LDP (signed offset, 64-bit)              ≤4         0.5      2        -     1     -     u4/5
LDPSW (post-index)                                   0.75     3        1     1     -     
LDPSW (pre-index)                                    0.75     3        1     1     -     
LDPSW (signed offset)                     ≤4         0.5      2        -     1     -     u4/5
 LDR (32-bit)                             ≤4         0.5      1        -     1     -     u4/5
 LDR (64-bit)                             ≤4         0.5      1        -     1     -     u4/5
 LDR (post-index, 32-bit)                            0.54     2        1     1     -     
 LDR (post-index, 64-bit)                            0.54     2        1     1     -     
 LDR (pre-index, 32-bit)                             0.54     2        1     1     -     
 LDR (pre-index, 64-bit)                             0.54     2        1     1     -     
 LDR (unsigned offset, 32-bit)            ≤4         0.5      1        -     1     -     u4/5
 LDR (unsigned offset, 64-bit)            ≤4         0.5      1        -     1     -     u4/5
 LDR (literal, 32-bit)                               0.5      1        -     1     -     u4/5
 LDR (literal, 64-bit)                               0.5      1        -     1     -     u4/5
 LDR (register, 32-bit)                   ≤4         0.5      1        -     1     -     u4/5
 LDR (register, 64-bit)                   ≤4         0.5      1        -     1     -     u4/5
 LDR (register, uxtw, 32-bit)             ≤4         0.5      1        -     1     -     u4/5
 LDR (register, uxtw, 64-bit)             ≤4         0.5      1        -     1     -     u4/5
 LDR (register, sxtw, 32-bit)             ≤4         0.5      1        -     1     -     u4/5
 LDR (register, sxtw, 64-bit)             ≤4         0.5      1        -     1     -     u4/5
 LDR (register, lsl, 32-bit)              ≤4         0.5      1        -     1     -     u4/5
 LDR (register, lsl, 64-bit)              ≤4         0.5      1        -     1     -     u4/5
LDRB                                      ≤4         0.5      1        -     1     -     u4/5
LDRB (post-index)                                    0.54     2        1     1     -     
LDRB (pre-index)                                     0.54     2        1     1     -     
LDRB (unsigned offset)                    ≤4         0.5      1        -     1     -     u4/5
 LDRB (register)                          ≤4         0.5      1        -     1     -     u4/5
 LDRB (register, uxtw)                    ≤4         0.5      1        -     1     -     u4/5
 LDRB (register, sxtw)                    ≤4         0.5      1        -     1     -     u4/5
LDRH                                      ≤4         0.5      1        -     1     -     u4/5
LDRH (post-index)                                    0.54     2        1     1     -     
LDRH (pre-index)                                     0.54     2        1     1     -     
LDRH (unsigned offset)                    ≤4         0.5      1        -     1     -     u4/5
 LDRH (register)                          ≤4         0.5      1        -     1     -     u4/5
 LDRH (register, uxtw)                    ≤4         0.5      1        -     1     -     u4/5
 LDRH (register, sxtw)                    ≤4         0.5      1        -     1     -     u4/5
 LDRH (register, lsl)                     ≤4         0.5      1        -     1     -     u4/5
 LDRSB (32-bit)                           ≤4         0.5      1        -     1     -     u4/5
 LDRSB (64-bit)                           ≤4         0.5      1        -     1     -     u4/5
 LDRSB (post-index, 32-bit)                          0.54     2        1     1     -     
 LDRSB (post-index, 64-bit)                          0.54     2        1     1     -     
 LDRSB (pre-index, 32-bit)                           0.54     2        1     1     -     
 LDRSB (pre-index, 64-bit)                           0.54     2        1     1     -     
 LDRSB (unsigned offset, 32-bit)          ≤4         0.5      1        -     1     -     u4/5
 LDRSB (unsigned offset, 64-bit)          ≤4         0.5      1        -     1     -     u4/5
 LDRSB (register, 32-bit)                 ≤4         0.5      1        -     1     -     u4/5
 LDRSB (register, 64-bit)                 ≤4         0.5      1        -     1     -     u4/5
 LDRSB (register, uxtw, 32-bit)           ≤4         0.5      1        -     1     -     u4/5
 LDRSB (register, uxtw, 64-bit)           ≤4         0.5      1        -     1     -     u4/5
 LDRSB (register, sxtw, 32-bit)           ≤4         0.5      1        -     1     -     u4/5
 LDRSB (register, sxtw, 64-bit)           ≤4         0.5      1        -     1     -     u4/5
 LDRSH (32-bit)                           ≤4         0.5      1        -     1     -     u4/5
 LDRSH (64-bit)                           ≤4         0.5      1        -     1     -     u4/5
LDRSH (post-index, 32-bit)                           0.541    2        1     1     -     
LDRSH (post-index, 64-bit)                           0.54     2        1     1     -     
 LDRSH (pre-index, 32-bit)                           0.54     2        1     1     -     
 LDRSH (pre-index, 64-bit)                           0.54     2        1     1     -     
 LDRSH (unsigned offset, 32-bit)          ≤4         0.5      1        -     1     -     u4/5
 LDRSH (unsigned offset, 64-bit)          ≤4         0.5      1        -     1     -     u4/5
 LDRSH (register, 32-bit)                 ≤4         0.5      1        -     1     -     u4/5
 LDRSH (register, 64-bit)                 ≤4         0.5      1        -     1     -     u4/5
 LDRSH (register, uxtw, 32-bit)           ≤4         0.5      1        -     1     -     u4/5
 LDRSH (register, uxtw, 64-bit)           ≤4         0.5      1        -     1     -     u4/5
 LDRSH (register, sxtw, 32-bit)           ≤4         0.5      1        -     1     -     u4/5
 LDRSH (register, sxtw, 64-bit)           ≤4         0.5      1        -     1     -     u4/5
 LDRSH (register, lsl, 32-bit)            ≤4         0.5      1        -     1     -     u4/5
 LDRSH (register, lsl, 64-bit)            ≤4         0.5      1        -     1     -     u4/5
LDRSW                                     ≤4         0.5      1        -     1     -     u4/5
LDRSW (post-index)                                   0.54     2        1     1     -     
LDRSW (pre-index)                                    0.54     2        1     1     -     
LDRSW (unsigned offset)                   ≤4         0.5      1        -     1     -     u4/5
LDRSW (literal)                                      0.5      1        -     1     -     u4/5
 LDRSW (register)                         ≤4         0.5      1        -     1     -     u4/5
 LDRSW (register, uxtw)                   ≤4         0.5      1        -     1     -     u4/5
 LDRSW (register, sxtw)                   ≤4         0.5      1        -     1     -     u4/5
 LDRSW (register, lsl)                    ≤4         0.5      1        -     1     -     u4/5
 LDUR (32-bit)                                       0.5      1        -     1     -     u4/5
 LDUR (64-bit)                                       0.5      1        -     1     -     u4/5
LDURB                                                0.5      1        -     1     -     u4/5
LDURH                                                0.5      1        -     1     -     u4/5
 LDURSB (32-bit)                                     0.5      1        -     1     -     u4/5
 LDURSB (64-bit)                                     0.5      1        -     1     -     u4/5
 LDURSH (32-bit)                                     0.5      1        -     1     -     u4/5
 LDURSH (64-bit)                                     0.5      1        -     1     -     u4/5
LDURSW                                               0.5      1        -     1     -     u4/5
 LSL (immediate, 32-bit)                  1          0.333    1        1     -     -     u1-3
 LSL (immediate, 64-bit)                  1          0.333    1        1     -     -     u1-3
 LSL (register, 32-bit)                   1          0.333    1        1     -     -     u1-3
 LSL (register, 64-bit)                   1          0.333    1        1     -     -     u1-3
 LSR (immediate, 32-bit)                  1          0.333    1        1     -     -     u1-3
 LSR (immediate, 64-bit)                  1          0.333    1        1     -     -     u1-3
 LSR (register, 32-bit)                   1          0.333    1        1     -     -     u1-3
 LSR (register, 64-bit)                   1          0.333    1        1     -     -     u1-3
 MADD (32-bit)                            [1;3]      1        1        1     -     -     u3
 MADD (64-bit)                            [1;3]      1        1        1     -     -     u3
 MNEG (32-bit)                            3          1        1        1     -     -     u3
 MNEG (64-bit)                            3          1        1        1     -     -     u3
MOV (bitmask immediate, 32-bit)                      0.25     1        -     -     -     -
MOV (bitmask immediate, 64-bit)                      0.25     1        -     -     -     -
MOV (from sp, 32-bit)                                0.333    1        1     -     -     u1-3
MOV (from sp, 64-bit)                                0.25     1        0.5   -     -     -
 MOVK (32-bit)                            1          0.333    1        1     -     -     u1-3
 MOVK (64-bit)                            1          0.333    1        1     -     -     u1-3
 MOVN (32-bit)                                       0.25     1        -     -     -     -
 MOVN (64-bit)                                       0.25     1        -     -     -     -
 MOVZ (32-bit)                                       0.25     1        -     -     -     -
 MOVZ (64-bit)                                       0.25     1        -     -     -     -
MRS (CNTFRQ_EL0)                                     16       1        1     -     -     
MRS (CNTPCT_EL0)                                     1.25     1        1     -     -     
MRS (CNTVCT_EL0)                                     1.25     1        1     -     -     
MRS (DCZID_EL0)                                      1.25     1        1     -     -     
MRS (FPCR)                                           1.25     1        1     -     -     
MRS (FPSR)                                           7        1        1     -     -     
MRS (NZCV)                                           0.333    1        1     -     -     u1-3
MRS (TPIDRRO_EL0)                                    1.25     1        1     -     -     
MRS (TPIDR_EL0)                                      1.25     1        1     -     -     
MRS (DIT)                                            1.25     1        1     -     -     
MRS (SSBS)                                           1.25     1        1     -     -     
MRS (APRR)                                           1.25     1        1     -     -     
MSR (DIT)                                            1        1        1     -     -     
MSR (SSBS)                                           27       4        1     -     -     
MSR (APRR)                                           1.26     1        1     -     -     
MSR (FPCR)                                           1        1        1     -     -     
MSR (FPSR)                                           1        1        1     -     -     
MSR (TPIDR_EL0)                                      1        1        1     -     -     
MSR (NZCV)                                           0.366    1        1     -     -     u1-3
 MSUB (32-bit)                            [1;3]      1        1        1     -     -     u3
 MSUB (64-bit)                            [1;3]      1        1        1     -     -     u3
 MUL (32-bit)                             3          1        1        1     -     -     u3
 MUL (64-bit)                             3          1        1        1     -     -     u3
 MVN (register, 32-bit)                   1          0.333    1        1     -     -     u1-3
 MVN (register, 64-bit)                   1          0.333    1        1     -     -     u1-3
 MVN (register, lsl, 32-bit)              2          0.667    1        2     -     -     2*u1-3
 MVN (register, lsl, 64-bit)              2          0.667    1        2     -     -     2*u1-3
 MVN (register, lsr, 32-bit)              2          0.667    1        2     -     -     2*u1-3
 MVN (register, lsr, 64-bit)              2          0.667    1        2     -     -     2*u1-3
 MVN (register, asr, 32-bit)              2          0.667    1        2     -     -     2*u1-3
 MVN (register, asr, 64-bit)              2          0.667    1        2     -     -     2*u1-3
 MVN (register, ror, 32-bit)              2          0.667    1        2     -     -     2*u1-3
 MVN (register, ror, 64-bit)              2          0.667    1        2     -     -     2*u1-3
 NEG (register, 32-bit)                   1          0.333    1        1     -     -     u1-3
 NEG (register, 64-bit)                   1          0.333    1        1     -     -     u1-3
 NEG (register, lsl, 32-bit)              2          0.667    1        2     -     -     2*u1-3
 NEG (register, lsl, 64-bit)              2          0.667    1        2     -     -     2*u1-3
 NEG (register, lsr, 32-bit)              2          0.667    1        2     -     -     2*u1-3
 NEG (register, lsr, 64-bit)              2          0.667    1        2     -     -     2*u1-3
 NEG (register, asr, 32-bit)              2          0.667    1        2     -     -     2*u1-3
 NEG (register, asr, 64-bit)              2          0.667    1        2     -     -     2*u1-3
 NEGS (register, 32-bit)                  1          0.5      1        1     -     -     u1-3
 NEGS (register, 64-bit)                  1          0.5      1        1     -     -     u1-3
 NEGS (register, lsl, 32-bit)             2          0.667    1        2     -     -     2*u1-3
 NEGS (register, lsl, 64-bit)             2          0.667    1        2     -     -     2*u1-3
 NEGS (register, lsr, 32-bit)             2          0.667    1        2     -     -     2*u1-3
 NEGS (register, lsr, 64-bit)             2          0.667    1        2     -     -     2*u1-3
 NEGS (register, asr, 32-bit)             2          0.667    1        2     -     -     2*u1-3
 NEGS (register, asr, 64-bit)             2          0.667    1        2     -     -     2*u1-3
 NGC (register, 32-bit)                   1          0.333    1        1     -     -     u1-3
 NGC (register, 64-bit)                   1          0.333    1        1     -     -     u1-3
 NGCS (register, 32-bit)                  1          0.584    1        1     -     -     u1-3
 NGCS (register, 64-bit)                  1          0.584    1        1     -     -     u1-3
NOP                                                  0.25     1        -     -     -     -
 ORN (register, 32-bit)                   1          0.333    1        1     -     -     u1-3
 ORN (register, 64-bit)                   1          0.333    1        1     -     -     u1-3
 ORN (register, lsl, 32-bit)              2          0.667    1        2     -     -     2*u1-3
 ORN (register, lsl, 64-bit)              2          0.667    1        2     -     -     2*u1-3
 ORN (register, lsr, 32-bit)              2          0.667    1        2     -     -     2*u1-3
 ORN (register, lsr, 64-bit)              2          0.667    1        2     -     -     2*u1-3
 ORN (register, asr, 32-bit)              2          0.667    1        2     -     -     2*u1-3
 ORN (register, asr, 64-bit)              2          0.667    1        2     -     -     2*u1-3
 ORN (register, ror, 32-bit)              2          0.667    1        2     -     -     2*u1-3
 ORN (register, ror, 64-bit)              2          0.667    1        2     -     -     2*u1-3
 ORR (immediate, 32-bit)                  1          0.333    1        1     -     -     u1-3
 ORR (immediate, 64-bit)                  1          0.333    1        1     -     -     u1-3
 ORR (register, 32-bit)                   1          0.333    1        1     -     -     u1-3
 ORR (register, 64-bit)                   1          0.333    1        1     -     -     u1-3
 ORR (register, lsl, 32-bit)              2          0.667    1        2     -     -     2*u1-3
 ORR (register, lsl, 64-bit)              2          0.667    1        2     -     -     2*u1-3
 ORR (register, lsr, 32-bit)              2          0.667    1        2     -     -     2*u1-3
 ORR (register, lsr, 64-bit)              2          0.667    1        2     -     -     2*u1-3
 ORR (register, asr, 32-bit)              2          0.667    1        2     -     -     2*u1-3
 ORR (register, asr, 64-bit)              2          0.667    1        2     -     -     2*u1-3
 ORR (register, ror, 32-bit)              2          0.667    1        2     -     -     2*u1-3
 ORR (register, ror, 64-bit)              2          0.667    1        2     -     -     2*u1-3
 PACDA                                    6          2        1        1     -     -     u2
 PACDZA                                   6          2        1        1     -     -     u2
 PACDB                                    6          2        1        1     -     -     u2
 PACDZB                                   6          2        1        1     -     -     u2
 PACGA                                    6          2        1        1     -     -     u2
 PACIA                                    6          2        1        1     -     -     u2
 PACIZA                                   6          2        1        1     -     -     u2
 PACIB                                    6          2        1        1     -     -     u2
 PACIZB                                   6          2        1        1     -     -     u2
PRFM (register, PLDL1KEEP)                           2        1        -     1     -     
PRFM (register, PLDL1STRM)                           1.996    1        -     1     -     
PRFM (register, PLDL2KEEP)                           1.872    1        -     1     -     
PRFM (register, PLDL2STRM)                           1.872    1        -     1     -     
PRFM (register, PLDL3KEEP)                           2        1        -     1     -     
PRFM (register, PLDL3STRM)                           2        1        -     1     -     
PRFM (register, PLIL1KEEP)                           2        1        -     1     -     
PRFM (register, PLIL1STRM)                           1.962    1        -     1     -     
PRFM (register, PLIL2KEEP)                           2        1        -     1     -     
PRFM (register, PLIL2STRM)                           2        1        -     1     -     
PRFM (register, PLIL3KEEP)                           1.999    1        -     1     -     
PRFM (register, PLIL3STRM)                           2        1        -     1     -     
PRFM (register, PSTL1KEEP)                           1.872    1        -     1     -     
PRFM (register, PSTL1STRM)                           1.973    1        -     1     -     
PRFM (register, PSTL2KEEP)                           2        1        -     1     -     
PRFM (register, PSTL2STRM)                           1.872    1        -     1     -     
PRFM (register, PSTL3KEEP)                           2        1        -     1     -     
PRFM (register, PSTL3STRM)                           1.873    1        -     1     -     
PSSBB                                                22       4        -     1     -     
 RBIT (32-bit)                            1          0.333    1        1     -     -     u1-3
 RBIT (64-bit)                            1          0.333    1        1     -     -     u1-3
 REV (32-bit)                             1          0.333    1        1     -     -     u1-3
 REV (64-bit)                             1          0.333    1        1     -     -     u1-3
 REV16 (32-bit)                           1          0.333    1        1     -     -     u1-3
 REV16 (64-bit)                           1          0.333    1        1     -     -     u1-3
REV32                                     1          0.333    1        1     -     -     u1-3
RMIF                                      1          0.556    1        1     -     -     u1-3
 ROR (immediate, 32-bit)                  1          0.333    1        1     -     -     u1-3
 ROR (immediate, 64-bit)                  1          0.333    1        1     -     -     u1-3
 ROR (register, 32-bit)                   1          0.333    1        1     -     -     u1-3
 ROR (register, 64-bit)                   1          0.333    1        1     -     -     u1-3
SB                                                   22       4        -     1     -     
 SBC (32-bit)                             1          0.333    1        1     -     -     u1-3
 SBC (64-bit)                             1          0.333    1        1     -     -     u1-3
 SBCS (32-bit)                            1          0.584    1        1     -     -     u1-3
 SBCS (64-bit)                            1          0.584    1        1     -     -     u1-3
 SBFIZ (32-bit)                           1          0.333    1        1     -     -     u1-3
 SBFIZ (64-bit)                           1          0.333    1        1     -     -     u1-3
 SBFX (32-bit)                            1          0.333    1        1     -     -     u1-3
 SBFX (64-bit)                            1          0.333    1        1     -     -     u1-3
SDIV (fast, 32-bit)                       7          7        1        2     -     -     u2
SDIV (slow, 32-bit)                       13         13       1        2     -     -     u2
SDIV (slow, 32-bit)                       13         13       1        2     -     -     u2
SDIV (fast, 64-bit)                       7          7        1        2     -     -     u2
SDIV (medium, 64-bit)                     13         13       1        2     -     -     u2
SDIV (medium, 64-bit)                     13         13       1        2     -     -     u2
SDIV (slow, 64-bit)                       21         21       1        2     -     -     u2
SDIV (slow, 64-bit)                       21         21       1        2     -     -     u2
SETF8                                     1          0.556    1        1     -     -     u1-3
SETF16                                    1          0.556    1        1     -     -     u1-3
SMADDL                                    [1;3]      1        1        1     -     -     u3
SMNEGL                                    3          1        1        1     -     -     u3
SMSUBL                                    [1;3]      1        1        1     -     -     u3
SMULH                                     3          1        1        1     -     -     u3
SMULL                                     3          1        1        1     -     -     u3
SSBB                                                 22       4        -     1     -     
 STADD (32-bit)                                      3        3        1     2     -     
 STADD (64-bit)                                      3        3        1     2     -     
 STADDL (32-bit)                                     6        3        1     2     -     
 STADDL (64-bit)                                     6        3        1     2     -     
STADDB                                               3        3        1     2     -     
STADDLB                                              6        3        1     2     -     
STADDH                                               3        3        1     2     -     
STADDLH                                              6        3        1     2     -     
 STCLR (32-bit)                                      3        3        1     2     -     
 STCLR (64-bit)                                      3        3        1     2     -     
 STCLRL (32-bit)                                     6        3        1     2     -     
 STCLRL (64-bit)                                     6        3        1     2     -     
STCLRB                                               3        3        1     2     -     
STCLRLB                                              6        3        1     2     -     
STCLRH                                               3        3        1     2     -     
STCLRLH                                              6        3        1     2     -     
 STEOR (32-bit)                                      3        3        1     2     -     
 STEOR (64-bit)                                      3        3        1     2     -     
 STEORL (32-bit)                                     6        3        1     2     -     
 STEORL (64-bit)                                     6        3        1     2     -     
STEORB                                               3        3        1     2     -     
STEORLB                                              6        3        1     2     -     
STEORH                                               3        3        1     2     -     
STEORLH                                              6        3        1     2     -     
STLLRB                                               6        1        -     1     -     
STLLRH                                               6        1        -     1     -     
STLRB                                                6        1        -     1     -     
STLRH                                                6        1        -     1     -     
 STLXP (32-bit)                                      3        1        -     1     -     
 STLXP (64-bit)                                      3        1        -     1     -     
 STLXR (32-bit)                                      3        1        -     1     -     
 STLXR (64-bit)                                      3        1        -     1     -     
STLXRB                                               3        1        -     1     -     
STLXRH                                               3        1        -     1     -     
 STNP (32-bit)                                       1        1        -     1     -     u4
 STNP (64-bit)                                       1        1        -     1     -     u4
 STP (32-bit)                                        1        1        -     1     -     u4
 STP (64-bit)                                        1        1        -     1     -     u4
STP (post-index, 32-bit)                             1        1        1     1     -     
STP (post-index, 64-bit)                             1.014    1        1     1     -     
STP (pre-index, 32-bit)                              1        1        1     1     -     
STP (pre-index, 64-bit)                              1.014    1        1     1     -     
 STP (signed offset, 32-bit)                         1        1        -     1     -     u4
 STP (signed offset, 64-bit)                         1        1        -     1     -     u4
 STR (32-bit)                                        1        1        -     1     -     u4
 STR (64-bit)                                        1        1        -     1     -     u4
 STR (post-index, 32-bit)                            1        1        1     1     -     
 STR (post-index, 64-bit)                            1        1        1     1     -     
 STR (pre-index, 32-bit)                             1        1        1     1     -     
 STR (pre-index, 64-bit)                             1        1        1     1     -     
 STR (unsigned offset, 32-bit)                       1        1        -     1     -     u4
 STR (unsigned offset, 64-bit)                       1        1        -     1     -     u4
 STR (register, 32-bit)                              1        1        -     1     -     u4
 STR (register, 64-bit)                              1        1        -     1     -     u4
 STR (register, uxtw, 32-bit)                        1        1        -     1     -     u4
 STR (register, uxtw, 64-bit)                        1        1        -     1     -     u4
 STR (register, sxtw, 32-bit)                        1        1        -     1     -     u4
 STR (register, sxtw, 64-bit)                        1        1        -     1     -     u4
 STR (register, lsl, 32-bit)                         1        1        -     1     -     u4
 STR (register, lsl, 64-bit)                         1        1        -     1     -     u4
STRB                                                 1        1        -     1     -     u4
STRB (post-index)                                    1        1        1     1     -     
STRB (pre-index)                                     1        1        1     1     -     
STRB (unsigned offset)                               1        1        -     1     -     u4
 STRB (register)                                     1        1        -     1     -     u4
 STRB (register, uxtw)                               1        1        -     1     -     u4
 STRB (register, sxtw)                               1        1        -     1     -     u4
STRH                                                 1        1        -     1     -     u4
STRH (post-index)                                    1        1        1     1     -     
STRH (pre-index)                                     1        1        1     1     -     
STRH (unsigned offset)                               1        1        -     1     -     u4
 STRH (register)                                     1        1        -     1     -     u4
 STRH (register, uxtw)                               1        1        -     1     -     u4
 STRH (register, sxtw)                               1        1        -     1     -     u4
 STUR (32-bit)                                       1        1        -     1     -     u4
 STUR (64-bit)                                       1        1        -     1     -     u4
STURB                                                1        1        -     1     -     u4
STURH                                                1        1        -     1     -     u4
STXP (64-bit)                                        2.509    1        -     1     -     
STXR (32-bit)                                        2.186    1        -     1     -     
STXR (64-bit)                                        2.34     1        -     1     -     
STXRB                                                2.107    1        -     1     -     
STXRH                                                2.107    1        -     1     -     
 SUB (sxtb, 32-bit)                       2          0.667    1        2     -     -     2*u1-3
 SUB (sxtb, 64-bit)                       2          0.667    1        2     -     -     2*u1-3
 SUB (uxtb, 32-bit)                       2          0.667    1        2     -     -     2*u1-3
 SUB (uxtb, 64-bit)                       2          0.667    1        2     -     -     2*u1-3
 SUB (sxth, 32-bit)                       2          0.667    1        2     -     -     2*u1-3
 SUB (sxth, 64-bit)                       2          0.667    1        2     -     -     2*u1-3
 SUB (uxth, 32-bit)                       2          0.667    1        2     -     -     2*u1-3
 SUB (uxth, 64-bit)                       2          0.667    1        2     -     -     2*u1-3
 SUB (sxtw, 64-bit)                       2          0.667    1        2     -     -     2*u1-3
 SUB (uxtw, 64-bit)                       2          0.667    1        2     -     -     2*u1-3
 SUB (uxtw, 32-bit)                       1          0.333    1        1     -     -     u1-3
 SUB (sxtw, 32-bit)                       1          0.333    1        1     -     -     u1-3
 SUB (uxtx, 64-bit)                       1          0.333    1        1     -     -     u1-3
 SUB (sxtx, 64-bit)                       1          0.333    1        1     -     -     u1-3
 SUB (immediate, 32-bit)                  1          0.333    1        1     -     -     u1-3
 SUB (immediate, 64-bit)                  1          0.333    1        1     -     -     u1-3
 SUB (shifted immediate, 32-bit)          1          0.333    1        1     -     -     u1-3
 SUB (shifted immediate, 64-bit)          1          0.333    1        1     -     -     u1-3
 SUB (register, 32-bit)                   1          0.333    1        1     -     -     u1-3
 SUB (register, 64-bit)                   1          0.333    1        1     -     -     u1-3
 SUB (register, lsl, 32-bit)              2          0.667    1        2     -     -     2*u1-3
 SUB (register, lsl, 64-bit)              2          0.667    1        2     -     -     2*u1-3
 SUB (register, lsr, 32-bit)              2          0.667    1        2     -     -     2*u1-3
 SUB (register, lsr, 64-bit)              2          0.667    1        2     -     -     2*u1-3
 SUB (register, asr, 32-bit)              2          0.667    1        2     -     -     2*u1-3
 SUB (register, asr, 64-bit)              2          0.667    1        2     -     -     2*u1-3
 SUBS (sxtb, 32-bit)                      2          0.667    1        2     -     -     2*u1-3
 SUBS (sxtb, 64-bit)                      2          0.667    1        2     -     -     2*u1-3
 SUBS (uxtb, 32-bit)                      2          0.667    1        2     -     -     2*u1-3
 SUBS (uxtb, 64-bit)                      2          0.667    1        2     -     -     2*u1-3
 SUBS (sxth, 32-bit)                      2          0.667    1        2     -     -     2*u1-3
 SUBS (sxth, 64-bit)                      2          0.667    1        2     -     -     2*u1-3
 SUBS (uxth, 32-bit)                      2          0.667    1        2     -     -     2*u1-3
 SUBS (uxth, 64-bit)                      2          0.667    1        2     -     -     2*u1-3
 SUBS (sxtw, 64-bit)                      2          0.667    1        2     -     -     2*u1-3
 SUBS (uxtw, 64-bit)                      2          0.667    1        2     -     -     2*u1-3
 SUBS (uxtw, 32-bit)                      1          0.5      1        1     -     -     u1-3
 SUBS (sxtw, 32-bit)                      1          0.5      1        1     -     -     u1-3
 SUBS (uxtx, 64-bit)                      1          0.5      1        1     -     -     u1-3
 SUBS (sxtx, 64-bit)                      1          0.5      1        1     -     -     u1-3
 SUBS (immediate, 32-bit)                 1          0.5      1        1     -     -     u1-3
 SUBS (immediate, 64-bit)                 1          0.5      1        1     -     -     u1-3
 SUBS (shifted immediate, 32-bit)         1          0.5      1        1     -     -     u1-3
 SUBS (shifted immediate, 64-bit)         1          0.5      1        1     -     -     u1-3
 SUBS (register, 32-bit)                  1          0.5      1        1     -     -     u1-3
 SUBS (register, 64-bit)                  1          0.5      1        1     -     -     u1-3
 SUBS (register, lsl, 32-bit)             2          0.667    1        2     -     -     2*u1-3
 SUBS (register, lsl, 64-bit)             2          0.667    1        2     -     -     2*u1-3
 SUBS (register, lsr, 32-bit)             2          0.667    1        2     -     -     2*u1-3
 SUBS (register, lsr, 64-bit)             2          0.667    1        2     -     -     2*u1-3
 SUBS (register, asr, 32-bit)             2          0.667    1        2     -     -     2*u1-3
 SUBS (register, asr, 64-bit)             2          0.667    1        2     -     -     2*u1-3
 SWP (32-bit)                                        3        2        -     2     -     
 SWP (64-bit)                                        3        2        -     2     -     
 SWPA (32-bit)                                       6        2        -     2     -     
 SWPA (64-bit)                                       6        2        -     2     -     
 SWPAL (32-bit)                                      6        2        -     2     -     
 SWPAL (64-bit)                                      6        2        -     2     -     
 SWPL (32-bit)                                       6        2        -     2     -     
 SWPL (64-bit)                                       6        2        -     2     -     
SWPB                                                 3        2        -     2     -     
SWPAB                                                6        2        -     2     -     
SWPALB                                               6        2        -     2     -     
SWPLB                                                6        2        -     2     -     
SWPH                                                 3        2        -     2     -     
SWPAH                                                6        2        -     2     -     
SWPALH                                               6        2        -     2     -     
SWPLH                                                6        2        -     2     -     
 SXTB (32-bit)                            1          0.333    1        1     -     -     u1-3
 SXTB (64-bit)                            1          0.333    1        1     -     -     u1-3
 SXTH (32-bit)                            1          0.333    1        1     -     -     u1-3
 SXTH (64-bit)                            1          0.333    1        1     -     -     u1-3
SXTW                                      1          0.333    1        1     -     -     u1-3
TBNZ (not taken)                                     0.584    1        1     -     -     u1-3
TBNZ (taken)                                         1.062    1        1     -     -     u1-3
TBZ (not taken)                                      0.584    1        1     -     -     u1-3
TBZ (taken)                                          1.061    1        1     -     -     u1-3
 TST (immediate, 32-bit)                  1          0.363    1        1     -     -     u1-3
 TST (immediate, 64-bit)                  1          0.363    1        1     -     -     u1-3
 TST (register, 32-bit)                   1          0.363    1        1     -     -     u1-3
 TST (register, 64-bit)                   1          0.363    1        1     -     -     u1-3
 TST (register, lsl, 32-bit)              2          0.667    1        2     -     -     2*u1-3
 TST (register, lsl, 64-bit)              2          0.667    1        2     -     -     2*u1-3
 TST (register, lsr, 32-bit)              2          0.667    1        2     -     -     2*u1-3
 TST (register, lsr, 64-bit)              2          0.667    1        2     -     -     2*u1-3
 TST (register, asr, 32-bit)              2          0.667    1        2     -     -     2*u1-3
 TST (register, asr, 64-bit)              2          0.667    1        2     -     -     2*u1-3
 UBFIZ (32-bit)                           1          0.333    1        1     -     -     u1-3
 UBFIZ (64-bit)                           1          0.333    1        1     -     -     u1-3
 UBFX (32-bit)                            1          0.333    1        1     -     -     u1-3
 UBFX (64-bit)                            1          0.333    1        1     -     -     u1-3
UDIV (fast, 32-bit)                       7          7        1        2     -     -     u2
UDIV (slow, 32-bit)                       13         13       1        2     -     -     u2
UDIV (fast, 64-bit)                       7          7        1        2     -     -     u2
UDIV (medium, 64-bit)                     13         13       1        2     -     -     u2
UDIV (slow, 64-bit)                       21         21       1        2     -     -     u2
UMADDL                                    [1;3]      1        1        1     -     -     u3
UMNEGL                                    3          1        1        1     -     -     u3
UMSUBL                                    [1;3]      1        1        1     -     -     u3
UMULH                                     3          1        1        1     -     -     u3
UMULL                                     3          1        1        1     -     -     u3
UXTB                                      1          0.333    1        1     -     -     u1-3
UXTH                                      1          0.333    1        1     -     -     u1-3
XAFLAG                                    1          0.555    1        1     -     -     
 XPACD                                    6          2        1        1     -     -     u2
 XPACI                                    6          2        1        1     -     -     u2
YIELD                                                0.254    1        -     -     -     -