Return Values (C++)
Um valor de retorno que pode caber em 64 bits é retornado com o RAX- isto inclui os tipos __m64, mas __m128, __m128i, __m128d, os flutuadores, e os doubles são retornados em XMM0.Se o valor de retorno é um tipo definido pelo usuário que não irá caber em 64 bits, o chamador assume a responsabilidade de atribuir e de passar um ponteiro para o valor retornado como o primeiro argumento.Os argumentos subsequentes são deslocados em um argumento à direita.Mesmo que o ponteiro deve ser retornado pelo receptor em RAX.Tipos definidos pelo usuário a serem retornados diretamente devem ser 1, 2, 4, 8, 16, 32, ou 64 bits de tamanho.