Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(451)

Side by Side Diff: third_party/boringssl/win-x86_64/crypto/chacha/chacha-x86_64.asm

Issue 2108153003: Roll src/third_party/boringssl/src 3cab5572b..95c6956 (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: roll a little further Created 4 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « third_party/boringssl/err_data.c ('k') | tools/metrics/histograms/histograms.xml » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 default rel 1 default rel
2 %define XMMWORD 2 %define XMMWORD
3 %define YMMWORD 3 %define YMMWORD
4 %define ZMMWORD 4 %define ZMMWORD
5 section .text code align=64 5 section .text code align=64
6 6
7 7
8 EXTERN OPENSSL_ia32cap_P 8 EXTERN OPENSSL_ia32cap_P
9 9
10 ALIGN 64 10 ALIGN 64
(...skipping 1073 matching lines...) Expand 10 before | Expand all | Expand 10 after
1084 1084
1085 1085
1086 1086
1087 1087
1088 1088
1089 1089
1090 1090
1091 1091
1092 1092
1093 1093
1094 » vbroadcasti128» ymm11,YMMWORD[$L$sigma] 1094 » vbroadcasti128» ymm11,XMMWORD[$L$sigma]
1095 » vbroadcasti128» ymm3,YMMWORD[rcx] 1095 » vbroadcasti128» ymm3,XMMWORD[rcx]
1096 » vbroadcasti128» ymm15,YMMWORD[16+rcx] 1096 » vbroadcasti128» ymm15,XMMWORD[16+rcx]
1097 » vbroadcasti128» ymm7,YMMWORD[r8] 1097 » vbroadcasti128» ymm7,XMMWORD[r8]
1098 lea rcx,[256+rsp] 1098 lea rcx,[256+rsp]
1099 lea rax,[512+rsp] 1099 lea rax,[512+rsp]
1100 lea r10,[$L$rot16] 1100 lea r10,[$L$rot16]
1101 lea r11,[$L$rot24] 1101 lea r11,[$L$rot24]
1102 1102
1103 vpshufd ymm8,ymm11,0x00 1103 vpshufd ymm8,ymm11,0x00
1104 vpshufd ymm9,ymm11,0x55 1104 vpshufd ymm9,ymm11,0x55
1105 vmovdqa YMMWORD[(128-256)+rcx],ymm8 1105 vmovdqa YMMWORD[(128-256)+rcx],ymm8
1106 vpshufd ymm10,ymm11,0xaa 1106 vpshufd ymm10,ymm11,0xaa
1107 vmovdqa YMMWORD[(160-256)+rcx],ymm9 1107 vmovdqa YMMWORD[(160-256)+rcx],ymm9
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
1154 vmovdqa ymm15,YMMWORD[((480-512))+rax] 1154 vmovdqa ymm15,YMMWORD[((480-512))+rax]
1155 vmovdqa ymm4,YMMWORD[((512-512))+rax] 1155 vmovdqa ymm4,YMMWORD[((512-512))+rax]
1156 vmovdqa ymm5,YMMWORD[((544-512))+rax] 1156 vmovdqa ymm5,YMMWORD[((544-512))+rax]
1157 vmovdqa ymm6,YMMWORD[((576-512))+rax] 1157 vmovdqa ymm6,YMMWORD[((576-512))+rax]
1158 vmovdqa ymm7,YMMWORD[((608-512))+rax] 1158 vmovdqa ymm7,YMMWORD[((608-512))+rax]
1159 vpaddd ymm4,ymm4,YMMWORD[$L$eight] 1159 vpaddd ymm4,ymm4,YMMWORD[$L$eight]
1160 1160
1161 $L$oop_enter8x: 1161 $L$oop_enter8x:
1162 vmovdqa YMMWORD[64+rsp],ymm14 1162 vmovdqa YMMWORD[64+rsp],ymm14
1163 vmovdqa YMMWORD[96+rsp],ymm15 1163 vmovdqa YMMWORD[96+rsp],ymm15
1164 » vbroadcasti128» ymm15,YMMWORD[r10] 1164 » vbroadcasti128» ymm15,XMMWORD[r10]
1165 vmovdqa YMMWORD[(512-512)+rax],ymm4 1165 vmovdqa YMMWORD[(512-512)+rax],ymm4
1166 mov eax,10 1166 mov eax,10
1167 jmp NEAR $L$oop8x 1167 jmp NEAR $L$oop8x
1168 1168
1169 ALIGN 32 1169 ALIGN 32
1170 $L$oop8x: 1170 $L$oop8x:
1171 vpaddd ymm8,ymm8,ymm0 1171 vpaddd ymm8,ymm8,ymm0
1172 vpxor ymm4,ymm8,ymm4 1172 vpxor ymm4,ymm8,ymm4
1173 vpshufb ymm4,ymm4,ymm15 1173 vpshufb ymm4,ymm4,ymm15
1174 vpaddd ymm9,ymm9,ymm1 1174 vpaddd ymm9,ymm9,ymm1
1175 vpxor ymm5,ymm9,ymm5 1175 vpxor ymm5,ymm9,ymm5
1176 vpshufb ymm5,ymm5,ymm15 1176 vpshufb ymm5,ymm5,ymm15
1177 vpaddd ymm12,ymm12,ymm4 1177 vpaddd ymm12,ymm12,ymm4
1178 vpxor ymm0,ymm12,ymm0 1178 vpxor ymm0,ymm12,ymm0
1179 vpslld ymm14,ymm0,12 1179 vpslld ymm14,ymm0,12
1180 vpsrld ymm0,ymm0,20 1180 vpsrld ymm0,ymm0,20
1181 vpor ymm0,ymm14,ymm0 1181 vpor ymm0,ymm14,ymm0
1182 » vbroadcasti128» ymm14,YMMWORD[r11] 1182 » vbroadcasti128» ymm14,XMMWORD[r11]
1183 vpaddd ymm13,ymm13,ymm5 1183 vpaddd ymm13,ymm13,ymm5
1184 vpxor ymm1,ymm13,ymm1 1184 vpxor ymm1,ymm13,ymm1
1185 vpslld ymm15,ymm1,12 1185 vpslld ymm15,ymm1,12
1186 vpsrld ymm1,ymm1,20 1186 vpsrld ymm1,ymm1,20
1187 vpor ymm1,ymm15,ymm1 1187 vpor ymm1,ymm15,ymm1
1188 vpaddd ymm8,ymm8,ymm0 1188 vpaddd ymm8,ymm8,ymm0
1189 vpxor ymm4,ymm8,ymm4 1189 vpxor ymm4,ymm8,ymm4
1190 vpshufb ymm4,ymm4,ymm14 1190 vpshufb ymm4,ymm4,ymm14
1191 vpaddd ymm9,ymm9,ymm1 1191 vpaddd ymm9,ymm9,ymm1
1192 vpxor ymm5,ymm9,ymm5 1192 vpxor ymm5,ymm9,ymm5
1193 vpshufb ymm5,ymm5,ymm14 1193 vpshufb ymm5,ymm5,ymm14
1194 vpaddd ymm12,ymm12,ymm4 1194 vpaddd ymm12,ymm12,ymm4
1195 vpxor ymm0,ymm12,ymm0 1195 vpxor ymm0,ymm12,ymm0
1196 vpslld ymm15,ymm0,7 1196 vpslld ymm15,ymm0,7
1197 vpsrld ymm0,ymm0,25 1197 vpsrld ymm0,ymm0,25
1198 vpor ymm0,ymm15,ymm0 1198 vpor ymm0,ymm15,ymm0
1199 » vbroadcasti128» ymm15,YMMWORD[r10] 1199 » vbroadcasti128» ymm15,XMMWORD[r10]
1200 vpaddd ymm13,ymm13,ymm5 1200 vpaddd ymm13,ymm13,ymm5
1201 vpxor ymm1,ymm13,ymm1 1201 vpxor ymm1,ymm13,ymm1
1202 vpslld ymm14,ymm1,7 1202 vpslld ymm14,ymm1,7
1203 vpsrld ymm1,ymm1,25 1203 vpsrld ymm1,ymm1,25
1204 vpor ymm1,ymm14,ymm1 1204 vpor ymm1,ymm14,ymm1
1205 vmovdqa YMMWORD[rsp],ymm12 1205 vmovdqa YMMWORD[rsp],ymm12
1206 vmovdqa YMMWORD[32+rsp],ymm13 1206 vmovdqa YMMWORD[32+rsp],ymm13
1207 vmovdqa ymm12,YMMWORD[64+rsp] 1207 vmovdqa ymm12,YMMWORD[64+rsp]
1208 vmovdqa ymm13,YMMWORD[96+rsp] 1208 vmovdqa ymm13,YMMWORD[96+rsp]
1209 vpaddd ymm10,ymm10,ymm2 1209 vpaddd ymm10,ymm10,ymm2
1210 vpxor ymm6,ymm10,ymm6 1210 vpxor ymm6,ymm10,ymm6
1211 vpshufb ymm6,ymm6,ymm15 1211 vpshufb ymm6,ymm6,ymm15
1212 vpaddd ymm11,ymm11,ymm3 1212 vpaddd ymm11,ymm11,ymm3
1213 vpxor ymm7,ymm11,ymm7 1213 vpxor ymm7,ymm11,ymm7
1214 vpshufb ymm7,ymm7,ymm15 1214 vpshufb ymm7,ymm7,ymm15
1215 vpaddd ymm12,ymm12,ymm6 1215 vpaddd ymm12,ymm12,ymm6
1216 vpxor ymm2,ymm12,ymm2 1216 vpxor ymm2,ymm12,ymm2
1217 vpslld ymm14,ymm2,12 1217 vpslld ymm14,ymm2,12
1218 vpsrld ymm2,ymm2,20 1218 vpsrld ymm2,ymm2,20
1219 vpor ymm2,ymm14,ymm2 1219 vpor ymm2,ymm14,ymm2
1220 » vbroadcasti128» ymm14,YMMWORD[r11] 1220 » vbroadcasti128» ymm14,XMMWORD[r11]
1221 vpaddd ymm13,ymm13,ymm7 1221 vpaddd ymm13,ymm13,ymm7
1222 vpxor ymm3,ymm13,ymm3 1222 vpxor ymm3,ymm13,ymm3
1223 vpslld ymm15,ymm3,12 1223 vpslld ymm15,ymm3,12
1224 vpsrld ymm3,ymm3,20 1224 vpsrld ymm3,ymm3,20
1225 vpor ymm3,ymm15,ymm3 1225 vpor ymm3,ymm15,ymm3
1226 vpaddd ymm10,ymm10,ymm2 1226 vpaddd ymm10,ymm10,ymm2
1227 vpxor ymm6,ymm10,ymm6 1227 vpxor ymm6,ymm10,ymm6
1228 vpshufb ymm6,ymm6,ymm14 1228 vpshufb ymm6,ymm6,ymm14
1229 vpaddd ymm11,ymm11,ymm3 1229 vpaddd ymm11,ymm11,ymm3
1230 vpxor ymm7,ymm11,ymm7 1230 vpxor ymm7,ymm11,ymm7
1231 vpshufb ymm7,ymm7,ymm14 1231 vpshufb ymm7,ymm7,ymm14
1232 vpaddd ymm12,ymm12,ymm6 1232 vpaddd ymm12,ymm12,ymm6
1233 vpxor ymm2,ymm12,ymm2 1233 vpxor ymm2,ymm12,ymm2
1234 vpslld ymm15,ymm2,7 1234 vpslld ymm15,ymm2,7
1235 vpsrld ymm2,ymm2,25 1235 vpsrld ymm2,ymm2,25
1236 vpor ymm2,ymm15,ymm2 1236 vpor ymm2,ymm15,ymm2
1237 » vbroadcasti128» ymm15,YMMWORD[r10] 1237 » vbroadcasti128» ymm15,XMMWORD[r10]
1238 vpaddd ymm13,ymm13,ymm7 1238 vpaddd ymm13,ymm13,ymm7
1239 vpxor ymm3,ymm13,ymm3 1239 vpxor ymm3,ymm13,ymm3
1240 vpslld ymm14,ymm3,7 1240 vpslld ymm14,ymm3,7
1241 vpsrld ymm3,ymm3,25 1241 vpsrld ymm3,ymm3,25
1242 vpor ymm3,ymm14,ymm3 1242 vpor ymm3,ymm14,ymm3
1243 vpaddd ymm8,ymm8,ymm1 1243 vpaddd ymm8,ymm8,ymm1
1244 vpxor ymm7,ymm8,ymm7 1244 vpxor ymm7,ymm8,ymm7
1245 vpshufb ymm7,ymm7,ymm15 1245 vpshufb ymm7,ymm7,ymm15
1246 vpaddd ymm9,ymm9,ymm2 1246 vpaddd ymm9,ymm9,ymm2
1247 vpxor ymm4,ymm9,ymm4 1247 vpxor ymm4,ymm9,ymm4
1248 vpshufb ymm4,ymm4,ymm15 1248 vpshufb ymm4,ymm4,ymm15
1249 vpaddd ymm12,ymm12,ymm7 1249 vpaddd ymm12,ymm12,ymm7
1250 vpxor ymm1,ymm12,ymm1 1250 vpxor ymm1,ymm12,ymm1
1251 vpslld ymm14,ymm1,12 1251 vpslld ymm14,ymm1,12
1252 vpsrld ymm1,ymm1,20 1252 vpsrld ymm1,ymm1,20
1253 vpor ymm1,ymm14,ymm1 1253 vpor ymm1,ymm14,ymm1
1254 » vbroadcasti128» ymm14,YMMWORD[r11] 1254 » vbroadcasti128» ymm14,XMMWORD[r11]
1255 vpaddd ymm13,ymm13,ymm4 1255 vpaddd ymm13,ymm13,ymm4
1256 vpxor ymm2,ymm13,ymm2 1256 vpxor ymm2,ymm13,ymm2
1257 vpslld ymm15,ymm2,12 1257 vpslld ymm15,ymm2,12
1258 vpsrld ymm2,ymm2,20 1258 vpsrld ymm2,ymm2,20
1259 vpor ymm2,ymm15,ymm2 1259 vpor ymm2,ymm15,ymm2
1260 vpaddd ymm8,ymm8,ymm1 1260 vpaddd ymm8,ymm8,ymm1
1261 vpxor ymm7,ymm8,ymm7 1261 vpxor ymm7,ymm8,ymm7
1262 vpshufb ymm7,ymm7,ymm14 1262 vpshufb ymm7,ymm7,ymm14
1263 vpaddd ymm9,ymm9,ymm2 1263 vpaddd ymm9,ymm9,ymm2
1264 vpxor ymm4,ymm9,ymm4 1264 vpxor ymm4,ymm9,ymm4
1265 vpshufb ymm4,ymm4,ymm14 1265 vpshufb ymm4,ymm4,ymm14
1266 vpaddd ymm12,ymm12,ymm7 1266 vpaddd ymm12,ymm12,ymm7
1267 vpxor ymm1,ymm12,ymm1 1267 vpxor ymm1,ymm12,ymm1
1268 vpslld ymm15,ymm1,7 1268 vpslld ymm15,ymm1,7
1269 vpsrld ymm1,ymm1,25 1269 vpsrld ymm1,ymm1,25
1270 vpor ymm1,ymm15,ymm1 1270 vpor ymm1,ymm15,ymm1
1271 » vbroadcasti128» ymm15,YMMWORD[r10] 1271 » vbroadcasti128» ymm15,XMMWORD[r10]
1272 vpaddd ymm13,ymm13,ymm4 1272 vpaddd ymm13,ymm13,ymm4
1273 vpxor ymm2,ymm13,ymm2 1273 vpxor ymm2,ymm13,ymm2
1274 vpslld ymm14,ymm2,7 1274 vpslld ymm14,ymm2,7
1275 vpsrld ymm2,ymm2,25 1275 vpsrld ymm2,ymm2,25
1276 vpor ymm2,ymm14,ymm2 1276 vpor ymm2,ymm14,ymm2
1277 vmovdqa YMMWORD[64+rsp],ymm12 1277 vmovdqa YMMWORD[64+rsp],ymm12
1278 vmovdqa YMMWORD[96+rsp],ymm13 1278 vmovdqa YMMWORD[96+rsp],ymm13
1279 vmovdqa ymm12,YMMWORD[rsp] 1279 vmovdqa ymm12,YMMWORD[rsp]
1280 vmovdqa ymm13,YMMWORD[32+rsp] 1280 vmovdqa ymm13,YMMWORD[32+rsp]
1281 vpaddd ymm10,ymm10,ymm3 1281 vpaddd ymm10,ymm10,ymm3
1282 vpxor ymm5,ymm10,ymm5 1282 vpxor ymm5,ymm10,ymm5
1283 vpshufb ymm5,ymm5,ymm15 1283 vpshufb ymm5,ymm5,ymm15
1284 vpaddd ymm11,ymm11,ymm0 1284 vpaddd ymm11,ymm11,ymm0
1285 vpxor ymm6,ymm11,ymm6 1285 vpxor ymm6,ymm11,ymm6
1286 vpshufb ymm6,ymm6,ymm15 1286 vpshufb ymm6,ymm6,ymm15
1287 vpaddd ymm12,ymm12,ymm5 1287 vpaddd ymm12,ymm12,ymm5
1288 vpxor ymm3,ymm12,ymm3 1288 vpxor ymm3,ymm12,ymm3
1289 vpslld ymm14,ymm3,12 1289 vpslld ymm14,ymm3,12
1290 vpsrld ymm3,ymm3,20 1290 vpsrld ymm3,ymm3,20
1291 vpor ymm3,ymm14,ymm3 1291 vpor ymm3,ymm14,ymm3
1292 » vbroadcasti128» ymm14,YMMWORD[r11] 1292 » vbroadcasti128» ymm14,XMMWORD[r11]
1293 vpaddd ymm13,ymm13,ymm6 1293 vpaddd ymm13,ymm13,ymm6
1294 vpxor ymm0,ymm13,ymm0 1294 vpxor ymm0,ymm13,ymm0
1295 vpslld ymm15,ymm0,12 1295 vpslld ymm15,ymm0,12
1296 vpsrld ymm0,ymm0,20 1296 vpsrld ymm0,ymm0,20
1297 vpor ymm0,ymm15,ymm0 1297 vpor ymm0,ymm15,ymm0
1298 vpaddd ymm10,ymm10,ymm3 1298 vpaddd ymm10,ymm10,ymm3
1299 vpxor ymm5,ymm10,ymm5 1299 vpxor ymm5,ymm10,ymm5
1300 vpshufb ymm5,ymm5,ymm14 1300 vpshufb ymm5,ymm5,ymm14
1301 vpaddd ymm11,ymm11,ymm0 1301 vpaddd ymm11,ymm11,ymm0
1302 vpxor ymm6,ymm11,ymm6 1302 vpxor ymm6,ymm11,ymm6
1303 vpshufb ymm6,ymm6,ymm14 1303 vpshufb ymm6,ymm6,ymm14
1304 vpaddd ymm12,ymm12,ymm5 1304 vpaddd ymm12,ymm12,ymm5
1305 vpxor ymm3,ymm12,ymm3 1305 vpxor ymm3,ymm12,ymm3
1306 vpslld ymm15,ymm3,7 1306 vpslld ymm15,ymm3,7
1307 vpsrld ymm3,ymm3,25 1307 vpsrld ymm3,ymm3,25
1308 vpor ymm3,ymm15,ymm3 1308 vpor ymm3,ymm15,ymm3
1309 » vbroadcasti128» ymm15,YMMWORD[r10] 1309 » vbroadcasti128» ymm15,XMMWORD[r10]
1310 vpaddd ymm13,ymm13,ymm6 1310 vpaddd ymm13,ymm13,ymm6
1311 vpxor ymm0,ymm13,ymm0 1311 vpxor ymm0,ymm13,ymm0
1312 vpslld ymm14,ymm0,7 1312 vpslld ymm14,ymm0,7
1313 vpsrld ymm0,ymm0,25 1313 vpsrld ymm0,ymm0,25
1314 vpor ymm0,ymm14,ymm0 1314 vpor ymm0,ymm14,ymm0
1315 dec eax 1315 dec eax
1316 jnz NEAR $L$oop8x 1316 jnz NEAR $L$oop8x
1317 1317
1318 lea rax,[512+rsp] 1318 lea rax,[512+rsp]
1319 vpaddd ymm8,ymm8,YMMWORD[((128-256))+rcx] 1319 vpaddd ymm8,ymm8,YMMWORD[((128-256))+rcx]
(...skipping 360 matching lines...) Expand 10 before | Expand all | Expand 10 after
1680 movaps xmm11,XMMWORD[32+r11] 1680 movaps xmm11,XMMWORD[32+r11]
1681 movaps xmm12,XMMWORD[48+r11] 1681 movaps xmm12,XMMWORD[48+r11]
1682 movaps xmm13,XMMWORD[64+r11] 1682 movaps xmm13,XMMWORD[64+r11]
1683 movaps xmm14,XMMWORD[80+r11] 1683 movaps xmm14,XMMWORD[80+r11]
1684 movaps xmm15,XMMWORD[96+r11] 1684 movaps xmm15,XMMWORD[96+r11]
1685 mov rsp,QWORD[640+rsp] 1685 mov rsp,QWORD[640+rsp]
1686 mov rdi,QWORD[8+rsp] ;WIN64 epilogue 1686 mov rdi,QWORD[8+rsp] ;WIN64 epilogue
1687 mov rsi,QWORD[16+rsp] 1687 mov rsi,QWORD[16+rsp]
1688 DB 0F3h,0C3h ;repret 1688 DB 0F3h,0C3h ;repret
1689 $L$SEH_end_ChaCha20_8x: 1689 $L$SEH_end_ChaCha20_8x:
OLDNEW
« no previous file with comments | « third_party/boringssl/err_data.c ('k') | tools/metrics/histograms/histograms.xml » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698