相关疑难解决方法(0)

为什么在x86上对自然对齐的变量进行整数赋值?

我一直在读这篇关于原子操作的文章,它提到了32位整数赋值在x86上是原子的,只要该变量是自然对齐的.

为什么自然对齐确保原子性?

c c++ concurrency x86 atomic

28
推荐指数
2
解决办法
5386
查看次数

x86_64上的原子双浮点或SSE/AVX向量加载/存储

在这里(以及一些SO问题)我看到C++不支持像无锁的东西,std::atomic<double>并且还不能支持像原子AVX/SSE向量这样的东西,因为它依赖于CPU(虽然现在我知道CPU,ARM, AArch64和x86_64有矢量).

但是double在x86_64中对s或向量的原子操作是否有汇编级支持?如果是这样,支持哪些操作(如加载,存储,添加,减去,可能相乘)?MSVC++ 2017实现哪些操作无锁atomic<double>

c++ assembly x86-64 vectorization stdatomic

5
推荐指数
2
解决办法
1435
查看次数

标签 统计

c++ ×2

assembly ×1

atomic ×1

c ×1

concurrency ×1

stdatomic ×1

vectorization ×1

x86 ×1

x86-64 ×1