https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92130
--- Comment #9 from Witold Baryluk <witold.baryluk+gcc at gmail dot com> --- Indeed, passing -fno-tree-pre in the first example does make it be vectorized. In the mesh_simple.c this corresponds to ONTHEFLY_CONSTANTS being defined, but USE_LOOP_CONSTANTS being not. The SIMPLIFIED can be defined or not, it vectorizes now in both cases. Targeting -march=knm. This is with #define OCTAVES 12, a compile time constant, so compiler fully unrolls the most inner loop. Without -fno-tree-pre: 0000000000001230 <fill_data.isra.0.constprop.0>: 1230: 41 57 push %r15 1232: 62 a1 7d 40 ef c0 vpxord %zmm16,%zmm16,%zmm16 1238: 49 ba 53 ec 85 1a fe movabs $0xc4ceb9fe1a85ec53,%r10 123f: b9 ce c4 1242: 41 56 push %r14 1244: c5 7a 10 0d f8 0d 00 vmovss 0xdf8(%rip),%xmm9 # 2044 <_IO_stdin_used+0x44> 124b: 00 124c: 62 31 7c 48 28 d0 vmovaps %zmm16,%zmm10 1252: 41 55 push %r13 1254: c5 7a 10 3d ec 0d 00 vmovss 0xdec(%rip),%xmm15 # 2048 <_IO_stdin_used+0x48> 125b: 00 125c: 62 a1 7c 48 28 d0 vmovaps %zmm16,%zmm18 1262: 41 54 push %r12 1264: c5 7a 10 35 e0 0d 00 vmovss 0xde0(%rip),%xmm14 # 204c <_IO_stdin_used+0x4c> 126b: 00 126c: 49 b9 cd 8c 55 ed d7 movabs $0xff51afd7ed558ccd,%r9 1273: af 51 ff 1276: 55 push %rbp 1277: c5 7a 10 2d d1 0d 00 vmovss 0xdd1(%rip),%xmm13 # 2050 <_IO_stdin_used+0x50> 127e: 00 127f: 49 be 68 66 ac 6a bf movabs $0xfa8d7ebf6aac6668,%r14 1286: 7e 8d fa 1289: 53 push %rbx 128a: c5 7a 10 25 c2 0d 00 vmovss 0xdc2(%rip),%xmm12 # 2054 <_IO_stdin_used+0x54> 1291: 00 1292: 48 89 7c 24 f8 mov %rdi,-0x8(%rsp) 1297: c7 44 24 f0 00 00 00 movl $0x0,-0x10(%rsp) 129e: 00 129f: c7 44 24 f4 00 00 00 movl $0x0,-0xc(%rsp) 12a6: 00 12a7: c5 7a 10 1d a9 0d 00 vmovss 0xda9(%rip),%xmm11 # 2058 <_IO_stdin_used+0x58> 12ae: 00 12af: 62 e1 7e 08 10 0d a3 vmovss 0xda3(%rip),%xmm17 # 205c <_IO_stdin_used+0x5c> 12b6: 0d 00 00 12b9: 0f 1f 80 00 00 00 00 nopl 0x0(%rax) 12c0: 48 8b 6c 24 f8 mov -0x8(%rsp),%rbp 12c5: 31 f6 xor %esi,%esi 12c7: 31 db xor %ebx,%ebx 12c9: 62 31 7c 48 28 c2 vmovaps %zmm18,%zmm8 12cf: 90 nop 12d0: 8b 54 24 f0 mov -0x10(%rsp),%edx 12d4: 45 31 e4 xor %r12d,%r12d 12d7: 62 b1 7c 48 28 f8 vmovaps %zmm16,%zmm7 12dd: 62 c1 7c 48 28 d9 vmovaps %zmm9,%zmm19 12e3: c5 32 11 cc vmovss %xmm9,%xmm9,%xmm4 12e7: eb 26 jmp 130f <fill_data.isra.0.constprop.0+0xdf> 12e9: 0f 1f 80 00 00 00 00 nopl 0x0(%rax) 12f0: c5 ba 59 c4 vmulss %xmm4,%xmm8,%xmm0 12f4: 62 f3 7d 08 0a c0 09 vrndscaless $0x9,%xmm0,%xmm0,%xmm0 12fb: c5 fa 2c f0 vcvttss2si %xmm0,%esi 12ff: c4 c1 5a 59 c2 vmulss %xmm10,%xmm4,%xmm0 1304: 62 f3 7d 08 0a c0 09 vrndscaless $0x9,%xmm0,%xmm0,%xmm0 130b: c5 fa 2c d0 vcvttss2si %xmm0,%edx 130f: 4c 89 e1 mov %r12,%rcx 1312: 62 c1 7c 48 28 e8 vmovaps %zmm8,%zmm21 1318: 48 c1 e9 21 shr $0x21,%rcx 131c: 62 e1 7c 48 28 e4 vmovaps %zmm4,%zmm20 1322: c5 d2 2a ea vcvtsi2ss %edx,%xmm5,%xmm5 1326: 4c 31 e1 xor %r12,%rcx 1329: 49 0f af ca imul %r10,%rcx 132d: 48 63 d2 movslq %edx,%rdx 1330: c5 e2 2a de vcvtsi2ss %esi,%xmm3,%xmm3 1334: 4f 8d 24 0c lea (%r12,%r9,1),%r12 1338: 48 69 d2 53 42 41 4e imul $0x4e414253,%rdx,%rdx 133f: 62 c2 55 08 9b e2 vfmsub132ss %xmm10,%xmm5,%xmm20 1345: c4 c1 52 58 e9 vaddss %xmm9,%xmm5,%xmm5 134a: 48 8d 01 lea (%rcx),%rax 134d: 48 c1 e8 21 shr $0x21,%rax 1351: 62 e2 65 08 9b ec vfmsub132ss %xmm4,%xmm3,%xmm21 1357: 48 31 c1 xor %rax,%rcx 135a: 4c 8d ba 53 42 41 4e lea 0x4e414253(%rdx),%r15 1361: 48 89 cf mov %rcx,%rdi 1364: 48 89 c8 mov %rcx,%rax 1367: 48 81 f7 70 46 ab 58 xor $0x58ab4670,%rdi 136e: c4 c1 62 58 d9 vaddss %xmm9,%xmm3,%xmm3 1373: 48 c1 e8 21 shr $0x21,%rax 1377: c4 c2 59 bd ea vfnmadd231ss %xmm10,%xmm4,%xmm5 137c: 48 31 f8 xor %rdi,%rax 137f: 49 0f af c1 imul %r9,%rax 1383: c5 e2 10 f3 vmovss %xmm3,%xmm3,%xmm6 1387: c4 e2 39 bd f4 vfnmadd231ss %xmm4,%xmm8,%xmm6 138c: c4 c1 5a 59 e4 vmulss %xmm12,%xmm4,%xmm4 1391: 48 8d 08 lea (%rax),%rcx 1394: 48 c1 e9 21 shr $0x21,%rcx 1398: 48 31 c8 xor %rcx,%rax 139b: 49 0f af c2 imul %r10,%rax 139f: 48 89 c1 mov %rax,%rcx 13a2: 48 c1 e9 21 shr $0x21,%rcx 13a6: 48 31 c8 xor %rcx,%rax 13a9: 48 63 ce movslq %esi,%rcx 13ac: 48 89 cf mov %rcx,%rdi 13af: 4a 8d 0c 39 lea (%rcx,%r15,1),%rcx 13b3: 48 01 d7 add %rdx,%rdi 13b6: 48 31 c1 xor %rax,%rcx 13b9: 48 31 c7 xor %rax,%rdi 13bc: 8d 76 01 lea 0x1(%rsi),%esi 13bf: 49 89 f8 mov %rdi,%r8 13c2: 48 63 f6 movslq %esi,%rsi 13c5: 48 c1 ef 21 shr $0x21,%rdi 13c9: 4d 8d 3c 37 lea (%r15,%rsi,1),%r15 13cd: 4c 31 c7 xor %r8,%rdi 13d0: 49 0f af f9 imul %r9,%rdi 13d4: 49 89 f8 mov %rdi,%r8 13d7: 49 c1 e8 21 shr $0x21,%r8 13db: 4c 31 c7 xor %r8,%rdi 13de: 4c 8d 01 lea (%rcx),%r8 13e1: 48 c1 e9 21 shr $0x21,%rcx 13e5: 49 0f af fa imul %r10,%rdi 13e9: 4c 31 c1 xor %r8,%rcx 13ec: 49 0f af c9 imul %r9,%rcx 13f0: 49 89 fb mov %rdi,%r11 13f3: 49 c1 eb 21 shr $0x21,%r11 13f7: 49 89 c8 mov %rcx,%r8 13fa: 49 c1 e8 21 shr $0x21,%r8 13fe: 4c 31 c1 xor %r8,%rcx 1401: 49 0f af ca imul %r10,%rcx 1405: 49 89 c8 mov %rcx,%r8 1408: 49 c1 e8 21 shr $0x21,%r8 140c: 48 01 f2 add %rsi,%rdx 140f: 49 31 c7 xor %rax,%r15 1412: 48 31 c2 xor %rax,%rdx 1415: 4c 89 f8 mov %r15,%rax 1418: 49 89 d5 mov %rdx,%r13 141b: 48 c1 e8 21 shr $0x21,%rax 141f: 4c 31 c1 xor %r8,%rcx 1422: 4c 31 f8 xor %r15,%rax 1425: 4c 31 df xor %r11,%rdi 1428: 49 0f af c1 imul %r9,%rax 142c: 48 c1 ea 21 shr $0x21,%rdx 1430: c5 e2 2a d9 vcvtsi2ss %ecx,%xmm3,%xmm3 1434: 4c 31 ea xor %r13,%rdx 1437: 49 0f af d1 imul %r9,%rdx 143b: c5 fa 2a c7 vcvtsi2ss %edi,%xmm0,%xmm0 143f: 48 8d 30 lea (%rax),%rsi 1442: 48 c1 ee 21 shr $0x21,%rsi 1446: 48 31 f0 xor %rsi,%rax 1449: 4c 8d 2a lea (%rdx),%r13 144c: 49 0f af c2 imul %r10,%rax 1450: 49 c1 ed 21 shr $0x21,%r13 1454: 62 b1 66 08 59 dc vmulss %xmm20,%xmm3,%xmm3 145a: 4c 31 ea xor %r13,%rdx 145d: 49 0f af d2 imul %r10,%rdx 1461: 48 8d 30 lea (%rax),%rsi 1464: 48 c1 ee 21 shr $0x21,%rsi 1468: c4 e2 61 99 c5 vfmadd132ss %xmm5,%xmm3,%xmm0 146d: 48 31 f0 xor %rsi,%rax 1470: 4c 8d 2a lea (%rdx),%r13 1473: c5 ea 2a d0 vcvtsi2ss %eax,%xmm2,%xmm2 1477: 49 c1 ed 21 shr $0x21,%r13 147b: 4c 31 ea xor %r13,%rdx 147e: 4d 39 f4 cmp %r14,%r12 1481: c5 f2 2a ca vcvtsi2ss %edx,%xmm1,%xmm1 1485: 62 b1 6e 08 59 d4 vmulss %xmm20,%xmm2,%xmm2 148b: c4 e2 69 99 cd vfmadd132ss %xmm5,%xmm2,%xmm1 1490: 62 b1 76 08 59 cd vmulss %xmm21,%xmm1,%xmm1 1496: c4 e2 71 99 c6 vfmadd132ss %xmm6,%xmm1,%xmm0 149b: c4 c1 7a 59 c7 vmulss %xmm15,%xmm0,%xmm0 14a0: c4 c2 11 99 c6 vfmadd132ss %xmm14,%xmm13,%xmm0 14a5: 62 b2 7d 08 b9 fb vfmadd231ss %xmm19,%xmm0,%xmm7 14ab: 62 c1 66 00 59 db vmulss %xmm11,%xmm19,%xmm19 14b1: 0f 85 39 fe ff ff jne 12f0 <fill_data.isra.0.constprop.0+0xc0> 14b7: 62 b1 46 08 59 f9 vmulss %xmm17,%xmm7,%xmm7 14bd: 8d 5b 01 lea 0x1(%rbx),%ebx 14c0: 81 fb 00 20 00 00 cmp $0x2000,%ebx 14c6: 48 8d 6d 04 lea 0x4(%rbp),%rbp 14ca: c5 fa 11 7d fc vmovss %xmm7,-0x4(%rbp) 14cf: 74 17 je 14e8 <fill_data.isra.0.constprop.0+0x2b8> 14d1: c5 3a 2a c3 vcvtsi2ss %ebx,%xmm8,%xmm8 14d5: 62 d3 7d 08 0a c0 09 vrndscaless $0x9,%xmm8,%xmm0,%xmm0 14dc: c5 fa 2c f0 vcvttss2si %xmm0,%esi 14e0: e9 eb fd ff ff jmpq 12d0 <fill_data.isra.0.constprop.0+0xa0> 14e5: 0f 1f 00 nopl (%rax) 14e8: 83 44 24 f4 01 addl $0x1,-0xc(%rsp) 14ed: 48 81 44 24 f8 00 80 addq $0x8000,-0x8(%rsp) 14f4: 00 00 14f6: 8b 44 24 f4 mov -0xc(%rsp),%eax 14fa: 3d 00 20 00 00 cmp $0x2000,%eax 14ff: 74 1f je 1520 <fill_data.isra.0.constprop.0+0x2f0> 1501: c5 2a 2a d0 vcvtsi2ss %eax,%xmm10,%xmm10 1505: 62 d3 7d 08 0a c2 09 vrndscaless $0x9,%xmm10,%xmm0,%xmm0 150c: c5 fa 2c c0 vcvttss2si %xmm0,%eax 1510: 89 44 24 f0 mov %eax,-0x10(%rsp) 1514: e9 a7 fd ff ff jmpq 12c0 <fill_data.isra.0.constprop.0+0x90> 1519: 0f 1f 80 00 00 00 00 nopl 0x0(%rax) 1520: 5b pop %rbx 1521: 5d pop %rbp 1522: 41 5c pop %r12 1524: 41 5d pop %r13 1526: 41 5e pop %r14 1528: 41 5f pop %r15 152a: c3 retq 152b: 0f 1f 44 00 00 nopl 0x0(%rax,%rax,1) with -fno-tree-pre: 0000000000001230 <fill_data.isra.0.constprop.0>: 1230: 55 push %rbp 1231: 48 8d b7 00 80 00 00 lea 0x8000(%rdi),%rsi 1238: 31 c9 xor %ecx,%ecx 123a: 48 89 e5 mov %rsp,%rbp 123d: 48 83 e4 c0 and $0xffffffffffffffc0,%rsp 1241: 48 8d 64 24 b8 lea -0x48(%rsp),%rsp 1246: 48 8d 16 lea (%rsi),%rdx 1249: 62 f1 fd 48 6f 0d 2d vmovdqa64 0xf2d(%rip),%zmm1 # 2180 <_IO_stdin_used+0x180> 1250: 0f 00 00 1253: 62 f1 fd 48 6f 05 63 vmovdqa64 0xf63(%rip),%zmm0 # 21c0 <_IO_stdin_used+0x1c0> 125a: 0f 00 00 125d: 62 f1 e5 48 73 d1 20 vpsrlq $0x20,%zmm1,%zmm3 1264: 62 61 fd 48 6f 05 d2 vmovdqa64 0xfd2(%rip),%zmm24 # 2240 <_IO_stdin_used+0x240> 126b: 0f 00 00 126e: 62 f1 ed 48 73 d0 20 vpsrlq $0x20,%zmm0,%zmm2 1275: 62 e1 7c 48 28 3d 41 vmovaps 0xe41(%rip),%zmm23 # 20c0 <_IO_stdin_used+0xc0> 127c: 0e 00 00 127f: 62 91 b5 40 73 d0 20 vpsrlq $0x20,%zmm24,%zmm25 1286: 62 71 fd 48 6f 05 f0 vmovdqa64 0xff0(%rip),%zmm8 # 2280 <_IO_stdin_used+0x280> 128d: 0f 00 00 1290: 62 f1 fd 48 6f 3d e6 vmovdqa64 0xde6(%rip),%zmm7 # 2080 <_IO_stdin_used+0x80> 1297: 0d 00 00 129a: 62 f2 7d 48 7c e1 vpbroadcastd %ecx,%zmm4 12a0: 62 f1 fd 48 7f bc 24 vmovdqa64 %zmm7,-0x38(%rsp) 12a7: c8 ff ff ff 12ab: 62 f1 7c 48 5b fc vcvtdq2ps %zmm4,%zmm7 12b1: 62 f1 7c 48 29 bc 24 vmovaps %zmm7,-0x78(%rsp) 12b8: 88 ff ff ff 12bc: 0f 1f 40 00 nopl 0x0(%rax) 12c0: 62 f1 fd 48 6f bc 24 vmovdqa64 -0x38(%rsp),%zmm7 12c7: c8 ff ff ff 12cb: 62 a1 7c 48 28 ef vmovaps %zmm23,%zmm21 12d1: 62 f1 fd 48 6f e7 vmovdqa64 %zmm7,%zmm4 12d7: 62 f1 45 48 fe 3d 1f vpaddd 0xe1f(%rip),%zmm7,%zmm7 # 2100 <_IO_stdin_used+0x100> 12de: 0e 00 00 12e1: 62 f1 fd 48 7f bc 24 vmovdqa64 %zmm7,-0x38(%rsp) 12e8: c8 ff ff ff 12ec: 62 a1 7c 48 28 c7 vmovaps %zmm23,%zmm16 12f2: 62 f1 7c 48 5b fc vcvtdq2ps %zmm4,%zmm7 12f8: b8 08 00 00 00 mov $0x8,%eax 12fd: 62 a1 75 40 ef c9 vpxord %zmm17,%zmm17,%zmm17 1303: 62 a1 5d 40 ef e4 vpxord %zmm20,%zmm20,%zmm20 1309: 62 f1 7c 48 29 bc 24 vmovaps %zmm7,0x8(%rsp) 1310: 08 00 00 00 1314: 66 66 2e 0f 1f 84 00 data16 nopw %cs:0x0(%rax,%rax,1) 131b: 00 00 00 00 131f: 90 nop 1320: 62 b1 fd 48 6f e4 vmovdqa64 %zmm20,%zmm4 1326: 83 e8 01 sub $0x1,%eax 1329: 62 f2 7d 48 25 f4 vpmovsxdq %ymm4,%zmm6 132f: 62 e1 5d 40 fe 25 07 vpaddd 0xe07(%rip),%zmm20,%zmm20 # 2140 <_IO_stdin_used+0x140> 1336: 0e 00 00 1339: 62 f1 cd 48 f4 f9 vpmuludq %zmm1,%zmm6,%zmm7 133f: 62 f1 d5 48 73 d6 20 vpsrlq $0x20,%zmm6,%zmm5 1346: 62 f3 fd 48 3b e4 01 vextracti64x4 $0x1,%zmm4,%ymm4 134d: 62 f1 e5 48 f4 f6 vpmuludq %zmm6,%zmm3,%zmm6 1353: 62 f2 7d 48 25 e4 vpmovsxdq %ymm4,%zmm4 1359: 62 f1 d5 48 f4 e9 vpmuludq %zmm1,%zmm5,%zmm5 135f: 62 e1 7c 40 59 94 24 vmulps -0x78(%rsp),%zmm16,%zmm18 1366: 88 ff ff ff 136a: 62 e1 7c 40 59 9c 24 vmulps 0x8(%rsp),%zmm16,%zmm19 1371: 08 00 00 00 1375: 62 f1 d5 48 d4 ee vpaddq %zmm6,%zmm5,%zmm5 137b: 62 f1 dd 48 f4 f1 vpmuludq %zmm1,%zmm4,%zmm6 1381: 62 f1 d5 48 73 f5 20 vpsllq $0x20,%zmm5,%zmm5 1388: 62 71 c5 48 d4 cd vpaddq %zmm5,%zmm7,%zmm9 138e: 62 f1 d5 48 73 d4 20 vpsrlq $0x20,%zmm4,%zmm5 1395: 62 f1 d5 48 f4 e9 vpmuludq %zmm1,%zmm5,%zmm5 139b: 62 d1 c5 48 73 d1 21 vpsrlq $0x21,%zmm9,%zmm7 13a2: 62 d1 c5 48 ef f9 vpxorq %zmm9,%zmm7,%zmm7 13a8: 62 f1 e5 48 f4 e4 vpmuludq %zmm4,%zmm3,%zmm4 13ae: 62 71 c5 48 f4 c8 vpmuludq %zmm0,%zmm7,%zmm9 13b4: 62 e1 7c 40 59 05 c2 vmulps 0xfc2(%rip),%zmm16,%zmm16 # 2380 <_IO_stdin_used+0x380> 13bb: 0f 00 00 13be: 62 f1 d5 48 d4 ec vpaddq %zmm4,%zmm5,%zmm5 13c4: 62 f1 dd 48 73 d7 20 vpsrlq $0x20,%zmm7,%zmm4 13cb: 62 f1 dd 48 f4 e0 vpmuludq %zmm0,%zmm4,%zmm4 13d1: 62 f1 d5 48 73 f5 20 vpsllq $0x20,%zmm5,%zmm5 13d8: 62 f1 cd 48 d4 ed vpaddq %zmm5,%zmm6,%zmm5 13de: 62 f1 ed 48 f4 ff vpmuludq %zmm7,%zmm2,%zmm7 13e4: 62 f1 cd 48 73 d5 21 vpsrlq $0x21,%zmm5,%zmm6 13eb: 62 f1 cd 48 ef f5 vpxorq %zmm5,%zmm6,%zmm6 13f1: 62 f1 dd 48 d4 e7 vpaddq %zmm7,%zmm4,%zmm4 13f7: 62 f1 cd 48 f4 f8 vpmuludq %zmm0,%zmm6,%zmm7 13fd: 62 f1 dd 48 73 f4 20 vpsllq $0x20,%zmm4,%zmm4 1404: 62 71 b5 48 d4 cc vpaddq %zmm4,%zmm9,%zmm9 140a: 62 f1 dd 48 73 d6 20 vpsrlq $0x20,%zmm6,%zmm4 1411: 62 f1 dd 48 f4 e0 vpmuludq %zmm0,%zmm4,%zmm4 1417: 62 f1 b5 48 ef 2d df vpxorq 0xddf(%rip),%zmm9,%zmm5 # 2200 <_IO_stdin_used+0x200> 141e: 0d 00 00 1421: 62 d1 b5 48 73 d1 21 vpsrlq $0x21,%zmm9,%zmm9 1428: 62 f1 ed 48 f4 f6 vpmuludq %zmm6,%zmm2,%zmm6 142e: 62 51 d5 48 ef c9 vpxorq %zmm9,%zmm5,%zmm9 1434: 62 d1 d5 48 73 d1 21 vpsrlq $0x21,%zmm9,%zmm5 143b: 62 d1 d5 48 ef e9 vpxorq %zmm9,%zmm5,%zmm5 1441: 62 f1 dd 48 d4 e6 vpaddq %zmm6,%zmm4,%zmm4 1447: 62 f1 d5 48 f4 f1 vpmuludq %zmm1,%zmm5,%zmm6 144d: 62 f1 dd 48 73 f4 20 vpsllq $0x20,%zmm4,%zmm4 1454: 62 f1 c5 48 d4 e4 vpaddq %zmm4,%zmm7,%zmm4 145a: 62 f1 dd 48 ef 3d 9c vpxorq 0xd9c(%rip),%zmm4,%zmm7 # 2200 <_IO_stdin_used+0x200> 1461: 0d 00 00 1464: 62 f1 dd 48 73 d4 21 vpsrlq $0x21,%zmm4,%zmm4 146b: 62 71 c5 48 ef d4 vpxorq %zmm4,%zmm7,%zmm10 1471: 62 f1 dd 48 73 d5 20 vpsrlq $0x20,%zmm5,%zmm4 1478: 62 f1 dd 48 f4 e1 vpmuludq %zmm1,%zmm4,%zmm4 147e: 62 d1 c5 48 73 d2 21 vpsrlq $0x21,%zmm10,%zmm7 1485: 62 d1 c5 48 ef fa vpxorq %zmm10,%zmm7,%zmm7 148b: 62 f1 e5 48 f4 ed vpmuludq %zmm5,%zmm3,%zmm5 1491: 62 f1 dd 48 d4 e5 vpaddq %zmm5,%zmm4,%zmm4 1497: 62 f1 c5 48 f4 e9 vpmuludq %zmm1,%zmm7,%zmm5 149d: 62 f1 dd 48 73 f4 20 vpsllq $0x20,%zmm4,%zmm4 14a4: 62 71 cd 48 d4 cc vpaddq %zmm4,%zmm6,%zmm9 14aa: 62 f1 dd 48 73 d7 20 vpsrlq $0x20,%zmm7,%zmm4 14b1: 62 f1 dd 48 f4 e1 vpmuludq %zmm1,%zmm4,%zmm4 14b7: 62 d1 cd 48 73 d1 21 vpsrlq $0x21,%zmm9,%zmm6 14be: 62 d1 cd 48 ef f1 vpxorq %zmm9,%zmm6,%zmm6 14c4: 62 f1 e5 48 f4 ff vpmuludq %zmm7,%zmm3,%zmm7 14ca: 62 71 cd 48 f4 f0 vpmuludq %zmm0,%zmm6,%zmm14 14d0: 62 33 7d 48 08 cb 01 vrndscaleps $0x1,%zmm19,%zmm9 14d7: 62 51 7e 48 5b c9 vcvttps2dq %zmm9,%zmm9 14dd: 62 f1 dd 48 d4 e7 vpaddq %zmm7,%zmm4,%zmm4 14e3: 62 f1 dd 48 73 f4 20 vpsllq $0x20,%zmm4,%zmm4 14ea: 62 f1 d5 48 d4 fc vpaddq %zmm4,%zmm5,%zmm7 14f0: 62 f1 dd 48 73 d6 20 vpsrlq $0x20,%zmm6,%zmm4 14f7: 62 f1 dd 48 f4 e0 vpmuludq %zmm0,%zmm4,%zmm4 14fd: 62 f1 d5 48 73 d7 21 vpsrlq $0x21,%zmm7,%zmm5 1504: 62 f1 d5 48 ef ef vpxorq %zmm7,%zmm5,%zmm5 150a: 62 61 35 48 fe 15 2c vpaddd 0xc2c(%rip),%zmm9,%zmm26 # 2140 <_IO_stdin_used+0x140> 1511: 0c 00 00 1514: 62 f1 ed 48 f4 f6 vpmuludq %zmm6,%zmm2,%zmm6 151a: 62 52 7d 48 25 d9 vpmovsxdq %ymm9,%zmm11 1520: 62 71 d5 48 f4 e8 vpmuludq %zmm0,%zmm5,%zmm13 1526: 62 d1 7c 48 5b f9 vcvtdq2ps %zmm9,%zmm7 152c: 62 53 fd 48 3b c9 01 vextracti64x4 $0x1,%zmm9,%ymm9 1533: 62 f1 dd 48 d4 e6 vpaddq %zmm6,%zmm4,%zmm4 1539: 62 f1 dd 48 73 f4 20 vpsllq $0x20,%zmm4,%zmm4 1540: 62 52 7d 48 25 c9 vpmovsxdq %ymm9,%zmm9 1546: 62 71 8d 48 d4 f4 vpaddq %zmm4,%zmm14,%zmm14 154c: 62 f1 dd 48 73 d5 20 vpsrlq $0x20,%zmm5,%zmm4 1553: 62 f1 dd 48 f4 e0 vpmuludq %zmm0,%zmm4,%zmm4 1559: 62 d1 ad 48 73 d6 21 vpsrlq $0x21,%zmm14,%zmm10 1560: 62 51 ad 48 ef f6 vpxorq %zmm14,%zmm10,%zmm14 1566: 62 71 64 40 5c ff vsubps %zmm7,%zmm19,%zmm15 156c: 62 f1 ed 48 f4 ed vpmuludq %zmm5,%zmm2,%zmm5 1572: 62 b1 44 48 58 ff vaddps %zmm23,%zmm7,%zmm7 1578: 62 71 04 48 59 3d 3e vmulps 0xd3e(%rip),%zmm15,%zmm15 # 22c0 <_IO_stdin_used+0x2c0> 157f: 0d 00 00 1582: 62 a1 44 48 5c db vsubps %zmm19,%zmm7,%zmm19 1588: 62 f1 dd 48 d4 e5 vpaddq %zmm5,%zmm4,%zmm4 158e: 62 b3 7d 48 08 ea 01 vrndscaleps $0x1,%zmm18,%zmm5 1595: 62 f1 7e 48 5b ed vcvttps2dq %zmm5,%zmm5 159b: 62 f1 dd 48 73 f4 20 vpsllq $0x20,%zmm4,%zmm4 15a2: 62 e1 64 40 59 1d 14 vmulps 0xd14(%rip),%zmm19,%zmm19 # 22c0 <_IO_stdin_used+0x2c0> 15a9: 0d 00 00 15ac: 62 f1 95 48 d4 e4 vpaddq %zmm4,%zmm13,%zmm4 15b2: 62 f1 95 48 73 d4 21 vpsrlq $0x21,%zmm4,%zmm13 15b9: 62 71 95 48 ef ec vpxorq %zmm4,%zmm13,%zmm13 15bf: 62 62 7d 48 25 dd vpmovsxdq %ymm5,%zmm27 15c5: 62 71 55 48 fe 15 71 vpaddd 0xb71(%rip),%zmm5,%zmm10 # 2140 <_IO_stdin_used+0x140> 15cc: 0b 00 00 15cf: 62 91 9d 48 73 d3 20 vpsrlq $0x20,%zmm27,%zmm12 15d6: 62 42 7d 48 25 f2 vpmovsxdq %ymm10,%zmm30 15dc: 62 91 a5 40 f4 f0 vpmuludq %zmm24,%zmm27,%zmm6 15e2: 62 53 fd 48 3b d2 01 vextracti64x4 $0x1,%zmm10,%ymm10 15e9: 62 01 b5 40 f4 db vpmuludq %zmm27,%zmm25,%zmm27 15ef: 62 52 7d 48 25 d2 vpmovsxdq %ymm10,%zmm10 15f5: 62 11 9d 48 f4 e0 vpmuludq %zmm24,%zmm12,%zmm12 15fb: 62 f1 7c 48 5b e5 vcvtdq2ps %zmm5,%zmm4 1601: 62 f3 fd 48 3b ed 01 vextracti64x4 $0x1,%zmm5,%ymm5 1608: 62 01 8d 40 f4 f8 vpmuludq %zmm24,%zmm30,%zmm31 160e: 62 11 9d 48 d4 e3 vpaddq %zmm27,%zmm12,%zmm12 1614: 62 62 7d 48 25 dd vpmovsxdq %ymm5,%zmm27 161a: 62 d1 9d 48 73 f4 20 vpsllq $0x20,%zmm12,%zmm12 1621: 62 e1 6c 40 5c f4 vsubps %zmm4,%zmm18,%zmm22 1627: 62 d1 cd 48 d4 f4 vpaddq %zmm12,%zmm6,%zmm6 162d: 62 91 9d 48 73 d3 20 vpsrlq $0x20,%zmm27,%zmm12 1634: 62 91 a5 40 f4 e8 vpmuludq %zmm24,%zmm27,%zmm5 163a: 62 41 cd 48 d4 eb vpaddq %zmm11,%zmm6,%zmm29 1640: 62 b1 5c 48 58 e7 vaddps %zmm23,%zmm4,%zmm4 1646: 62 01 b5 40 f4 db vpmuludq %zmm27,%zmm25,%zmm27 164c: 62 11 9d 48 f4 e0 vpmuludq %zmm24,%zmm12,%zmm12 1652: 62 a1 5c 48 5c d2 vsubps %zmm18,%zmm4,%zmm18 1658: 62 11 9d 48 d4 e3 vpaddq %zmm27,%zmm12,%zmm12 165e: 62 d1 9d 48 73 f4 20 vpsllq $0x20,%zmm12,%zmm12 1665: 62 d1 d5 48 d4 ec vpaddq %zmm12,%zmm5,%zmm5 166b: 62 51 95 40 ef e6 vpxorq %zmm14,%zmm29,%zmm12 1671: 62 41 d5 48 d4 e9 vpaddq %zmm9,%zmm5,%zmm29 1677: 62 41 95 40 ef e5 vpxorq %zmm13,%zmm29,%zmm28 167d: 62 d1 95 40 73 d4 21 vpsrlq $0x21,%zmm12,%zmm29 1684: 62 41 95 40 ef ec vpxorq %zmm12,%zmm29,%zmm29 168a: 62 61 95 40 f4 d9 vpmuludq %zmm1,%zmm29,%zmm27 1690: 62 91 9d 48 73 d5 20 vpsrlq $0x20,%zmm29,%zmm12 1697: 62 71 9d 48 f4 e1 vpmuludq %zmm1,%zmm12,%zmm12 169d: 62 01 e5 48 f4 ed vpmuludq %zmm29,%zmm3,%zmm29 16a3: 62 11 9d 48 d4 e5 vpaddq %zmm29,%zmm12,%zmm12 16a9: 62 91 95 40 73 d4 21 vpsrlq $0x21,%zmm28,%zmm29 16b0: 62 01 95 40 ef ec vpxorq %zmm28,%zmm29,%zmm29 16b6: 62 d1 9d 48 73 f4 20 vpsllq $0x20,%zmm12,%zmm12 16bd: 62 91 9d 40 73 d5 20 vpsrlq $0x20,%zmm29,%zmm28 16c4: 62 41 a5 40 d4 dc vpaddq %zmm12,%zmm27,%zmm27 16ca: 62 61 9d 40 f4 e1 vpmuludq %zmm1,%zmm28,%zmm28 16d0: 62 71 95 40 f4 e1 vpmuludq %zmm1,%zmm29,%zmm12 16d6: 62 01 e5 48 f4 ed vpmuludq %zmm29,%zmm3,%zmm29 16dc: 62 01 9d 40 d4 e5 vpaddq %zmm29,%zmm28,%zmm28 16e2: 62 91 9d 40 73 f4 20 vpsllq $0x20,%zmm28,%zmm28 16e9: 62 01 9d 48 d4 e4 vpaddq %zmm28,%zmm12,%zmm28 16ef: 62 91 9d 48 73 d3 21 vpsrlq $0x21,%zmm27,%zmm12 16f6: 62 11 9d 48 ef e3 vpxorq %zmm27,%zmm12,%zmm12 16fc: 62 61 9d 48 f4 e8 vpmuludq %zmm0,%zmm12,%zmm29 1702: 62 d1 a5 40 73 d4 20 vpsrlq $0x20,%zmm12,%zmm27 1709: 62 61 a5 40 f4 d8 vpmuludq %zmm0,%zmm27,%zmm27 170f: 62 51 ed 48 f4 e4 vpmuludq %zmm12,%zmm2,%zmm12 1715: 62 41 a5 40 d4 dc vpaddq %zmm12,%zmm27,%zmm27 171b: 62 91 9d 48 73 d4 21 vpsrlq $0x21,%zmm28,%zmm12 1722: 62 11 9d 48 ef e4 vpxorq %zmm28,%zmm12,%zmm12 1728: 62 91 a5 40 73 f3 20 vpsllq $0x20,%zmm27,%zmm27 172f: 62 d1 9d 40 73 d4 20 vpsrlq $0x20,%zmm12,%zmm28 1736: 62 01 95 40 d4 db vpaddq %zmm27,%zmm29,%zmm27 173c: 62 61 9d 40 f4 e0 vpmuludq %zmm0,%zmm28,%zmm28 1742: 62 91 dd 48 73 d3 21 vpsrlq $0x21,%zmm27,%zmm4 1749: 62 61 9d 48 f4 e8 vpmuludq %zmm0,%zmm12,%zmm29 174f: 62 51 ed 48 f4 e4 vpmuludq %zmm12,%zmm2,%zmm12 1755: 62 41 9d 40 d4 e4 vpaddq %zmm12,%zmm28,%zmm28 175b: 62 91 9d 48 73 d6 20 vpsrlq $0x20,%zmm30,%zmm12 1762: 62 91 9d 40 73 f4 20 vpsllq $0x20,%zmm28,%zmm28 1769: 62 01 95 40 d4 e4 vpaddq %zmm28,%zmm29,%zmm28 176f: 62 01 9d 48 f4 e8 vpmuludq %zmm24,%zmm12,%zmm29 1775: 62 91 c5 48 73 d4 21 vpsrlq $0x21,%zmm28,%zmm7 177c: 62 f2 3d 48 7e e7 vpermt2d %zmm7,%zmm8,%zmm4 1782: 62 02 3d 48 7e dc vpermt2d %zmm28,%zmm8,%zmm27 1788: 62 11 b5 40 f4 e6 vpmuludq %zmm30,%zmm25,%zmm12 178e: 62 01 5d 48 ef db vpxord %zmm27,%zmm4,%zmm27 1794: 62 01 ad 48 f4 f0 vpmuludq %zmm24,%zmm10,%zmm30 179a: 62 01 7c 48 5b db vcvtdq2ps %zmm27,%zmm27 17a0: 62 41 95 40 d4 ec vpaddq %zmm12,%zmm29,%zmm29 17a6: 62 91 95 40 73 f5 20 vpsllq $0x20,%zmm29,%zmm29 17ad: 62 11 85 40 d4 e5 vpaddq %zmm29,%zmm31,%zmm12 17b3: 62 d1 95 40 73 d2 20 vpsrlq $0x20,%zmm10,%zmm29 17ba: 62 01 95 40 f4 e8 vpmuludq %zmm24,%zmm29,%zmm29 17c0: 62 51 b5 40 f4 d2 vpmuludq %zmm10,%zmm25,%zmm10 17c6: 62 41 95 40 d4 ea vpaddq %zmm10,%zmm29,%zmm29 17cc: 62 91 95 40 73 f5 20 vpsllq $0x20,%zmm29,%zmm29 17d3: 62 01 8d 40 d4 ed vpaddq %zmm29,%zmm30,%zmm29 17d9: 62 41 9d 48 d4 f3 vpaddq %zmm11,%zmm12,%zmm30 17df: 62 41 8d 40 ef f6 vpxorq %zmm14,%zmm30,%zmm30 17e5: 62 51 95 40 d4 c9 vpaddq %zmm9,%zmm29,%zmm9 17eb: 62 91 a5 48 73 d6 21 vpsrlq $0x21,%zmm30,%zmm11 17f2: 62 51 b5 48 ef cd vpxorq %zmm13,%zmm9,%zmm9 17f8: 62 01 a5 48 ef f6 vpxorq %zmm30,%zmm11,%zmm30 17fe: 62 d1 a5 48 73 d1 21 vpsrlq $0x21,%zmm9,%zmm11 1805: 62 91 ad 48 73 d6 20 vpsrlq $0x20,%zmm30,%zmm10 180c: 62 51 a5 48 ef d9 vpxorq %zmm9,%zmm11,%zmm11 1812: 62 61 8d 40 f4 f9 vpmuludq %zmm1,%zmm30,%zmm31 1818: 62 71 ad 48 f4 d1 vpmuludq %zmm1,%zmm10,%zmm10 181e: 62 01 e5 48 f4 f6 vpmuludq %zmm30,%zmm3,%zmm30 1824: 62 71 a5 48 f4 c9 vpmuludq %zmm1,%zmm11,%zmm9 182a: 62 11 ad 48 d4 d6 vpaddq %zmm30,%zmm10,%zmm10 1830: 62 d1 8d 40 73 d3 20 vpsrlq $0x20,%zmm11,%zmm30 1837: 62 61 8d 40 f4 f1 vpmuludq %zmm1,%zmm30,%zmm30 183d: 62 d1 ad 48 73 f2 20 vpsllq $0x20,%zmm10,%zmm10 1844: 62 51 85 40 d4 d2 vpaddq %zmm10,%zmm31,%zmm10 184a: 62 51 e5 48 f4 db vpmuludq %zmm11,%zmm3,%zmm11 1850: 62 41 8d 40 d4 f3 vpaddq %zmm11,%zmm30,%zmm30 1856: 62 d1 a5 48 73 d2 21 vpsrlq $0x21,%zmm10,%zmm11 185d: 62 51 a5 48 ef d2 vpxorq %zmm10,%zmm11,%zmm10 1863: 62 91 8d 40 73 f6 20 vpsllq $0x20,%zmm30,%zmm30 186a: 62 d1 a5 48 73 d2 20 vpsrlq $0x20,%zmm10,%zmm11 1871: 62 11 b5 48 d4 ce vpaddq %zmm30,%zmm9,%zmm9 1877: 62 71 a5 48 f4 d8 vpmuludq %zmm0,%zmm11,%zmm11 187d: 62 61 ad 48 f4 f0 vpmuludq %zmm0,%zmm10,%zmm30 1883: 62 51 ed 48 f4 d2 vpmuludq %zmm10,%zmm2,%zmm10 1889: 62 51 a5 48 d4 da vpaddq %zmm10,%zmm11,%zmm11 188f: 62 d1 ad 48 73 d1 21 vpsrlq $0x21,%zmm9,%zmm10 1896: 62 51 ad 48 ef c9 vpxorq %zmm9,%zmm10,%zmm9 189c: 62 d1 a5 48 73 f3 20 vpsllq $0x20,%zmm11,%zmm11 18a3: 62 71 b5 48 f4 d0 vpmuludq %zmm0,%zmm9,%zmm10 18a9: 62 51 8d 40 d4 db vpaddq %zmm11,%zmm30,%zmm11 18af: 62 d1 8d 40 73 d1 20 vpsrlq $0x20,%zmm9,%zmm30 18b6: 62 d1 dd 48 73 d3 21 vpsrlq $0x21,%zmm11,%zmm4 18bd: 62 51 ed 48 f4 c9 vpmuludq %zmm9,%zmm2,%zmm9 18c3: 62 61 8d 40 f4 f0 vpmuludq %zmm0,%zmm30,%zmm30 18c9: 62 41 8d 40 d4 f1 vpaddq %zmm9,%zmm30,%zmm30 18cf: 62 43 fd 48 3b d1 01 vextracti64x4 $0x1,%zmm26,%ymm9 18d6: 62 91 8d 40 73 f6 20 vpsllq $0x20,%zmm30,%zmm30 18dd: 62 01 ad 48 d4 f6 vpaddq %zmm30,%zmm10,%zmm30 18e3: 62 11 fd 48 6f d2 vmovdqa64 %zmm26,%zmm10 18e9: 62 52 7d 48 25 d2 vpmovsxdq %ymm10,%zmm10 18ef: 62 52 7d 48 25 c9 vpmovsxdq %ymm9,%zmm9 18f5: 62 f1 ad 48 d4 f6 vpaddq %zmm6,%zmm10,%zmm6 18fb: 62 f1 b5 48 d4 ed vpaddq %zmm5,%zmm9,%zmm5 1901: 62 d1 cd 48 ef f6 vpxorq %zmm14,%zmm6,%zmm6 1907: 62 d1 d5 48 ef ed vpxorq %zmm13,%zmm5,%zmm5 190d: 62 f1 ad 40 73 d6 21 vpsrlq $0x21,%zmm6,%zmm26 1914: 62 51 ad 48 d4 d4 vpaddq %zmm12,%zmm10,%zmm10 191a: 62 f1 ad 40 ef f6 vpxorq %zmm6,%zmm26,%zmm6 1920: 62 51 ad 48 ef d6 vpxorq %zmm14,%zmm10,%zmm10 1926: 62 f1 ad 40 73 d6 20 vpsrlq $0x20,%zmm6,%zmm26 192d: 62 d1 8d 48 73 d2 21 vpsrlq $0x21,%zmm10,%zmm14 1934: 62 61 cd 48 f4 f9 vpmuludq %zmm1,%zmm6,%zmm31 193a: 62 51 8d 48 ef f2 vpxorq %zmm10,%zmm14,%zmm14 1940: 62 11 b5 48 d4 cd vpaddq %zmm29,%zmm9,%zmm9 1946: 62 91 c5 48 73 d6 21 vpsrlq $0x21,%zmm30,%zmm7 194d: 62 f1 e5 48 f4 f6 vpmuludq %zmm6,%zmm3,%zmm6 1953: 62 41 b5 48 ef ed vpxorq %zmm13,%zmm9,%zmm29 1959: 62 d1 b5 48 73 d6 20 vpsrlq $0x20,%zmm14,%zmm9 1960: 62 91 95 48 73 d5 21 vpsrlq $0x21,%zmm29,%zmm13 1967: 62 61 ad 40 f4 d1 vpmuludq %zmm1,%zmm26,%zmm26 196d: 62 11 95 48 ef ed vpxorq %zmm29,%zmm13,%zmm13 1973: 62 d1 ad 48 73 d5 20 vpsrlq $0x20,%zmm13,%zmm10 197a: 62 f2 3d 48 7e e7 vpermt2d %zmm7,%zmm8,%zmm4 1980: 62 71 b5 48 f4 c9 vpmuludq %zmm1,%zmm9,%zmm9 1986: 62 12 3d 48 7e de vpermt2d %zmm30,%zmm8,%zmm11 198c: 62 51 5d 48 ef db vpxord %zmm11,%zmm4,%zmm11 1992: 62 71 95 48 f4 e1 vpmuludq %zmm1,%zmm13,%zmm12 1998: 62 61 ad 40 d4 d6 vpaddq %zmm6,%zmm26,%zmm26 199e: 62 f1 cd 48 73 d5 21 vpsrlq $0x21,%zmm5,%zmm6 19a5: 62 f1 cd 48 ef ed vpxorq %zmm5,%zmm6,%zmm5 19ab: 62 91 ad 40 73 f2 20 vpsllq $0x20,%zmm26,%zmm26 19b2: 62 f1 cd 48 73 d5 20 vpsrlq $0x20,%zmm5,%zmm6 19b9: 62 01 85 40 d4 d2 vpaddq %zmm26,%zmm31,%zmm26 19bf: 62 f1 cd 48 f4 f1 vpmuludq %zmm1,%zmm6,%zmm6 19c5: 62 61 d5 48 f4 f9 vpmuludq %zmm1,%zmm5,%zmm31 19cb: 62 f1 e5 48 f4 ed vpmuludq %zmm5,%zmm3,%zmm5 19d1: 62 71 ad 48 f4 d1 vpmuludq %zmm1,%zmm10,%zmm10 19d7: 62 51 e5 48 f4 ed vpmuludq %zmm13,%zmm3,%zmm13 19dd: 62 f1 cd 48 d4 f5 vpaddq %zmm5,%zmm6,%zmm6 19e3: 62 91 d5 48 73 d2 21 vpsrlq $0x21,%zmm26,%zmm5 19ea: 62 01 d5 48 ef d2 vpxorq %zmm26,%zmm5,%zmm26 19f0: 62 f1 cd 48 73 f6 20 vpsllq $0x20,%zmm6,%zmm6 19f7: 62 91 d5 48 73 d2 20 vpsrlq $0x20,%zmm26,%zmm5 19fe: 62 f1 85 40 d4 f6 vpaddq %zmm6,%zmm31,%zmm6 1a04: 62 f1 d5 48 f4 e8 vpmuludq %zmm0,%zmm5,%zmm5 1a0a: 62 51 ad 48 d4 d5 vpaddq %zmm13,%zmm10,%zmm10 1a10: 62 61 ad 40 f4 f8 vpmuludq %zmm0,%zmm26,%zmm31 1a16: 62 d1 ad 48 73 f2 20 vpsllq $0x20,%zmm10,%zmm10 1a1d: 62 51 9d 48 d4 e2 vpaddq %zmm10,%zmm12,%zmm12 1a23: 62 01 ed 48 f4 d2 vpmuludq %zmm26,%zmm2,%zmm26 1a29: 62 51 7c 48 5b db vcvtdq2ps %zmm11,%zmm11 1a2f: 62 91 d5 48 d4 ea vpaddq %zmm26,%zmm5,%zmm5 1a35: 62 31 24 48 59 de vmulps %zmm22,%zmm11,%zmm11 1a3b: 62 f1 d5 48 73 f5 20 vpsllq $0x20,%zmm5,%zmm5 1a42: 62 61 85 40 d4 d5 vpaddq %zmm5,%zmm31,%zmm26 1a48: 62 f1 d5 48 73 d6 21 vpsrlq $0x21,%zmm6,%zmm5 1a4f: 62 f1 d5 48 ef f6 vpxorq %zmm6,%zmm5,%zmm6 1a55: 62 91 dd 48 73 d2 21 vpsrlq $0x21,%zmm26,%zmm4 1a5c: 62 f1 d5 48 73 d6 20 vpsrlq $0x20,%zmm6,%zmm5 1a63: 62 91 fd 48 6f fa vmovdqa64 %zmm26,%zmm7 1a69: 62 61 cd 48 f4 f8 vpmuludq %zmm0,%zmm6,%zmm31 1a6f: 62 12 6d 40 b8 db vfmadd231ps %zmm27,%zmm18,%zmm11 1a75: 62 f1 ed 48 f4 f6 vpmuludq %zmm6,%zmm2,%zmm6 1a7b: 62 f1 d5 48 f4 e8 vpmuludq %zmm0,%zmm5,%zmm5 1a81: 62 f1 d5 48 d4 ee vpaddq %zmm6,%zmm5,%zmm5 1a87: 62 f1 8d 48 f4 f1 vpmuludq %zmm1,%zmm14,%zmm6 1a8d: 62 f1 d5 48 73 f5 20 vpsllq $0x20,%zmm5,%zmm5 1a94: 62 f1 85 40 d4 ed vpaddq %zmm5,%zmm31,%zmm5 1a9a: 62 51 e5 48 f4 f6 vpmuludq %zmm14,%zmm3,%zmm14 1aa0: 62 f1 85 40 73 d5 21 vpsrlq $0x21,%zmm5,%zmm31 1aa7: 62 92 3d 48 7e e7 vpermt2d %zmm31,%zmm8,%zmm4 1aad: 62 f2 3d 48 7e fd vpermt2d %zmm5,%zmm8,%zmm7 1ab3: 62 f1 5d 48 ef ef vpxord %zmm7,%zmm4,%zmm5 1ab9: 62 f1 7c 48 5b ed vcvtdq2ps %zmm5,%zmm5 1abf: 62 51 b5 48 d4 ce vpaddq %zmm14,%zmm9,%zmm9 1ac5: 62 d1 b5 48 73 f1 20 vpsllq $0x20,%zmm9,%zmm9 1acc: 62 d1 cd 48 d4 f1 vpaddq %zmm9,%zmm6,%zmm6 1ad2: 62 f1 b5 48 73 d6 21 vpsrlq $0x21,%zmm6,%zmm9 1ad9: 62 71 b5 48 ef ce vpxorq %zmm6,%zmm9,%zmm9 1adf: 62 71 b5 48 f4 d0 vpmuludq %zmm0,%zmm9,%zmm10 1ae5: 62 d1 cd 48 73 d1 20 vpsrlq $0x20,%zmm9,%zmm6 1aec: 62 f1 cd 48 f4 f0 vpmuludq %zmm0,%zmm6,%zmm6 1af2: 62 51 ed 48 f4 c9 vpmuludq %zmm9,%zmm2,%zmm9 1af8: 62 d1 cd 48 d4 f1 vpaddq %zmm9,%zmm6,%zmm6 1afe: 62 f1 cd 48 73 f6 20 vpsllq $0x20,%zmm6,%zmm6 1b05: 62 f1 ad 48 d4 f6 vpaddq %zmm6,%zmm10,%zmm6 1b0b: 62 d1 ad 48 73 d4 21 vpsrlq $0x21,%zmm12,%zmm10 1b12: 62 51 ad 48 ef d4 vpxorq %zmm12,%zmm10,%zmm10 1b18: 62 f1 dd 48 73 d6 21 vpsrlq $0x21,%zmm6,%zmm4 1b1f: 62 71 ad 48 f4 e0 vpmuludq %zmm0,%zmm10,%zmm12 1b25: 62 d1 b5 48 73 d2 20 vpsrlq $0x20,%zmm10,%zmm9 1b2c: 62 71 b5 48 f4 c8 vpmuludq %zmm0,%zmm9,%zmm9 1b32: 62 51 ed 48 f4 d2 vpmuludq %zmm10,%zmm2,%zmm10 1b38: 62 51 b5 48 d4 ca vpaddq %zmm10,%zmm9,%zmm9 1b3e: 62 d1 b5 48 73 f1 20 vpsllq $0x20,%zmm9,%zmm9 1b45: 62 51 9d 48 d4 c9 vpaddq %zmm9,%zmm12,%zmm9 1b4b: 62 d1 c5 48 73 d1 21 vpsrlq $0x21,%zmm9,%zmm7 1b52: 62 d2 3d 48 7e f1 vpermt2d %zmm9,%zmm8,%zmm6 1b58: 62 f2 3d 48 7e e7 vpermt2d %zmm7,%zmm8,%zmm4 1b5e: 62 f1 7c 48 28 3d d8 vmovaps 0x7d8(%rip),%zmm7 # 2340 <_IO_stdin_used+0x340> 1b65: 07 00 00 1b68: 62 f1 5d 48 ef e6 vpxord %zmm6,%zmm4,%zmm4 1b6e: 62 f1 7c 48 5b e4 vcvtdq2ps %zmm4,%zmm4 1b74: 62 a1 5c 48 59 f6 vmulps %zmm22,%zmm4,%zmm22 1b7a: 62 e2 4d 40 98 d5 vfmadd132ps %zmm5,%zmm22,%zmm18 1b80: 62 a1 04 48 59 d2 vmulps %zmm18,%zmm15,%zmm18 1b86: 62 c2 6d 40 98 db vfmadd132ps %zmm11,%zmm18,%zmm19 1b8c: 62 e2 45 48 98 1d 6a vfmadd132ps 0x76a(%rip),%zmm7,%zmm19 # 2300 <_IO_stdin_used+0x300> 1b93: 07 00 00 1b96: 62 a2 65 40 b8 cd vfmadd231ps %zmm21,%zmm19,%zmm17 1b9c: 62 e1 54 40 59 2d 1a vmulps 0x81a(%rip),%zmm21,%zmm21 # 23c0 <_IO_stdin_used+0x3c0> 1ba3: 08 00 00 1ba6: 0f 85 74 f7 ff ff jne 1320 <fill_data.isra.0.constprop.0+0xf0> 1bac: 62 e1 74 40 59 0d 4a vmulps 0x84a(%rip),%zmm17,%zmm17 # 2400 <_IO_stdin_used+0x400> 1bb3: 08 00 00 1bb6: 48 8d 7f 40 lea 0x40(%rdi),%rdi 1bba: 62 e1 7c 48 29 4f ff vmovaps %zmm17,-0x40(%rdi) 1bc1: 48 39 d7 cmp %rdx,%rdi 1bc4: 0f 85 f6 f6 ff ff jne 12c0 <fill_data.isra.0.constprop.0+0x90> 1bca: 8d 49 01 lea 0x1(%rcx),%ecx 1bcd: 48 8d 92 00 80 00 00 lea 0x8000(%rdx),%rdx 1bd4: 81 f9 00 20 00 00 cmp $0x2000,%ecx 1bda: 48 8d 3e lea (%rsi),%rdi 1bdd: 74 11 je 1bf0 <fill_data.isra.0.constprop.0+0x9c0> 1bdf: 48 8d b6 00 80 00 00 lea 0x8000(%rsi),%rsi 1be6: e9 a5 f6 ff ff jmpq 1290 <fill_data.isra.0.constprop.0+0x60> 1beb: 0f 1f 44 00 00 nopl 0x0(%rax,%rax,1) 1bf0: c5 f8 77 vzeroupper 1bf3: c9 leaveq 1bf4: c3 retq 1bf5: 66 66 2e 0f 1f 84 00 data16 nopw %cs:0x0(%rax,%rax,1) 1bfc: 00 00 00 00 In the case where the inner loop (foreach o) has a runtime defined number of iterations ("OCTAVES" in source code is not compile time constant) both gcc both with -fno-tree-pre and without, generate same scalar code without, and generate same sequence of instructions, just with very slightly different register allocation. I think the issue of inner loop iterations being runtime dependent and code not being vectorized, should be moved to a different issue tho.