...

Text file src/crypto/internal/fips140/aes/ctr_arm64.s

Documentation: crypto/internal/fips140/aes

     1// Code generated by ctr_arm64_gen.go. DO NOT EDIT.
     2
     3//go:build !purego
     4
     5#include "textflag.h"
     6
     7#define NR R9
     8#define XK R10
     9#define DST R11
    10#define SRC R12
    11#define IV_LOW_LE R16
    12#define IV_HIGH_LE R17
    13#define IV_LOW_BE R19
    14#define IV_HIGH_BE R20
    15
    16// V0.B16 - V7.B16 are for blocks (<=8). See BLOCK_OFFSET.
    17// V8.B16 - V22.B16 are for <=15 round keys (<=15). See ROUND_KEY_OFFSET.
    18// V23.B16 - V30.B16 are for destinations (<=8). See DST_OFFSET.
    19
    20// func ctrBlocks1Asm(nr int, xk *[60]uint32, dst *[1*16]byte, src *[1*16]byte, ivlo uint64, ivhi uint64)
    21TEXT ·ctrBlocks1Asm(SB), NOSPLIT, $0
    22	MOVD nr+0(FP), NR
    23	MOVD xk+8(FP), XK
    24	MOVD dst+16(FP), DST
    25	MOVD src+24(FP), SRC
    26	MOVD ivlo+32(FP), IV_LOW_LE
    27	MOVD ivhi+40(FP), IV_HIGH_LE
    28
    29	REV  IV_LOW_LE, IV_LOW_BE
    30	REV  IV_HIGH_LE, IV_HIGH_BE
    31	VMOV IV_LOW_BE, V0.D[1]
    32	VMOV IV_HIGH_BE, V0.D[0]
    33
    34	CMP $12, NR
    35	BLT Lenc128
    36	BEQ Lenc192
    37
    38Lenc256:
    39	VLD1.P 32(XK), [V8.B16, V9.B16]
    40
    41	AESE  V8.B16, V0.B16
    42	AESMC V0.B16, V0.B16
    43
    44	AESE  V9.B16, V0.B16
    45	AESMC V0.B16, V0.B16
    46
    47Lenc192:
    48	VLD1.P 32(XK), [V10.B16, V11.B16]
    49
    50	AESE  V10.B16, V0.B16
    51	AESMC V0.B16, V0.B16
    52
    53	AESE  V11.B16, V0.B16
    54	AESMC V0.B16, V0.B16
    55
    56Lenc128:
    57	VLD1.P 64(XK), [V12.B16, V13.B16, V14.B16, V15.B16]
    58	VLD1.P 64(XK), [V16.B16, V17.B16, V18.B16, V19.B16]
    59	VLD1.P 48(XK), [V20.B16, V21.B16, V22.B16]
    60
    61	AESE  V12.B16, V0.B16
    62	AESMC V0.B16, V0.B16
    63
    64	AESE  V13.B16, V0.B16
    65	AESMC V0.B16, V0.B16
    66
    67	AESE  V14.B16, V0.B16
    68	AESMC V0.B16, V0.B16
    69
    70	AESE  V15.B16, V0.B16
    71	AESMC V0.B16, V0.B16
    72
    73	AESE  V16.B16, V0.B16
    74	AESMC V0.B16, V0.B16
    75
    76	AESE  V17.B16, V0.B16
    77	AESMC V0.B16, V0.B16
    78
    79	AESE  V18.B16, V0.B16
    80	AESMC V0.B16, V0.B16
    81
    82	AESE  V19.B16, V0.B16
    83	AESMC V0.B16, V0.B16
    84
    85	AESE  V20.B16, V0.B16
    86	AESMC V0.B16, V0.B16
    87
    88	AESE V21.B16, V0.B16
    89
    90	VEOR V0.B16, V22.B16, V0.B16
    91
    92	VLD1.P 16(SRC), [V23.B16]
    93	VEOR   V23.B16, V0.B16, V23.B16
    94	VST1.P [V23.B16], 16(DST)
    95
    96	RET
    97
    98// func ctrBlocks2Asm(nr int, xk *[60]uint32, dst *[2*16]byte, src *[2*16]byte, ivlo uint64, ivhi uint64)
    99TEXT ·ctrBlocks2Asm(SB), NOSPLIT, $0
   100	MOVD nr+0(FP), NR
   101	MOVD xk+8(FP), XK
   102	MOVD dst+16(FP), DST
   103	MOVD src+24(FP), SRC
   104	MOVD ivlo+32(FP), IV_LOW_LE
   105	MOVD ivhi+40(FP), IV_HIGH_LE
   106
   107	REV  IV_LOW_LE, IV_LOW_BE
   108	REV  IV_HIGH_LE, IV_HIGH_BE
   109	VMOV IV_LOW_BE, V0.D[1]
   110	VMOV IV_HIGH_BE, V0.D[0]
   111	ADDS $1, IV_LOW_LE
   112	ADC  $0, IV_HIGH_LE
   113
   114	REV  IV_LOW_LE, IV_LOW_BE
   115	REV  IV_HIGH_LE, IV_HIGH_BE
   116	VMOV IV_LOW_BE, V1.D[1]
   117	VMOV IV_HIGH_BE, V1.D[0]
   118
   119	CMP $12, NR
   120	BLT Lenc128
   121	BEQ Lenc192
   122
   123Lenc256:
   124	VLD1.P 32(XK), [V8.B16, V9.B16]
   125
   126	AESE  V8.B16, V0.B16
   127	AESMC V0.B16, V0.B16
   128	AESE  V8.B16, V1.B16
   129	AESMC V1.B16, V1.B16
   130
   131	AESE  V9.B16, V0.B16
   132	AESMC V0.B16, V0.B16
   133	AESE  V9.B16, V1.B16
   134	AESMC V1.B16, V1.B16
   135
   136Lenc192:
   137	VLD1.P 32(XK), [V10.B16, V11.B16]
   138
   139	AESE  V10.B16, V0.B16
   140	AESMC V0.B16, V0.B16
   141	AESE  V10.B16, V1.B16
   142	AESMC V1.B16, V1.B16
   143
   144	AESE  V11.B16, V0.B16
   145	AESMC V0.B16, V0.B16
   146	AESE  V11.B16, V1.B16
   147	AESMC V1.B16, V1.B16
   148
   149Lenc128:
   150	VLD1.P 64(XK), [V12.B16, V13.B16, V14.B16, V15.B16]
   151	VLD1.P 64(XK), [V16.B16, V17.B16, V18.B16, V19.B16]
   152	VLD1.P 48(XK), [V20.B16, V21.B16, V22.B16]
   153
   154	AESE  V12.B16, V0.B16
   155	AESMC V0.B16, V0.B16
   156	AESE  V12.B16, V1.B16
   157	AESMC V1.B16, V1.B16
   158
   159	AESE  V13.B16, V0.B16
   160	AESMC V0.B16, V0.B16
   161	AESE  V13.B16, V1.B16
   162	AESMC V1.B16, V1.B16
   163
   164	AESE  V14.B16, V0.B16
   165	AESMC V0.B16, V0.B16
   166	AESE  V14.B16, V1.B16
   167	AESMC V1.B16, V1.B16
   168
   169	AESE  V15.B16, V0.B16
   170	AESMC V0.B16, V0.B16
   171	AESE  V15.B16, V1.B16
   172	AESMC V1.B16, V1.B16
   173
   174	AESE  V16.B16, V0.B16
   175	AESMC V0.B16, V0.B16
   176	AESE  V16.B16, V1.B16
   177	AESMC V1.B16, V1.B16
   178
   179	AESE  V17.B16, V0.B16
   180	AESMC V0.B16, V0.B16
   181	AESE  V17.B16, V1.B16
   182	AESMC V1.B16, V1.B16
   183
   184	AESE  V18.B16, V0.B16
   185	AESMC V0.B16, V0.B16
   186	AESE  V18.B16, V1.B16
   187	AESMC V1.B16, V1.B16
   188
   189	AESE  V19.B16, V0.B16
   190	AESMC V0.B16, V0.B16
   191	AESE  V19.B16, V1.B16
   192	AESMC V1.B16, V1.B16
   193
   194	AESE  V20.B16, V0.B16
   195	AESMC V0.B16, V0.B16
   196	AESE  V20.B16, V1.B16
   197	AESMC V1.B16, V1.B16
   198
   199	AESE V21.B16, V0.B16
   200	AESE V21.B16, V1.B16
   201
   202	VEOR V0.B16, V22.B16, V0.B16
   203	VEOR V1.B16, V22.B16, V1.B16
   204
   205	VLD1.P 32(SRC), [V23.B16, V24.B16]
   206	VEOR   V23.B16, V0.B16, V23.B16
   207	VEOR   V24.B16, V1.B16, V24.B16
   208	VST1.P [V23.B16, V24.B16], 32(DST)
   209
   210	RET
   211
   212// func ctrBlocks4Asm(nr int, xk *[60]uint32, dst *[4*16]byte, src *[4*16]byte, ivlo uint64, ivhi uint64)
   213TEXT ·ctrBlocks4Asm(SB), NOSPLIT, $0
   214	MOVD nr+0(FP), NR
   215	MOVD xk+8(FP), XK
   216	MOVD dst+16(FP), DST
   217	MOVD src+24(FP), SRC
   218	MOVD ivlo+32(FP), IV_LOW_LE
   219	MOVD ivhi+40(FP), IV_HIGH_LE
   220
   221	REV  IV_LOW_LE, IV_LOW_BE
   222	REV  IV_HIGH_LE, IV_HIGH_BE
   223	VMOV IV_LOW_BE, V0.D[1]
   224	VMOV IV_HIGH_BE, V0.D[0]
   225	ADDS $1, IV_LOW_LE
   226	ADC  $0, IV_HIGH_LE
   227
   228	REV  IV_LOW_LE, IV_LOW_BE
   229	REV  IV_HIGH_LE, IV_HIGH_BE
   230	VMOV IV_LOW_BE, V1.D[1]
   231	VMOV IV_HIGH_BE, V1.D[0]
   232	ADDS $1, IV_LOW_LE
   233	ADC  $0, IV_HIGH_LE
   234
   235	REV  IV_LOW_LE, IV_LOW_BE
   236	REV  IV_HIGH_LE, IV_HIGH_BE
   237	VMOV IV_LOW_BE, V2.D[1]
   238	VMOV IV_HIGH_BE, V2.D[0]
   239	ADDS $1, IV_LOW_LE
   240	ADC  $0, IV_HIGH_LE
   241
   242	REV  IV_LOW_LE, IV_LOW_BE
   243	REV  IV_HIGH_LE, IV_HIGH_BE
   244	VMOV IV_LOW_BE, V3.D[1]
   245	VMOV IV_HIGH_BE, V3.D[0]
   246
   247	CMP $12, NR
   248	BLT Lenc128
   249	BEQ Lenc192
   250
   251Lenc256:
   252	VLD1.P 32(XK), [V8.B16, V9.B16]
   253
   254	AESE  V8.B16, V0.B16
   255	AESMC V0.B16, V0.B16
   256	AESE  V8.B16, V1.B16
   257	AESMC V1.B16, V1.B16
   258	AESE  V8.B16, V2.B16
   259	AESMC V2.B16, V2.B16
   260	AESE  V8.B16, V3.B16
   261	AESMC V3.B16, V3.B16
   262
   263	AESE  V9.B16, V0.B16
   264	AESMC V0.B16, V0.B16
   265	AESE  V9.B16, V1.B16
   266	AESMC V1.B16, V1.B16
   267	AESE  V9.B16, V2.B16
   268	AESMC V2.B16, V2.B16
   269	AESE  V9.B16, V3.B16
   270	AESMC V3.B16, V3.B16
   271
   272Lenc192:
   273	VLD1.P 32(XK), [V10.B16, V11.B16]
   274
   275	AESE  V10.B16, V0.B16
   276	AESMC V0.B16, V0.B16
   277	AESE  V10.B16, V1.B16
   278	AESMC V1.B16, V1.B16
   279	AESE  V10.B16, V2.B16
   280	AESMC V2.B16, V2.B16
   281	AESE  V10.B16, V3.B16
   282	AESMC V3.B16, V3.B16
   283
   284	AESE  V11.B16, V0.B16
   285	AESMC V0.B16, V0.B16
   286	AESE  V11.B16, V1.B16
   287	AESMC V1.B16, V1.B16
   288	AESE  V11.B16, V2.B16
   289	AESMC V2.B16, V2.B16
   290	AESE  V11.B16, V3.B16
   291	AESMC V3.B16, V3.B16
   292
   293Lenc128:
   294	VLD1.P 64(XK), [V12.B16, V13.B16, V14.B16, V15.B16]
   295	VLD1.P 64(XK), [V16.B16, V17.B16, V18.B16, V19.B16]
   296	VLD1.P 48(XK), [V20.B16, V21.B16, V22.B16]
   297
   298	AESE  V12.B16, V0.B16
   299	AESMC V0.B16, V0.B16
   300	AESE  V12.B16, V1.B16
   301	AESMC V1.B16, V1.B16
   302	AESE  V12.B16, V2.B16
   303	AESMC V2.B16, V2.B16
   304	AESE  V12.B16, V3.B16
   305	AESMC V3.B16, V3.B16
   306
   307	AESE  V13.B16, V0.B16
   308	AESMC V0.B16, V0.B16
   309	AESE  V13.B16, V1.B16
   310	AESMC V1.B16, V1.B16
   311	AESE  V13.B16, V2.B16
   312	AESMC V2.B16, V2.B16
   313	AESE  V13.B16, V3.B16
   314	AESMC V3.B16, V3.B16
   315
   316	AESE  V14.B16, V0.B16
   317	AESMC V0.B16, V0.B16
   318	AESE  V14.B16, V1.B16
   319	AESMC V1.B16, V1.B16
   320	AESE  V14.B16, V2.B16
   321	AESMC V2.B16, V2.B16
   322	AESE  V14.B16, V3.B16
   323	AESMC V3.B16, V3.B16
   324
   325	AESE  V15.B16, V0.B16
   326	AESMC V0.B16, V0.B16
   327	AESE  V15.B16, V1.B16
   328	AESMC V1.B16, V1.B16
   329	AESE  V15.B16, V2.B16
   330	AESMC V2.B16, V2.B16
   331	AESE  V15.B16, V3.B16
   332	AESMC V3.B16, V3.B16
   333
   334	AESE  V16.B16, V0.B16
   335	AESMC V0.B16, V0.B16
   336	AESE  V16.B16, V1.B16
   337	AESMC V1.B16, V1.B16
   338	AESE  V16.B16, V2.B16
   339	AESMC V2.B16, V2.B16
   340	AESE  V16.B16, V3.B16
   341	AESMC V3.B16, V3.B16
   342
   343	AESE  V17.B16, V0.B16
   344	AESMC V0.B16, V0.B16
   345	AESE  V17.B16, V1.B16
   346	AESMC V1.B16, V1.B16
   347	AESE  V17.B16, V2.B16
   348	AESMC V2.B16, V2.B16
   349	AESE  V17.B16, V3.B16
   350	AESMC V3.B16, V3.B16
   351
   352	AESE  V18.B16, V0.B16
   353	AESMC V0.B16, V0.B16
   354	AESE  V18.B16, V1.B16
   355	AESMC V1.B16, V1.B16
   356	AESE  V18.B16, V2.B16
   357	AESMC V2.B16, V2.B16
   358	AESE  V18.B16, V3.B16
   359	AESMC V3.B16, V3.B16
   360
   361	AESE  V19.B16, V0.B16
   362	AESMC V0.B16, V0.B16
   363	AESE  V19.B16, V1.B16
   364	AESMC V1.B16, V1.B16
   365	AESE  V19.B16, V2.B16
   366	AESMC V2.B16, V2.B16
   367	AESE  V19.B16, V3.B16
   368	AESMC V3.B16, V3.B16
   369
   370	AESE  V20.B16, V0.B16
   371	AESMC V0.B16, V0.B16
   372	AESE  V20.B16, V1.B16
   373	AESMC V1.B16, V1.B16
   374	AESE  V20.B16, V2.B16
   375	AESMC V2.B16, V2.B16
   376	AESE  V20.B16, V3.B16
   377	AESMC V3.B16, V3.B16
   378
   379	AESE V21.B16, V0.B16
   380	AESE V21.B16, V1.B16
   381	AESE V21.B16, V2.B16
   382	AESE V21.B16, V3.B16
   383
   384	VEOR V0.B16, V22.B16, V0.B16
   385	VEOR V1.B16, V22.B16, V1.B16
   386	VEOR V2.B16, V22.B16, V2.B16
   387	VEOR V3.B16, V22.B16, V3.B16
   388
   389	VLD1.P 64(SRC), [V23.B16, V24.B16, V25.B16, V26.B16]
   390	VEOR   V23.B16, V0.B16, V23.B16
   391	VEOR   V24.B16, V1.B16, V24.B16
   392	VEOR   V25.B16, V2.B16, V25.B16
   393	VEOR   V26.B16, V3.B16, V26.B16
   394	VST1.P [V23.B16, V24.B16, V25.B16, V26.B16], 64(DST)
   395
   396	RET
   397
   398// func ctrBlocks8Asm(nr int, xk *[60]uint32, dst *[8*16]byte, src *[8*16]byte, ivlo uint64, ivhi uint64)
   399TEXT ·ctrBlocks8Asm(SB), NOSPLIT, $0
   400	MOVD nr+0(FP), NR
   401	MOVD xk+8(FP), XK
   402	MOVD dst+16(FP), DST
   403	MOVD src+24(FP), SRC
   404	MOVD ivlo+32(FP), IV_LOW_LE
   405	MOVD ivhi+40(FP), IV_HIGH_LE
   406
   407	REV  IV_LOW_LE, IV_LOW_BE
   408	REV  IV_HIGH_LE, IV_HIGH_BE
   409	VMOV IV_LOW_BE, V0.D[1]
   410	VMOV IV_HIGH_BE, V0.D[0]
   411	ADDS $1, IV_LOW_LE
   412	ADC  $0, IV_HIGH_LE
   413
   414	REV  IV_LOW_LE, IV_LOW_BE
   415	REV  IV_HIGH_LE, IV_HIGH_BE
   416	VMOV IV_LOW_BE, V1.D[1]
   417	VMOV IV_HIGH_BE, V1.D[0]
   418	ADDS $1, IV_LOW_LE
   419	ADC  $0, IV_HIGH_LE
   420
   421	REV  IV_LOW_LE, IV_LOW_BE
   422	REV  IV_HIGH_LE, IV_HIGH_BE
   423	VMOV IV_LOW_BE, V2.D[1]
   424	VMOV IV_HIGH_BE, V2.D[0]
   425	ADDS $1, IV_LOW_LE
   426	ADC  $0, IV_HIGH_LE
   427
   428	REV  IV_LOW_LE, IV_LOW_BE
   429	REV  IV_HIGH_LE, IV_HIGH_BE
   430	VMOV IV_LOW_BE, V3.D[1]
   431	VMOV IV_HIGH_BE, V3.D[0]
   432	ADDS $1, IV_LOW_LE
   433	ADC  $0, IV_HIGH_LE
   434
   435	REV  IV_LOW_LE, IV_LOW_BE
   436	REV  IV_HIGH_LE, IV_HIGH_BE
   437	VMOV IV_LOW_BE, V4.D[1]
   438	VMOV IV_HIGH_BE, V4.D[0]
   439	ADDS $1, IV_LOW_LE
   440	ADC  $0, IV_HIGH_LE
   441
   442	REV  IV_LOW_LE, IV_LOW_BE
   443	REV  IV_HIGH_LE, IV_HIGH_BE
   444	VMOV IV_LOW_BE, V5.D[1]
   445	VMOV IV_HIGH_BE, V5.D[0]
   446	ADDS $1, IV_LOW_LE
   447	ADC  $0, IV_HIGH_LE
   448
   449	REV  IV_LOW_LE, IV_LOW_BE
   450	REV  IV_HIGH_LE, IV_HIGH_BE
   451	VMOV IV_LOW_BE, V6.D[1]
   452	VMOV IV_HIGH_BE, V6.D[0]
   453	ADDS $1, IV_LOW_LE
   454	ADC  $0, IV_HIGH_LE
   455
   456	REV  IV_LOW_LE, IV_LOW_BE
   457	REV  IV_HIGH_LE, IV_HIGH_BE
   458	VMOV IV_LOW_BE, V7.D[1]
   459	VMOV IV_HIGH_BE, V7.D[0]
   460
   461	CMP $12, NR
   462	BLT Lenc128
   463	BEQ Lenc192
   464
   465Lenc256:
   466	VLD1.P 32(XK), [V8.B16, V9.B16]
   467
   468	AESE  V8.B16, V0.B16
   469	AESMC V0.B16, V0.B16
   470	AESE  V8.B16, V1.B16
   471	AESMC V1.B16, V1.B16
   472	AESE  V8.B16, V2.B16
   473	AESMC V2.B16, V2.B16
   474	AESE  V8.B16, V3.B16
   475	AESMC V3.B16, V3.B16
   476	AESE  V8.B16, V4.B16
   477	AESMC V4.B16, V4.B16
   478	AESE  V8.B16, V5.B16
   479	AESMC V5.B16, V5.B16
   480	AESE  V8.B16, V6.B16
   481	AESMC V6.B16, V6.B16
   482	AESE  V8.B16, V7.B16
   483	AESMC V7.B16, V7.B16
   484
   485	AESE  V9.B16, V0.B16
   486	AESMC V0.B16, V0.B16
   487	AESE  V9.B16, V1.B16
   488	AESMC V1.B16, V1.B16
   489	AESE  V9.B16, V2.B16
   490	AESMC V2.B16, V2.B16
   491	AESE  V9.B16, V3.B16
   492	AESMC V3.B16, V3.B16
   493	AESE  V9.B16, V4.B16
   494	AESMC V4.B16, V4.B16
   495	AESE  V9.B16, V5.B16
   496	AESMC V5.B16, V5.B16
   497	AESE  V9.B16, V6.B16
   498	AESMC V6.B16, V6.B16
   499	AESE  V9.B16, V7.B16
   500	AESMC V7.B16, V7.B16
   501
   502Lenc192:
   503	VLD1.P 32(XK), [V10.B16, V11.B16]
   504
   505	AESE  V10.B16, V0.B16
   506	AESMC V0.B16, V0.B16
   507	AESE  V10.B16, V1.B16
   508	AESMC V1.B16, V1.B16
   509	AESE  V10.B16, V2.B16
   510	AESMC V2.B16, V2.B16
   511	AESE  V10.B16, V3.B16
   512	AESMC V3.B16, V3.B16
   513	AESE  V10.B16, V4.B16
   514	AESMC V4.B16, V4.B16
   515	AESE  V10.B16, V5.B16
   516	AESMC V5.B16, V5.B16
   517	AESE  V10.B16, V6.B16
   518	AESMC V6.B16, V6.B16
   519	AESE  V10.B16, V7.B16
   520	AESMC V7.B16, V7.B16
   521
   522	AESE  V11.B16, V0.B16
   523	AESMC V0.B16, V0.B16
   524	AESE  V11.B16, V1.B16
   525	AESMC V1.B16, V1.B16
   526	AESE  V11.B16, V2.B16
   527	AESMC V2.B16, V2.B16
   528	AESE  V11.B16, V3.B16
   529	AESMC V3.B16, V3.B16
   530	AESE  V11.B16, V4.B16
   531	AESMC V4.B16, V4.B16
   532	AESE  V11.B16, V5.B16
   533	AESMC V5.B16, V5.B16
   534	AESE  V11.B16, V6.B16
   535	AESMC V6.B16, V6.B16
   536	AESE  V11.B16, V7.B16
   537	AESMC V7.B16, V7.B16
   538
   539Lenc128:
   540	VLD1.P 64(XK), [V12.B16, V13.B16, V14.B16, V15.B16]
   541	VLD1.P 64(XK), [V16.B16, V17.B16, V18.B16, V19.B16]
   542	VLD1.P 48(XK), [V20.B16, V21.B16, V22.B16]
   543
   544	AESE  V12.B16, V0.B16
   545	AESMC V0.B16, V0.B16
   546	AESE  V12.B16, V1.B16
   547	AESMC V1.B16, V1.B16
   548	AESE  V12.B16, V2.B16
   549	AESMC V2.B16, V2.B16
   550	AESE  V12.B16, V3.B16
   551	AESMC V3.B16, V3.B16
   552	AESE  V12.B16, V4.B16
   553	AESMC V4.B16, V4.B16
   554	AESE  V12.B16, V5.B16
   555	AESMC V5.B16, V5.B16
   556	AESE  V12.B16, V6.B16
   557	AESMC V6.B16, V6.B16
   558	AESE  V12.B16, V7.B16
   559	AESMC V7.B16, V7.B16
   560
   561	AESE  V13.B16, V0.B16
   562	AESMC V0.B16, V0.B16
   563	AESE  V13.B16, V1.B16
   564	AESMC V1.B16, V1.B16
   565	AESE  V13.B16, V2.B16
   566	AESMC V2.B16, V2.B16
   567	AESE  V13.B16, V3.B16
   568	AESMC V3.B16, V3.B16
   569	AESE  V13.B16, V4.B16
   570	AESMC V4.B16, V4.B16
   571	AESE  V13.B16, V5.B16
   572	AESMC V5.B16, V5.B16
   573	AESE  V13.B16, V6.B16
   574	AESMC V6.B16, V6.B16
   575	AESE  V13.B16, V7.B16
   576	AESMC V7.B16, V7.B16
   577
   578	AESE  V14.B16, V0.B16
   579	AESMC V0.B16, V0.B16
   580	AESE  V14.B16, V1.B16
   581	AESMC V1.B16, V1.B16
   582	AESE  V14.B16, V2.B16
   583	AESMC V2.B16, V2.B16
   584	AESE  V14.B16, V3.B16
   585	AESMC V3.B16, V3.B16
   586	AESE  V14.B16, V4.B16
   587	AESMC V4.B16, V4.B16
   588	AESE  V14.B16, V5.B16
   589	AESMC V5.B16, V5.B16
   590	AESE  V14.B16, V6.B16
   591	AESMC V6.B16, V6.B16
   592	AESE  V14.B16, V7.B16
   593	AESMC V7.B16, V7.B16
   594
   595	AESE  V15.B16, V0.B16
   596	AESMC V0.B16, V0.B16
   597	AESE  V15.B16, V1.B16
   598	AESMC V1.B16, V1.B16
   599	AESE  V15.B16, V2.B16
   600	AESMC V2.B16, V2.B16
   601	AESE  V15.B16, V3.B16
   602	AESMC V3.B16, V3.B16
   603	AESE  V15.B16, V4.B16
   604	AESMC V4.B16, V4.B16
   605	AESE  V15.B16, V5.B16
   606	AESMC V5.B16, V5.B16
   607	AESE  V15.B16, V6.B16
   608	AESMC V6.B16, V6.B16
   609	AESE  V15.B16, V7.B16
   610	AESMC V7.B16, V7.B16
   611
   612	AESE  V16.B16, V0.B16
   613	AESMC V0.B16, V0.B16
   614	AESE  V16.B16, V1.B16
   615	AESMC V1.B16, V1.B16
   616	AESE  V16.B16, V2.B16
   617	AESMC V2.B16, V2.B16
   618	AESE  V16.B16, V3.B16
   619	AESMC V3.B16, V3.B16
   620	AESE  V16.B16, V4.B16
   621	AESMC V4.B16, V4.B16
   622	AESE  V16.B16, V5.B16
   623	AESMC V5.B16, V5.B16
   624	AESE  V16.B16, V6.B16
   625	AESMC V6.B16, V6.B16
   626	AESE  V16.B16, V7.B16
   627	AESMC V7.B16, V7.B16
   628
   629	AESE  V17.B16, V0.B16
   630	AESMC V0.B16, V0.B16
   631	AESE  V17.B16, V1.B16
   632	AESMC V1.B16, V1.B16
   633	AESE  V17.B16, V2.B16
   634	AESMC V2.B16, V2.B16
   635	AESE  V17.B16, V3.B16
   636	AESMC V3.B16, V3.B16
   637	AESE  V17.B16, V4.B16
   638	AESMC V4.B16, V4.B16
   639	AESE  V17.B16, V5.B16
   640	AESMC V5.B16, V5.B16
   641	AESE  V17.B16, V6.B16
   642	AESMC V6.B16, V6.B16
   643	AESE  V17.B16, V7.B16
   644	AESMC V7.B16, V7.B16
   645
   646	AESE  V18.B16, V0.B16
   647	AESMC V0.B16, V0.B16
   648	AESE  V18.B16, V1.B16
   649	AESMC V1.B16, V1.B16
   650	AESE  V18.B16, V2.B16
   651	AESMC V2.B16, V2.B16
   652	AESE  V18.B16, V3.B16
   653	AESMC V3.B16, V3.B16
   654	AESE  V18.B16, V4.B16
   655	AESMC V4.B16, V4.B16
   656	AESE  V18.B16, V5.B16
   657	AESMC V5.B16, V5.B16
   658	AESE  V18.B16, V6.B16
   659	AESMC V6.B16, V6.B16
   660	AESE  V18.B16, V7.B16
   661	AESMC V7.B16, V7.B16
   662
   663	AESE  V19.B16, V0.B16
   664	AESMC V0.B16, V0.B16
   665	AESE  V19.B16, V1.B16
   666	AESMC V1.B16, V1.B16
   667	AESE  V19.B16, V2.B16
   668	AESMC V2.B16, V2.B16
   669	AESE  V19.B16, V3.B16
   670	AESMC V3.B16, V3.B16
   671	AESE  V19.B16, V4.B16
   672	AESMC V4.B16, V4.B16
   673	AESE  V19.B16, V5.B16
   674	AESMC V5.B16, V5.B16
   675	AESE  V19.B16, V6.B16
   676	AESMC V6.B16, V6.B16
   677	AESE  V19.B16, V7.B16
   678	AESMC V7.B16, V7.B16
   679
   680	AESE  V20.B16, V0.B16
   681	AESMC V0.B16, V0.B16
   682	AESE  V20.B16, V1.B16
   683	AESMC V1.B16, V1.B16
   684	AESE  V20.B16, V2.B16
   685	AESMC V2.B16, V2.B16
   686	AESE  V20.B16, V3.B16
   687	AESMC V3.B16, V3.B16
   688	AESE  V20.B16, V4.B16
   689	AESMC V4.B16, V4.B16
   690	AESE  V20.B16, V5.B16
   691	AESMC V5.B16, V5.B16
   692	AESE  V20.B16, V6.B16
   693	AESMC V6.B16, V6.B16
   694	AESE  V20.B16, V7.B16
   695	AESMC V7.B16, V7.B16
   696
   697	AESE V21.B16, V0.B16
   698	AESE V21.B16, V1.B16
   699	AESE V21.B16, V2.B16
   700	AESE V21.B16, V3.B16
   701	AESE V21.B16, V4.B16
   702	AESE V21.B16, V5.B16
   703	AESE V21.B16, V6.B16
   704	AESE V21.B16, V7.B16
   705
   706	VEOR V0.B16, V22.B16, V0.B16
   707	VEOR V1.B16, V22.B16, V1.B16
   708	VEOR V2.B16, V22.B16, V2.B16
   709	VEOR V3.B16, V22.B16, V3.B16
   710	VEOR V4.B16, V22.B16, V4.B16
   711	VEOR V5.B16, V22.B16, V5.B16
   712	VEOR V6.B16, V22.B16, V6.B16
   713	VEOR V7.B16, V22.B16, V7.B16
   714
   715	VLD1.P 64(SRC), [V23.B16, V24.B16, V25.B16, V26.B16]
   716	VLD1.P 64(SRC), [V27.B16, V28.B16, V29.B16, V30.B16]
   717	VEOR   V23.B16, V0.B16, V23.B16
   718	VEOR   V24.B16, V1.B16, V24.B16
   719	VEOR   V25.B16, V2.B16, V25.B16
   720	VEOR   V26.B16, V3.B16, V26.B16
   721	VEOR   V27.B16, V4.B16, V27.B16
   722	VEOR   V28.B16, V5.B16, V28.B16
   723	VEOR   V29.B16, V6.B16, V29.B16
   724	VEOR   V30.B16, V7.B16, V30.B16
   725	VST1.P [V23.B16, V24.B16, V25.B16, V26.B16], 64(DST)
   726	VST1.P [V27.B16, V28.B16, V29.B16, V30.B16], 64(DST)
   727
   728	RET
   729

View as plain text