loop unrolling mit variadic Templates möglich?


  • Mod

    1. Code mit -Os ergibt

    .L3:
            leaq    data(%rip), %rcx
            addl    (%rcx,%rdx), %eax
            leaq    data1(%rip), %rcx
            addl    (%rcx,%rdx), %eax
            addq    $4, %rdx
            cmpq    $4000, %rdx
            jne     .L3
    

    -ftree-vectorize und -funroll-loops führen zu keiner Änderung (ausser vertauschter Reihenfolge der 2. und 3. Instruktion mit -funroll-loops)


  • Mod

    • schrieb:

    -ftemplate-depth=2000

    Wozu? Braucht es tatsächlich 2000 rekursive Instantiierungen? (Oder gibst du das standardmäßig an?)

    Habe 2000 angegeben, es mehr als 1000 sein müssen bei dieser primitiven Art der Generierung von make_integer_sequence.


Anmelden zum Antworten