Resultados da pesquisa a pedido "x86-64"
Instruções SIMD para comparação de igualdade de ponto flutuante (com NaN == NaN)
Quais instruções seriam usadas para comparar dois vetores de 128 bits que consistem em valores de ponto flutuante de 4 * 32 bits? Existe uma instrução que considere igual o valor de NaN em ambos os lados? Caso contrário, qual o tamanho do ...
Qual é a diferença entre as instruções x86-64 da AT&T movq e movabsq?
Depois de leresta resposta de estouro de pilha [https://stackoverflow.com/questions/40315803/difference-between-movq-and-movabsq-in-x86-64] eesse documento [https://www.cs.cmu.edu/~fp/courses/15213-s07/misc/asm64-handout.pdf], Ainda não entendo a ...
Forçar o gcc a compilar programas de 32 bits na plataforma de 64 bits
Eu tenho um programa proprietário que estou tentando usar em um sistema de 64 bits. Quando inicio a instalação, funciona ok, mas depois ele tenta se atualizar e compilar alguns módulos e não consegue carregá-los. Eu suspeito que é porque ele ...
Adquira / libere semântica com armazenamentos não temporais em x64
Eu tenho algo como: if (f = acquire_load() == ) { ... use Foo }e: auto f = new Foo(); release_store(f)Você pode imaginar facilmente uma implementação de adquirir_load e release_store que usa atômica com load (memory_order_acquire) e store ...
O x86 pode reordenar um armazenamento estreito com uma carga mais ampla que o contenha totalmente?
Manual do desenvolvedor de software das arquiteturas Intel® 64 e IA-32 [https://www-ssl.intel.com/content/dam/www/public/us/en/documents/manuals/64-ia-32-architectures-software-developer-system-programming-manual-325384.pdf] diz: 8.2.3.4 As ...
Instrução SSE MOVSD (estendida: operações escalares e vetoriais de ponto flutuante em x86, x86-64)
De alguma forma, estou confuso com as instruções de montagem do MOVSD. Escrevi algum código numérico calculando alguma multiplicação de matriz, simplesmente usando código C comum, sem intrínsecas SSE. Eu nem incluo o arquivo de cabeçalho para ...
Como o gcc / clang assume que o endereço de uma constante de string é de 32 bits?
Se eu compilar este programa: #include <stdio.h> int main(int argc, char** argv) { printf("hello world!\n"); return 0; }para x86-64, a saída asm usamovl $.LC0, %edi / call puts. (Veja as opções completas de saída / compilação asm no ...
Acesse a seção .data no Código de posição independente
Estou construindo uma biblioteca compartilhada com o NASM. Nessa biblioteca, em alguma função, eu preciso do que chamaríamos devariável estáticaem C. Basicamente, acho que há algum espaço na seção .data: SECTION .data last_tok: dq 0 ; Define a ...
Instrução FMA _mm256_fmadd_pd (): “132”, “231” e “213”?
Alguém poderia me explicar por que existem 3 variantes da instrução de multiplicar e acumular com fusão:vfmadd132pd, vfmadd231pd evfmadd213pd, enquanto houver apenas um C intrínseco_mm256_fmadd_pd? Para simplificar, qual é a diferença entre (na ...
Por que o desempenho de um programa em execução melhora com o tempo?
Considere o seguinte código: #include <iostream> #include <chrono> using Time = std::chrono::high_resolution_clock; using us = std::chrono::microseconds; int main() { volatile int i, k; const int n = 1000000; for(k = 0; k < 200; ++k) { auto ...