// vim: ft=arm

.{{label}}:

{% capture mr_over_4 %}{{ mr | divided_by: 4}}{%endcapture%}
{% capture mr_over_4_min_1 %}{{ mr | divided_by: 4 | minus: 1}}{%endcapture%}

{% for reg in (0..mr_over_4_min_1) %}
    vldmia         r3!, { q{{reg}} }
{% endfor %}

{% if flipped %}
    {% for acc in (from..to) %}
        {% capture other%}{{acc | minus: from | modulo: mr_over_4}}{%endcapture%}
        {{op}} q{{acc}}, q{{acc}}, q{{other}}
    {% endfor %}
{% else %}
    {% for acc in (from..to) %}
        {% capture other%}{{acc | minus: from | modulo: mr_over_4}}{%endcapture%}
        {{op}} q{{acc}}, q{{other}}, q{{acc}}
    {% endfor %}
{% endif %}

b           .non_linear_loop
