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.

Reply via email to