Resultados da pesquisa a pedido "assembly"

1 a resposta

ARM IT assembler de instruções condicionais (armcc)

por que abaixo compila: ITE EQ MRSEQ R0, MSP MRSNE R0, PSP mas isso não: ITT NE MRSNE R0, PSP MRSEQ R0, MSP É possível que o MRSNE R0, PSP e MRSEQ R0, MSP sejam executados (este é o meu caso)? This compiles: ITT NE MRSNE R0, PSP MRSNE R0, MSP ...

3 a resposta

Produzir loops sem instrução cmp no GCC

Eu tenho vários loops apertados que estou tentando otimizar com o GCC e com os intrínsecos. Considere, por exemplo, a seguinte função. void triad(float *x, float *y, float *z, const int n) { float k = 3.14159f; int i; __m256 k4 = ...

4 a resposta

Carregar flutuações constantes nos registros SSE

Estou tentando descobrir uma maneira eficiente de carregar flutuações constantes de tempo de compilação nos registros SSE (2/3). Eu tentei fazer código simples como este, const __m128 x = { 1.0f, 2.0f, 3.0f, 4.0f };mas isso gera 4 instruções ...

4 a resposta

Modos de micro fusão e endereçamento

Encontrei algo inesperado (para mim) usando oAnalisador de código de arquitetura Intel® [https://software.intel.com/en-us/articles/intel-architecture-code-analyzer] (IACA). A seguinte instrução usando[base+index] endereçamento addps xmm1, ...

1 a resposta

O que é o IACA e como eu o uso?

Encontrei esta ferramenta interessante e poderosa chamadaIACA (o analisador de código de arquitetura Intel) [https://software.intel.com/en-us/articles/intel-architecture-code-analyzer], mas tenho problemas para entender. O que posso fazer com ...

1 a resposta

Etiquetas locais no GNU assembler; backdrace de impressão gdb como se etiquetas fossem funções

Dois pedaços de código de exemplo; primeiro algum código C ++ chamando em assembly: /* test1.cc */ #include <stdio.h> extern "C" void blah(); extern "C" void stuff() { printf( "This is a test\n" ); } int main( int argc, char *argv[] ) { blah(); ...

0 a resposta

Lendo e imprimindo uma corda no conjunto do braço

Estou usando o ARMSim e acabei de começar a aprender montagem, então, desculpe-me se eu parecer sem noção, mas estou tentando ler uma string de um arquivo de entrada e depois imprimi-la na tela de saída. Até agora eu tenho: .equ SWI_Open, 0x66 ...

6 a resposta

Aprendendo a ler a saída do assembler do GCC

Estou pensando em adquirir uma compreensão muito rudimentar da montagem. Meu objetivo atual é simples:MUITO BÁSICOentendimento da saída do montador GCC ao compilar C / C ++ com a opção -S para x86 / x86-64. Apenas o suficiente para fazer coisas ...

1 a resposta

diferença entre instruções condicionais (cmov) e instruções de salto [duplicado]

Esta pergunta já tem uma resposta aqui: Por que uma movimentação condicional não é vulnerável a Falha na Previsão de Filial? [/questions/14131096/why-is-a-conditional-move-not-vulnerable-for-branch-prediction-failure] 5 respostasEstou confuso ...

5 a resposta

O que registra para salvar na convenção de chamada do ARM C?

Faz um tempo desde a última vez que codifiquei o montador de braço e estou um pouco enferrujado nos detalhes. Se eu chamar uma função C do braço, só preciso me preocupar em salvar r0-r3 e lr, certo? Se a função C usa outros registros, é ...