Compartilhar via


/forceInterlockedFunctions

Seleciona dinamicamente entre carga Armv8.0, armazene instruções exclusivas ou instruções atômicas Armv8.1 Large System Extension (LSE) com base na capacidade da CPU em tempo de execução.

Sintaxe

/forceInterlockedFunctions[-]

Observações

Quando possível, esse sinalizador evita o uso de instruções exclusivas de carregamento e armazenamento do Armv8.0, pois essas instruções podem resultar em livelocks. Esse sinalizador força os seguintes intrínsecos interligados a serem gerados como funções fora de linha:

Operação oito 16 32 64 128 Ponteiro
Adicionar Nenhum Nenhum Completo Completo Nenhum Nenhum
e Completo Completo Completo Completo Nenhum Nenhum
CompareTroca Completo Completo Completo Completo Completo Completo
Decremento Nenhum Completo Completo Completo Nenhum Nenhum
Troca Completo Completo Completo Completo Nenhum Completo
TrocaAdicionar Completo Completo Completo Completo Nenhum Nenhum
Incremento Nenhum Completo Completo Completo Nenhum Nenhum
Ou Completo Completo Completo Completo Nenhum Nenhum
Xor Completo Completo Completo Completo Nenhum Nenhum
BitTestAndReset Nenhum Nenhum Completo Completo Nenhum Nenhum
bittestandset Nenhum Nenhum Completo Completo Nenhum Nenhum

Chave:

  • Completo: suporta simples, _acq, _rel, e _nf formulários.

  • Nenhum: sem suporte

Para obter mais informações sobre intrínsecos intertravados, consulte a seção "Intrínsecos intertravados" em Intrínsecos do Arm64.

Para definir a opção /forceInterlockedFunctions do compilador no Visual Studio

  1. Abra a caixa de diálogo Páginas de Propriedades do projeto. Para obter mais informações, confira Definir as propriedades de build e do compilador do C++ no Visual Studio.

  2. Selecione a página de propriedades Propriedades de Configuração>C/C++>Linha de Comando.

  3. Na caixa Opções adicionais , adicione /forceInterlockedFunctions para habilitar. Escolha OK para salvar suas alterações.

Para definir essa opção do compilador via programação

Consulte também

Intrínsecos do Arm64
Opções do compilador MSVC
Sintaxe da linha de comando do compilador MSVC