696 lines · plain
1## Check that llvm-bolt is able to parse DWARF expressions in CFI instructions,2## store them in memory and correctly write them back to the output binary.3 4# RUN: llvm-mc -filetype=obj -triple x86_64-unknown-unknown %s -o %t.o5# RUN: %clang %cflags %t.o -o %t.exe6# RUN: llvm-bolt %t.exe -o %t && llvm-dwarfdump --eh-frame %t | FileCheck %s7#8# CHECK: DW_CFA_advance_loc: 59# CHECK-NEXT: DW_CFA_def_cfa: R10 +010# CHECK-NEXT: DW_CFA_advance_loc: 911# CHECK-NEXT: DW_CFA_expression: RBP DW_OP_breg6 RBP+012# CHECK-NEXT: DW_CFA_advance_loc: 513# CHECK-NEXT: DW_CFA_def_cfa_expression: DW_OP_breg6 RBP-8, DW_OP_deref14# CHECK-NEXT: DW_CFA_advance_loc2: 313015# CHECK-NEXT: DW_CFA_def_cfa: R10 +016# CHECK-NEXT: DW_CFA_advance_loc: 517# CHECK-NEXT: DW_CFA_def_cfa: RSP +818 19 .text20 .globl main21 .type main, %function22main:23# FDATA: 0 [unknown] 0 1 main 0 0 024 .cfi_startproc25.LBB06:26 pushq %rbp27 .cfi_def_cfa_offset 1628 .cfi_offset %rbp, -1629 movq %rsp, %rbp30 .cfi_def_cfa_register %rbp31 callq blake2b_compress_avx232 movl $0x0, %eax33 popq %rbp34 .cfi_def_cfa %rsp, 835 retq36 37 .cfi_endproc38.size main, .-main39 40 .globl blake2b_compress_avx241 .type blake2b_compress_avx2, %function42blake2b_compress_avx2:43# FDATA: 0 [unknown] 0 1 blake2b_compress_avx2 0 0 044 .cfi_startproc45.LBB07:46 leaq 0x8(%rsp), %r1047 .cfi_def_cfa %r10, 048 andq $-0x20, %rsp49 pushq -0x8(%r10)50 pushq %rbp51 .cfi_escape 0x10, 0x06, 0x02, 0x76, 0x00 #52 movq %rsp, %rbp53 pushq %r1054 .cfi_escape 0x0f, 0x03, 0x76, 0x78, 0x06 #55 subq $0x170, %rsp56 vbroadcasti128 (%rsi), %ymm1057 vbroadcasti128 0x10(%rsi), %ymm858 vbroadcasti128 0x30(%rsi), %ymm759 vbroadcasti128 0x70(%rsi), %ymm460 vpunpcklqdq %ymm8, %ymm10, %ymm061 vbroadcasti128 0x20(%rsi), %ymm1162 vmovdqa %ymm7, -0x30(%rbp)63 vpunpcklqdq -0x30(%rbp), %ymm11, %ymm164 vmovdqa %ymm4, %ymm1565 vpblendd $0xf0, %ymm1, %ymm0, %ymm466 vpaddq (%rdi), %ymm4, %ymm1367 vpaddq 0x20(%rdi), %ymm13, %ymm1368 vmovdqa %ymm4, -0x190(%rbp)69 vbroadcasti128 0x60(%rsi), %ymm770 vbroadcasti128 0x50(%rsi), %ymm671 vbroadcasti128 0x40(%rsi), %ymm972 vpunpcklqdq %ymm15, %ymm7, %ymm1473 vmovq 0x50(%rdi), %xmm574 vpinsrq $0x1, 0x58(%rdi), %xmm5, %xmm175 vmovq 0x40(%rdi), %xmm576 vpinsrq $0x1, 0x48(%rdi), %xmm5, %xmm077 vinserti128 $0x1, %xmm1, %ymm0, %ymm178 vpunpckhqdq %ymm8, %ymm10, %ymm079 vpxor "blake2b_IV/1"+32(%rip), %ymm1, %ymm180 vpunpckhqdq -0x30(%rbp), %ymm11, %ymm481 vpblendd $0xf0, %ymm4, %ymm0, %ymm082 vmovdqa DATAat0x401380(%rip), %ymm583 vmovdqa %ymm0, -0xb0(%rbp)84 vpxor %ymm13, %ymm1, %ymm185 vpaddq -0xb0(%rbp), %ymm13, %ymm1386 vpshufd $0xb1, %ymm1, %ymm187 vmovdqa DATAat0x4013a0(%rip), %ymm488 vpaddq "blake2b_IV/1"(%rip), %ymm1, %ymm389 vpxor 0x20(%rdi), %ymm3, %ymm290 vpshufb %ymm5, %ymm2, %ymm291 vpaddq %ymm2, %ymm13, %ymm1392 vpxor %ymm1, %ymm13, %ymm193 vpshufb %ymm4, %ymm1, %ymm194 vpaddq %ymm1, %ymm3, %ymm395 vpermq $0x93, %ymm1, %ymm196 vpxor %ymm2, %ymm3, %ymm297 vpsrlq $0x3f, %ymm2, %ymm1298 vpaddq %ymm2, %ymm2, %ymm299 vpermq $0x4e, %ymm3, %ymm3100 vpor %ymm12, %ymm2, %ymm2101 vpermq $0x39, %ymm2, %ymm0102 vpunpcklqdq %ymm6, %ymm9, %ymm2103 vpunpckhqdq %ymm15, %ymm7, %ymm12104 vpblendd $0xf0, %ymm14, %ymm2, %ymm2105 vmovdqa %ymm2, -0xd0(%rbp)106 vpaddq -0xd0(%rbp), %ymm13, %ymm13107 vpunpckhqdq %ymm6, %ymm9, %ymm2108 vpblendd $0xf0, %ymm12, %ymm2, %ymm2109 vmovdqa %ymm2, -0xf0(%rbp)110 vmovdqa %ymm15, %ymm12111 vpaddq %ymm0, %ymm13, %ymm13112 vmovdqa %ymm12, -0x50(%rbp)113 vpxor %ymm13, %ymm1, %ymm1114 vpaddq -0xf0(%rbp), %ymm13, %ymm13115 vpshufd $0xb1, %ymm1, %ymm1116 vpaddq %ymm1, %ymm3, %ymm3117 vpxor %ymm0, %ymm3, %ymm0118 vpshufb %ymm5, %ymm0, %ymm0119 vpaddq %ymm0, %ymm13, %ymm13120 vpxor %ymm1, %ymm13, %ymm1121 vpshufb %ymm4, %ymm1, %ymm1122 vpaddq %ymm1, %ymm3, %ymm3123 vpermq $0x39, %ymm1, %ymm1124 vpxor %ymm0, %ymm3, %ymm0125 vpsrlq $0x3f, %ymm0, %ymm2126 vpaddq %ymm0, %ymm0, %ymm0127 vpermq $0x4e, %ymm3, %ymm3128 vpor %ymm2, %ymm0, %ymm0129 vpunpcklqdq %ymm11, %ymm15, %ymm2130 vmovdqa %ymm2, %ymm15131 vpunpckhqdq %ymm7, %ymm9, %ymm2132 vpblendd $0xf0, %ymm2, %ymm15, %ymm2133 vmovdqa %ymm15, -0x1b0(%rbp)134 vpermq $0x93, %ymm0, %ymm0135 vmovdqa %ymm2, -0x110(%rbp)136 vpunpcklqdq %ymm9, %ymm6, %ymm2137 vpaddq -0x110(%rbp), %ymm13, %ymm13138 vmovdqa %ymm2, %ymm15139 vmovdqa -0x30(%rbp), %ymm2140 vpalignr $0x8, -0x50(%rbp), %ymm2, %ymm2141 vmovdqa %ymm15, -0x1d0(%rbp)142 vpaddq %ymm0, %ymm13, %ymm13143 vpblendd $0xf0, %ymm2, %ymm15, %ymm12144 vpxor %ymm13, %ymm1, %ymm1145 vpshufd $0xb1, %ymm1, %ymm1146 vpaddq %ymm1, %ymm3, %ymm3147 vmovdqa %ymm12, -0x130(%rbp)148 vpxor %ymm0, %ymm3, %ymm0149 vpshufb %ymm5, %ymm0, %ymm0150 vpaddq -0x130(%rbp), %ymm13, %ymm13151 vmovdqa -0x30(%rbp), %ymm15152 vpunpckhqdq %ymm11, %ymm6, %ymm12153 vpaddq %ymm0, %ymm13, %ymm13154 vpxor %ymm1, %ymm13, %ymm1155 vpshufb %ymm4, %ymm1, %ymm1156 vpaddq %ymm1, %ymm3, %ymm3157 vpermq $0x93, %ymm1, %ymm1158 vpxor %ymm0, %ymm3, %ymm0159 vpsrlq $0x3f, %ymm0, %ymm2160 vpaddq %ymm0, %ymm0, %ymm0161 vpermq $0x4e, %ymm3, %ymm3162 vpor %ymm2, %ymm0, %ymm0163 vpshufd $0x4e, %ymm10, %ymm2164 vpblendd $0xf0, %ymm12, %ymm2, %ymm12165 vpermq $0x39, %ymm0, %ymm0166 vmovdqa %ymm12, -0x150(%rbp)167 vpunpckhqdq %ymm8, %ymm15, %ymm12168 vpunpcklqdq %ymm8, %ymm7, %ymm2169 vpaddq -0x150(%rbp), %ymm13, %ymm13170 vmovdqa %ymm12, -0x70(%rbp)171 vmovdqa -0x50(%rbp), %ymm15172 vpblendd $0xf0, -0x70(%rbp), %ymm2, %ymm2173 vpaddq %ymm0, %ymm13, %ymm13174 vmovdqa %ymm2, -0x170(%rbp)175 vpxor %ymm13, %ymm1, %ymm1176 vpunpckhqdq %ymm15, %ymm11, %ymm12177 vpaddq -0x170(%rbp), %ymm13, %ymm13178 vpshufd $0xb1, %ymm1, %ymm1179 vpaddq %ymm1, %ymm3, %ymm3180 vmovdqa %ymm12, -0x90(%rbp)181 vpunpcklqdq %ymm10, %ymm9, %ymm12182 vpxor %ymm0, %ymm3, %ymm0183 vpshufb %ymm5, %ymm0, %ymm0184 vpaddq %ymm0, %ymm13, %ymm13185 vpxor %ymm1, %ymm13, %ymm1186 vpshufb %ymm4, %ymm1, %ymm1187 vpaddq %ymm1, %ymm3, %ymm3188 vpermq $0x39, %ymm1, %ymm1189 vpxor %ymm0, %ymm3, %ymm0190 vpsrlq $0x3f, %ymm0, %ymm2191 vpaddq %ymm0, %ymm0, %ymm0192 vpermq $0x4e, %ymm3, %ymm3193 vpor %ymm2, %ymm0, %ymm0194 vpalignr $0x8, %ymm6, %ymm7, %ymm2195 vpermq $0x93, %ymm0, %ymm0196 vpblendd $0xf0, -0x90(%rbp), %ymm2, %ymm2197 vpaddq %ymm2, %ymm13, %ymm2198 vpblendd $0x33, %ymm8, %ymm7, %ymm13199 vpaddq %ymm0, %ymm2, %ymm2200 vpblendd $0xf0, %ymm13, %ymm12, %ymm12201 vmovdqa -0x30(%rbp), %ymm13202 vpxor %ymm2, %ymm1, %ymm1203 vpaddq %ymm12, %ymm2, %ymm12204 vpshufd $0xb1, %ymm1, %ymm1205 vpaddq %ymm1, %ymm3, %ymm3206 vpxor %ymm0, %ymm3, %ymm0207 vpshufb %ymm5, %ymm0, %ymm0208 vpaddq %ymm0, %ymm12, %ymm12209 vpunpckhqdq %ymm9, %ymm13, %ymm13210 vpxor %ymm1, %ymm12, %ymm1211 vpshufb %ymm4, %ymm1, %ymm1212 vpaddq %ymm1, %ymm3, %ymm3213 vpermq $0x93, %ymm1, %ymm1214 vpxor %ymm0, %ymm3, %ymm0215 vpsrlq $0x3f, %ymm0, %ymm2216 vpaddq %ymm0, %ymm0, %ymm0217 vpermq $0x4e, %ymm3, %ymm3218 vpor %ymm2, %ymm0, %ymm0219 vpblendd $0x33, %ymm6, %ymm8, %ymm2220 vpermq $0x39, %ymm0, %ymm0221 vpblendd $0xf0, %ymm13, %ymm2, %ymm13222 vpunpcklqdq -0x30(%rbp), %ymm15, %ymm2223 vmovdqa -0x70(%rbp), %ymm15224 vpaddq %ymm13, %ymm12, %ymm13225 vpalignr $0x8, %ymm10, %ymm11, %ymm12226 vpaddq %ymm0, %ymm13, %ymm13227 vpblendd $0xf0, %ymm12, %ymm2, %ymm2228 vpxor %ymm13, %ymm1, %ymm1229 vpaddq %ymm2, %ymm13, %ymm2230 vpshufd $0xb1, %ymm1, %ymm1231 vpaddq %ymm1, %ymm3, %ymm3232 vpxor %ymm0, %ymm3, %ymm0233 vpshufb %ymm5, %ymm0, %ymm0234 vpaddq %ymm0, %ymm2, %ymm2235 vpunpckhqdq %ymm10, %ymm9, %ymm13236 vpxor %ymm1, %ymm2, %ymm1237 vpshufb %ymm4, %ymm1, %ymm1238 vpaddq %ymm1, %ymm3, %ymm3239 vpblendd $0xf0, %ymm14, %ymm13, %ymm13240 vpxor %ymm0, %ymm3, %ymm0241 vpsrlq $0x3f, %ymm0, %ymm12242 vpaddq %ymm0, %ymm0, %ymm0243 vpermq $0x39, %ymm1, %ymm1244 vpor %ymm12, %ymm0, %ymm0245 vpunpckhqdq %ymm6, %ymm7, %ymm12246 vpermq $0x93, %ymm0, %ymm0247 vpermq $0x4e, %ymm3, %ymm3248 vpblendd $0xf0, %ymm12, %ymm15, %ymm12249 vmovdqa -0x50(%rbp), %ymm15250 vpaddq %ymm12, %ymm2, %ymm12251 vpaddq %ymm0, %ymm12, %ymm12252 vpblendd $0x33, %ymm11, %ymm15, %ymm14253 vpunpcklqdq %ymm6, %ymm8, %ymm15254 vpxor %ymm12, %ymm1, %ymm1255 vpaddq %ymm13, %ymm12, %ymm13256 vpshufd $0xb1, %ymm1, %ymm1257 vpaddq %ymm1, %ymm3, %ymm3258 vpxor %ymm0, %ymm3, %ymm0259 vpshufb %ymm5, %ymm0, %ymm0260 vpaddq %ymm0, %ymm13, %ymm13261 vpxor %ymm1, %ymm13, %ymm1262 vpshufb %ymm4, %ymm1, %ymm1263 vpaddq %ymm1, %ymm3, %ymm3264 vpermq $0x93, %ymm1, %ymm1265 vpxor %ymm0, %ymm3, %ymm0266 vpsrlq $0x3f, %ymm0, %ymm2267 vpaddq %ymm0, %ymm0, %ymm0268 vpermq $0x4e, %ymm3, %ymm3269 vpor %ymm2, %ymm0, %ymm0270 vpblendd $0x33, %ymm8, %ymm11, %ymm2271 vpermq $0x39, %ymm0, %ymm12272 vmovdqa -0x30(%rbp), %ymm0273 vpblendd $0xf0, %ymm14, %ymm2, %ymm2274 vpaddq %ymm2, %ymm13, %ymm2275 vpunpcklqdq %ymm6, %ymm0, %ymm13276 vmovdqa %ymm13, %ymm0277 vpunpcklqdq %ymm9, %ymm10, %ymm13278 vmovdqa %ymm0, -0x1f0(%rbp)279 vpaddq %ymm12, %ymm2, %ymm2280 vpblendd $0xf0, %ymm13, %ymm0, %ymm0281 vpxor %ymm2, %ymm1, %ymm1282 vpaddq %ymm0, %ymm2, %ymm2283 vpshufd $0xb1, %ymm1, %ymm1284 vpaddq %ymm1, %ymm3, %ymm3285 vpxor %ymm12, %ymm3, %ymm12286 vpshufb %ymm5, %ymm12, %ymm12287 vpaddq %ymm12, %ymm2, %ymm2288 vpxor %ymm1, %ymm2, %ymm1289 vpshufb %ymm4, %ymm1, %ymm1290 vpaddq %ymm1, %ymm3, %ymm3291 vpermq $0x39, %ymm1, %ymm1292 vpxor %ymm12, %ymm3, %ymm12293 vpsrlq $0x3f, %ymm12, %ymm0294 vpaddq %ymm12, %ymm12, %ymm12295 vpermq $0x4e, %ymm3, %ymm3296 vpor %ymm0, %ymm12, %ymm12297 vpermq $0x93, %ymm12, %ymm0298 vpunpckhqdq %ymm11, %ymm9, %ymm12299 vpblendd $0xf0, %ymm15, %ymm12, %ymm12300 vmovdqa -0x30(%rbp), %ymm15301 vpaddq %ymm12, %ymm2, %ymm2302 vpaddq %ymm0, %ymm2, %ymm2303 vpblendd $0x33, %ymm10, %ymm15, %ymm12304 vpxor %ymm2, %ymm1, %ymm1305 vpshufd $0xb1, %ymm1, %ymm1306 vpaddq %ymm1, %ymm3, %ymm3307 vpblendd $0xf0, %ymm14, %ymm12, %ymm14308 vpxor %ymm0, %ymm3, %ymm0309 vpshufb %ymm5, %ymm0, %ymm0310 vmovdqa -0x50(%rbp), %ymm15311 vpaddq %ymm14, %ymm2, %ymm2312 vpblendd $0x33, -0x30(%rbp), %ymm8, %ymm14313 vpaddq %ymm0, %ymm2, %ymm2314 vpxor %ymm1, %ymm2, %ymm1315 vpshufb %ymm4, %ymm1, %ymm1316 vpaddq %ymm1, %ymm3, %ymm3317 vpermq $0x93, %ymm1, %ymm1318 vpxor %ymm0, %ymm3, %ymm0319 vpsrlq $0x3f, %ymm0, %ymm12320 vpaddq %ymm0, %ymm0, %ymm0321 vpermq $0x4e, %ymm3, %ymm3322 vpor %ymm12, %ymm0, %ymm0323 vpblendd $0x33, %ymm15, %ymm6, %ymm12324 vpermq $0x39, %ymm0, %ymm0325 vpblendd $0xf0, %ymm14, %ymm12, %ymm12326 vpblendd $0x33, %ymm9, %ymm7, %ymm14327 vpaddq %ymm12, %ymm2, %ymm2328 vpalignr $0x8, %ymm10, %ymm7, %ymm12329 vpaddq %ymm0, %ymm2, %ymm2330 vpblendd $0xf0, %ymm14, %ymm12, %ymm12331 vmovdqa -0x30(%rbp), %ymm14332 vpxor %ymm2, %ymm1, %ymm1333 vpaddq %ymm12, %ymm2, %ymm2334 vpshufd $0xb1, %ymm1, %ymm1335 vpaddq %ymm1, %ymm3, %ymm3336 vpxor %ymm0, %ymm3, %ymm0337 vpshufb %ymm5, %ymm0, %ymm0338 vpaddq %ymm0, %ymm2, %ymm2339 vpxor %ymm1, %ymm2, %ymm1340 vpshufb %ymm4, %ymm1, %ymm1341 vpaddq %ymm1, %ymm3, %ymm3342 vpermq $0x39, %ymm1, %ymm1343 vpxor %ymm0, %ymm3, %ymm0344 vpsrlq $0x3f, %ymm0, %ymm12345 vpaddq %ymm0, %ymm0, %ymm0346 vpermq $0x4e, %ymm3, %ymm3347 vpor %ymm12, %ymm0, %ymm0348 vpunpcklqdq -0x30(%rbp), %ymm8, %ymm12349 vpblendd $0xf0, %ymm13, %ymm12, %ymm13350 vpermq $0x93, %ymm0, %ymm0351 vpaddq %ymm13, %ymm2, %ymm2352 vpunpcklqdq %ymm6, %ymm7, %ymm12353 vpunpckhqdq %ymm8, %ymm6, %ymm13354 vpblendd $0xf0, %ymm13, %ymm12, %ymm12355 vpaddq %ymm0, %ymm2, %ymm2356 vpunpckhqdq %ymm10, %ymm15, %ymm13357 vpxor %ymm2, %ymm1, %ymm1358 vpaddq %ymm12, %ymm2, %ymm2359 vpshufd $0xb1, %ymm1, %ymm1360 vpaddq %ymm1, %ymm3, %ymm3361 vpxor %ymm0, %ymm3, %ymm0362 vpshufb %ymm5, %ymm0, %ymm0363 vpaddq %ymm0, %ymm2, %ymm2364 vpxor %ymm1, %ymm2, %ymm1365 vpshufb %ymm4, %ymm1, %ymm1366 vpaddq %ymm1, %ymm3, %ymm3367 vpermq $0x93, %ymm1, %ymm1368 vpxor %ymm0, %ymm3, %ymm0369 vpsrlq $0x3f, %ymm0, %ymm12370 vpaddq %ymm0, %ymm0, %ymm0371 vpermq $0x4e, %ymm3, %ymm3372 vpor %ymm12, %ymm0, %ymm0373 vpblendd $0x33, %ymm11, %ymm14, %ymm12374 vmovdqa %ymm15, %ymm14375 vpermq $0x39, %ymm0, %ymm0376 vpblendd $0xf0, %ymm13, %ymm12, %ymm12377 vpblendd $0x33, %ymm14, %ymm9, %ymm13378 vmovdqa -0x90(%rbp), %ymm15379 vpaddq %ymm12, %ymm2, %ymm2380 vpunpckhqdq %ymm11, %ymm7, %ymm12381 vpblendd $0xf0, %ymm13, %ymm12, %ymm12382 vpshufd $0x4e, %ymm9, %ymm13383 vpaddq %ymm0, %ymm2, %ymm2384 vpxor %ymm2, %ymm1, %ymm1385 vpaddq %ymm12, %ymm2, %ymm2386 vpshufd $0xb1, %ymm1, %ymm1387 vpaddq %ymm1, %ymm3, %ymm3388 vpxor %ymm0, %ymm3, %ymm0389 vpshufb %ymm5, %ymm0, %ymm0390 vpaddq %ymm0, %ymm2, %ymm2391 vpxor %ymm1, %ymm2, %ymm1392 vpshufb %ymm4, %ymm1, %ymm1393 vpaddq %ymm1, %ymm3, %ymm3394 vpermq $0x39, %ymm1, %ymm1395 vpxor %ymm0, %ymm3, %ymm0396 vpsrlq $0x3f, %ymm0, %ymm12397 vpaddq %ymm0, %ymm0, %ymm0398 vpermq $0x4e, %ymm3, %ymm3399 vpor %ymm12, %ymm0, %ymm0400 vpblendd $0x33, %ymm7, %ymm10, %ymm12401 vpermq $0x93, %ymm0, %ymm0402 vpblendd $0xf0, -0x1b0(%rbp), %ymm12, %ymm12403 vpaddq %ymm12, %ymm2, %ymm2404 vpalignr $0x8, %ymm7, %ymm6, %ymm12405 vpaddq %ymm0, %ymm2, %ymm2406 vpblendd $0xf0, %ymm12, %ymm15, %ymm12407 vmovdqa -0x70(%rbp), %ymm15408 vpxor %ymm2, %ymm1, %ymm1409 vpaddq %ymm12, %ymm2, %ymm2410 vpshufd $0xb1, %ymm1, %ymm1411 vpaddq %ymm1, %ymm3, %ymm3412 vpxor %ymm0, %ymm3, %ymm0413 vpshufb %ymm5, %ymm0, %ymm0414 vpaddq %ymm0, %ymm2, %ymm2415 vpxor %ymm1, %ymm2, %ymm1416 vpshufb %ymm4, %ymm1, %ymm1417 vpaddq %ymm1, %ymm3, %ymm3418 vpermq $0x93, %ymm1, %ymm1419 vpxor %ymm0, %ymm3, %ymm0420 vpsrlq $0x3f, %ymm0, %ymm12421 vpaddq %ymm0, %ymm0, %ymm0422 vpermq $0x4e, %ymm3, %ymm3423 vpor %ymm12, %ymm0, %ymm0424 vpunpcklqdq -0x30(%rbp), %ymm10, %ymm12425 vpblendd $0xf0, %ymm13, %ymm12, %ymm12426 vpermq $0x39, %ymm0, %ymm0427 vpaddq %ymm12, %ymm2, %ymm2428 vpblendd $0x33, %ymm8, %ymm6, %ymm12429 vpblendd $0x33, %ymm7, %ymm8, %ymm13430 vpaddq %ymm0, %ymm2, %ymm2431 vpblendd $0xf0, %ymm12, %ymm15, %ymm12432 vmovdqa -0x90(%rbp), %ymm15433 vpxor %ymm2, %ymm1, %ymm1434 vpaddq %ymm12, %ymm2, %ymm2435 vpshufd $0xb1, %ymm1, %ymm1436 vpaddq %ymm1, %ymm3, %ymm3437 vpxor %ymm0, %ymm3, %ymm0438 vpshufb %ymm5, %ymm0, %ymm0439 vpaddq %ymm0, %ymm2, %ymm2440 vpxor %ymm1, %ymm2, %ymm1441 vpshufb %ymm4, %ymm1, %ymm1442 vpaddq %ymm1, %ymm3, %ymm3443 vpermq $0x39, %ymm1, %ymm1444 vpxor %ymm0, %ymm3, %ymm0445 vpsrlq $0x3f, %ymm0, %ymm12446 vpaddq %ymm0, %ymm0, %ymm0447 vpermq $0x4e, %ymm3, %ymm3448 vpor %ymm12, %ymm0, %ymm0449 vpunpckhqdq -0x30(%rbp), %ymm7, %ymm12450 vpblendd $0xf0, %ymm13, %ymm12, %ymm12451 vmovdqa %ymm14, %ymm13452 vpaddq %ymm12, %ymm2, %ymm2453 vpalignr $0x8, %ymm6, %ymm14, %ymm14454 vpunpckhqdq %ymm9, %ymm10, %ymm12455 vpermq $0x93, %ymm0, %ymm0456 vpblendd $0xf0, %ymm12, %ymm14, %ymm12457 vpaddq %ymm0, %ymm2, %ymm2458 vpxor %ymm2, %ymm1, %ymm1459 vpaddq %ymm12, %ymm2, %ymm2460 vpshufd $0xb1, %ymm1, %ymm1461 vpaddq %ymm1, %ymm3, %ymm3462 vpxor %ymm0, %ymm3, %ymm0463 vpshufb %ymm5, %ymm0, %ymm0464 vpaddq %ymm0, %ymm2, %ymm2465 vpxor %ymm1, %ymm2, %ymm1466 vpshufb %ymm4, %ymm1, %ymm1467 vpaddq %ymm1, %ymm3, %ymm3468 vpermq $0x93, %ymm1, %ymm1469 vpxor %ymm0, %ymm3, %ymm0470 vpsrlq $0x3f, %ymm0, %ymm12471 vpaddq %ymm0, %ymm0, %ymm0472 vpermq $0x4e, %ymm3, %ymm3473 vpor %ymm12, %ymm0, %ymm0474 vpunpcklqdq %ymm8, %ymm9, %ymm12475 vpblendd $0xf0, %ymm12, %ymm15, %ymm12476 vpermq $0x39, %ymm0, %ymm0477 vpaddq %ymm12, %ymm2, %ymm2478 vpunpcklqdq %ymm11, %ymm10, %ymm12479 vmovdqa %ymm13, %ymm15480 vpblendd $0xf0, -0x1f0(%rbp), %ymm12, %ymm12481 vpaddq %ymm0, %ymm2, %ymm2482 vpxor %ymm2, %ymm1, %ymm1483 vpaddq %ymm12, %ymm2, %ymm2484 vpshufd $0xb1, %ymm1, %ymm1485 vpaddq %ymm1, %ymm3, %ymm3486 vpxor %ymm0, %ymm3, %ymm0487 vpshufb %ymm5, %ymm0, %ymm0488 vpaddq %ymm0, %ymm2, %ymm2489 vpxor %ymm1, %ymm2, %ymm1490 vpshufb %ymm4, %ymm1, %ymm1491 vpaddq %ymm1, %ymm3, %ymm3492 vpermq $0x39, %ymm1, %ymm1493 vpxor %ymm0, %ymm3, %ymm0494 vpsrlq $0x3f, %ymm0, %ymm12495 vpaddq %ymm0, %ymm0, %ymm0496 vpermq $0x4e, %ymm3, %ymm3497 vpor %ymm12, %ymm0, %ymm0498 vmovdqa -0x30(%rbp), %ymm12499 vpermq $0x93, %ymm0, %ymm0500 vpunpcklqdq %ymm13, %ymm12, %ymm12501 vpalignr $0x8, %ymm6, %ymm10, %ymm13502 vpblendd $0xf0, %ymm13, %ymm12, %ymm12503 vpunpckhqdq %ymm9, %ymm15, %ymm13504 vpalignr $0x8, %ymm8, %ymm9, %ymm9505 vpaddq %ymm12, %ymm2, %ymm12506 vpalignr $0x8, %ymm10, %ymm6, %ymm6507 vpblendd $0xf0, %ymm9, %ymm13, %ymm9508 vpaddq %ymm0, %ymm12, %ymm12509 vpblendd $0xf0, %ymm6, %ymm7, %ymm6510 vpxor %ymm12, %ymm1, %ymm1511 vpaddq %ymm9, %ymm12, %ymm12512 vpshufd $0xb1, %ymm1, %ymm1513 vpaddq %ymm1, %ymm3, %ymm3514 vpxor %ymm3, %ymm0, %ymm0515 vpshufb %ymm5, %ymm0, %ymm0516 vpaddq %ymm0, %ymm12, %ymm12517 vpxor %ymm1, %ymm12, %ymm1518 vpaddq %ymm6, %ymm12, %ymm12519 vpshufb %ymm4, %ymm1, %ymm1520 vmovdqa -0x30(%rbp), %ymm6521 vpaddq %ymm1, %ymm3, %ymm3522 vpermq $0x93, %ymm1, %ymm1523 vpxor %ymm0, %ymm3, %ymm0524 vpsrlq $0x3f, %ymm0, %ymm2525 vpaddq %ymm0, %ymm0, %ymm0526 vpermq $0x4e, %ymm3, %ymm3527 vpor %ymm2, %ymm0, %ymm0528 vpblendd $0x33, %ymm8, %ymm6, %ymm2529 vpermq $0x39, %ymm0, %ymm0530 vpaddq %ymm0, %ymm12, %ymm12531 vpblendd $0xf0, %ymm11, %ymm2, %ymm2532 vpxor %ymm12, %ymm1, %ymm1533 vpshufd $0xb1, %ymm1, %ymm1534 vpaddq %ymm1, %ymm3, %ymm3535 vpaddq %ymm2, %ymm12, %ymm12536 vpxor %ymm3, %ymm0, %ymm0537 vpshufb %ymm5, %ymm0, %ymm0538 vmovdqa -0x30(%rbp), %ymm6539 vpaddq %ymm0, %ymm12, %ymm12540 vpxor %ymm1, %ymm12, %ymm1541 vpshufb %ymm4, %ymm1, %ymm1542 vpaddq %ymm1, %ymm3, %ymm3543 vpermq $0x39, %ymm1, %ymm1544 vpxor %ymm0, %ymm3, %ymm0545 vpsrlq $0x3f, %ymm0, %ymm2546 vpaddq %ymm0, %ymm0, %ymm0547 vpermq $0x4e, %ymm3, %ymm3548 vpor %ymm2, %ymm0, %ymm2549 vpunpckhqdq %ymm10, %ymm6, %ymm0550 vmovdqa -0x1d0(%rbp), %ymm6551 vpermq $0x93, %ymm2, %ymm2552 vpblendd $0xf0, %ymm0, %ymm6, %ymm0553 vpaddq %ymm0, %ymm12, %ymm12554 vpunpcklqdq %ymm11, %ymm8, %ymm0555 vpblendd $0x33, -0x30(%rbp), %ymm11, %ymm11556 vpunpckhqdq %ymm7, %ymm8, %ymm8557 vpaddq %ymm2, %ymm12, %ymm12558 vpblendd $0xf0, %ymm11, %ymm0, %ymm11559 vpblendd $0xf0, %ymm8, %ymm13, %ymm8560 vpunpcklqdq %ymm10, %ymm7, %ymm7561 vpxor %ymm12, %ymm1, %ymm1562 vpaddq %ymm11, %ymm12, %ymm12563 vpshufd $0xb1, %ymm1, %ymm1564 vpaddq %ymm1, %ymm3, %ymm3565 vpxor %ymm3, %ymm2, %ymm2566 vpshufb %ymm5, %ymm2, %ymm2567 vpaddq %ymm2, %ymm12, %ymm12568 vpblendd $0xf0, %ymm7, %ymm14, %ymm7569 vpxor %ymm1, %ymm12, %ymm1570 vpshufb %ymm4, %ymm1, %ymm1571 vpaddq %ymm1, %ymm3, %ymm3572 vpaddq %ymm8, %ymm12, %ymm8573 vpxor %ymm2, %ymm3, %ymm2574 vpsrlq $0x3f, %ymm2, %ymm0575 vpaddq %ymm2, %ymm2, %ymm2576 vpermq $0x93, %ymm1, %ymm1577 vpor %ymm0, %ymm2, %ymm2578 vpermq $0x39, %ymm2, %ymm2579 vpaddq %ymm2, %ymm8, %ymm8580 vpermq $0x4e, %ymm3, %ymm3581 vpxor %ymm8, %ymm1, %ymm1582 vpaddq %ymm7, %ymm8, %ymm8583 vpshufd $0xb1, %ymm1, %ymm1584 vpaddq %ymm1, %ymm3, %ymm3585 vpxor %ymm3, %ymm2, %ymm2586 vpshufb %ymm5, %ymm2, %ymm2587 vpaddq %ymm2, %ymm8, %ymm8588 vpxor %ymm1, %ymm8, %ymm1589 vpaddq -0x190(%rbp), %ymm8, %ymm8590 vpshufb %ymm4, %ymm1, %ymm1591 vpaddq %ymm1, %ymm3, %ymm3592 vpxor %ymm2, %ymm3, %ymm2593 vpsrlq $0x3f, %ymm2, %ymm0594 vpaddq %ymm2, %ymm2, %ymm2595 vpermq $0x39, %ymm1, %ymm1596 vpor %ymm0, %ymm2, %ymm2597 vpermq $0x93, %ymm2, %ymm0598 vpaddq %ymm0, %ymm8, %ymm8599 vpermq $0x4e, %ymm3, %ymm3600 vpxor %ymm8, %ymm1, %ymm1601 vpaddq -0xb0(%rbp), %ymm8, %ymm8602 vpshufd $0xb1, %ymm1, %ymm1603 vpaddq %ymm1, %ymm3, %ymm3604 vpxor %ymm3, %ymm0, %ymm0605 vpshufb %ymm5, %ymm0, %ymm0606 vpaddq %ymm0, %ymm8, %ymm8607 vpxor %ymm1, %ymm8, %ymm1608 vpaddq -0xd0(%rbp), %ymm8, %ymm8609 vpshufb %ymm4, %ymm1, %ymm1610 vpaddq %ymm1, %ymm3, %ymm3611 vpxor %ymm0, %ymm3, %ymm0612 vpaddq %ymm0, %ymm0, %ymm6613 vpermq $0x93, %ymm1, %ymm1614 vpermq $0x4e, %ymm3, %ymm3615 vpsrlq $0x3f, %ymm0, %ymm2616 vpor %ymm2, %ymm6, %ymm6617 vpermq $0x39, %ymm6, %ymm6618 vpaddq %ymm6, %ymm8, %ymm2619 vpxor %ymm2, %ymm1, %ymm1620 vpaddq -0xf0(%rbp), %ymm2, %ymm2621 vpshufd $0xb1, %ymm1, %ymm1622 vpaddq %ymm1, %ymm3, %ymm3623 vpxor %ymm3, %ymm6, %ymm6624 vpshufb %ymm5, %ymm6, %ymm6625 vpaddq %ymm6, %ymm2, %ymm2626 vpxor %ymm1, %ymm2, %ymm1627 vpaddq -0x110(%rbp), %ymm2, %ymm2628 vpshufb %ymm4, %ymm1, %ymm1629 vpaddq %ymm1, %ymm3, %ymm3630 vpxor %ymm6, %ymm3, %ymm6631 vpsrlq $0x3f, %ymm6, %ymm0632 vpaddq %ymm6, %ymm6, %ymm6633 vpermq $0x39, %ymm1, %ymm1634 vpor %ymm0, %ymm6, %ymm0635 vpermq $0x93, %ymm0, %ymm0636 vpaddq %ymm0, %ymm2, %ymm2637 vpermq $0x4e, %ymm3, %ymm3638 vpxor %ymm2, %ymm1, %ymm1639 vpaddq -0x130(%rbp), %ymm2, %ymm2640 vpshufd $0xb1, %ymm1, %ymm1641 vpaddq %ymm1, %ymm3, %ymm3642 vpxor %ymm3, %ymm0, %ymm0643 vpshufb %ymm5, %ymm0, %ymm0644 vpaddq %ymm0, %ymm2, %ymm2645 vpxor %ymm1, %ymm2, %ymm1646 vpaddq -0x150(%rbp), %ymm2, %ymm2647 vpshufb %ymm4, %ymm1, %ymm1648 vpaddq %ymm1, %ymm3, %ymm3649 vpxor %ymm0, %ymm3, %ymm0650 vpsrlq $0x3f, %ymm0, %ymm6651 vpaddq %ymm0, %ymm0, %ymm0652 vpermq $0x93, %ymm1, %ymm1653 vpor %ymm6, %ymm0, %ymm0654 vpermq $0x39, %ymm0, %ymm0655 vpaddq %ymm0, %ymm2, %ymm2656 vpermq $0x4e, %ymm3, %ymm3657 vpxor %ymm2, %ymm1, %ymm1658 vpaddq -0x170(%rbp), %ymm2, %ymm2659 vpshufd $0xb1, %ymm1, %ymm1660 vpaddq %ymm1, %ymm3, %ymm3661 vpxor %ymm3, %ymm0, %ymm0662 vpshufb %ymm5, %ymm0, %ymm5663 vpaddq %ymm5, %ymm2, %ymm2664 vpxor %ymm1, %ymm2, %ymm1665 vpshufb %ymm4, %ymm1, %ymm4666 vpaddq %ymm4, %ymm3, %ymm0667 vpermq $0x39, %ymm4, %ymm4668 vpxor %ymm5, %ymm0, %ymm5669 vpsrlq $0x3f, %ymm5, %ymm1670 vpaddq %ymm5, %ymm5, %ymm5671 vpermq $0x4e, %ymm0, %ymm0672 vpor %ymm1, %ymm5, %ymm5673 vpxor (%rdi), %ymm0, %ymm0674 vpermq $0x93, %ymm5, %ymm5675 vpxor %ymm2, %ymm0, %ymm2676 vmovdqu %ymm2, (%rdi)677 vpxor 0x20(%rdi), %ymm5, %ymm5678 vpxor %ymm4, %ymm5, %ymm4679 vmovdqu %ymm4, 0x20(%rdi)680 vzeroupper681 xorl %eax, %eax682 addq $0x170, %rsp683 popq %r10684 .cfi_def_cfa %r10, 0685 popq %rbp686 leaq -0x8(%r10), %rsp687 .cfi_def_cfa %rsp, 8688 retq689 690 .cfi_endproc691.size blake2b_compress_avx2, .-blake2b_compress_avx2692.section .rodata693"blake2b_IV/1":694"DATAat0x4013a0":695"DATAat0x401380":696