Considering the following assembly code loop:
#include <iostream>
#define ADD_LOOP(i, n, v)       \
asm volatile (                  \
    "movw %1, %%cx      ;"      \
    "movq %2, %%rax     ;"      \
    "movq $0, %%rbx     ;"      \
    "for:               ;"      \
    "addq %%rax, %%rbx  ;"      \
    "decw %%cx          ;"      \
    "jnz for            ;"      \
    "movq %%rbx, %0     ;"      \
    : "=x"(v)                   \
    : "n"(i), "x"(n)            \
    : "%cx", "%rax", "%rbx"     \
);
int main() {
    uint16_t iter(10000);
    uint64_t num(5);
    uint64_t val;
    ADD_LOOP(iter, num, val)
    std::cout << val << std::endl;
    return 0;
}
Is possible to call a C function (or it's machine code output) from within a loop as specified above?
for example:
#include <wmmintrin.h>
int main() {
    __m128i x, y;
    for(int i = 0; i < 10; i++) {
        x = __builtin_ia32_aesenc128(x, y);
    }
    return 0;
}
Thanks
 
     
    