Resultados da pesquisa a pedido "x86"

1 a resposta

Existem termos como o modo de endereçamento direto / indireto real nos manuais do Intel x86

Para dar um pouco de fundo, eu queria estudar como as instruções x86 são codificadas / decodificadas manualmente. Me deparei com oModR/M eSIB bytes e parece que entender os modos de endereçamento x86 é fundamental para entender o esquema de ...

1 a resposta

bits de registro avx2 reversos

Existe uma maneira (rápida) de executar bits reversos dos valores int de 32 bits no registro avx2? Por exemplo. _mm256_set1_epi32(2732370386); <do something here> //binary: 10100010110111001010100111010010 => 1001011100101010011101101000101 ...

1 a resposta

Implementação de fallback para detecção de conflitos no AVX2

AVX512CD contém o intrínseco_mm512_conflict_epi32(__m512i a) retorna um vetor onde para cada elementoa um bit é definido se tiver o mesmo valor. Existe uma maneira de fazer algo semelhante no AVX2? Não estou interessado nos bits extact; só ...

1 a resposta

As comparações de ponteiros devem ser assinadas ou não assinadas no x86 de 64 bits?

Ao escrever a montagem do espaço do usuário x86 e comparar dois valores de ponteiro, devemos usarassinado condições comojl ejge ounão assinado condições comojb ejae? Intuitivamente, penso nos ponteiros como não assinados, executando de 0 a 2 ...

1 a resposta

Por que o NASM não tem problemas com mnemônicos de instruções válidos como nomes de símbolos em operandos?

Eu escrevi o seguinte programa simples, mas o nasm se recusa a compilá-lo. section .text global _start _start: mov rax, 0x01 mov rdi, 0x01 mov rsi, str mov rdx, 0x03 syscall mov rax, 60 syscall segment .data str db 'Some string' nasm -f elf64 ...

3 a resposta

Recompile um código x86 com o LLVM para um mais rápido x86

É possível executar o compilador LLVM com entrada de código x86 de 32 bits? Existe um algoritmo imenso que eu não tenho código-fonte e quero que ele seja executado mais rapidamente no mesmo hardware. Posso traduzi-lo de x86 para x86 com ...

5 a resposta

Por que a divisão inteira por -1 (negativa) resulta em FPE?

Tenho a tarefa de expelir algunsaparentemente comportamentos estranhos do código C (executando no x86). Posso facilmente concluir tudo o mais, mas este realmente me confundiu. Saídas do snippet de código 1-2147483648 int a = 0x80000000; int b = ...

2 a resposta

É permitido acessar a memória que ultrapassa o limite zero em x86?

É permitido um acesso único para abranger o limite entre0 e0xFFFFFF... em x861? Por exemplo, dado queeax (rax em 64 bits) é zero, é o seguinte acesso permitido: mov ebx, DWORD [eax - 2]Estou interessado em x86 (32 bits) e x86-64, caso ...

2 a resposta

Tornar os armazenamentos de memória anteriores visíveis para as cargas de memória subsequentes

Quero armazenar dados em uma grande variedade com_mm256_stream_si256() chamado em um loop. Pelo que entendi, é necessária uma cerca de memória para tornar essas alterações visíveis para outros threads. A descrição de_mm_sfence() diz Execute uma ...

1 a resposta

O zeramento de vxorps no AMD Jaguar / Bulldozer / Zen é mais rápido com registros xmm que ymm?

As CPUs AMD lidam com instruções AVX 256b decodificando em duas operações 128b. por exemplo.vaddps ymm0, ymm1,ymm1 no AMD Steamroller decodifica para 2 macro-ops, com metade da taxa de transferência devaddps xmm0, xmm1,xmm1. O zeramento de XOR é ...