Python
Java
PHP
IOS
Android
Nodejs
JavaScript
Html5
Windows
Ubuntu
Linux
SSE、内在函数和对齐
我使用大量 SSE 编译器内在函数编写了一个 3D 矢量类 一切都工作正常 直到我开始使用 new 来实例化具有 3D 向量作为成员的类 我在发布模式下经历了奇怪的崩溃 但在调试模式下却没有 反之亦然 因此 我阅读了一些文章 并认为我需要将
c
Alignment
SSE
intrinsics
C++ 错误:“_mm_sin_ps”未在此范围内声明
我正在尝试对将函数应用于数组的不同方法进行基准测试 why is mm sin ps在我的范围内不知道但是 mm sqrt ps is 我怎样才能让它知道 并且编译没有错误 include
c
Optimization
SSE
SIMD
intrinsics
AVX 中的分散内在函数
我在 Intel Intrinsic Guide v2 7 中找不到它们 您知道 AVX 或 AVX2 指令集是否支持它们吗 原始AVX指令集中没有分散或聚集指令 AVX2 添加了聚集指令 但没有添加分散指令 AVX512F 包括分散和聚集
intrinsics
avx
avx2
SSE加载和添加
假设我有两个由两个类型数组表示的向量double 每个尺寸为2 我想添加相应的位置 所以假设向量i0 and i1 我想补充一下i0 0 i1 0 and i0 1 i1 1 一起 由于类型是double 我需要两个寄存器 诀窍是把i0 0
c
x86
SSE
SIMD
intrinsics
使用 ARM NEON 内在函数添加 alpha 和排列
我正在开发一个 iOS 应用程序 需要相当快地将图像从 RGB gt BGRA 转换 如果可能的话 我想使用 NEON 内在函数 有没有比简单分配组件更快的方法 void neonPermuteRGBtoBGRA unsigned char
arm
neon
intrinsics
cortexa8
混洗两个 __m128i 的 64 位部分的最佳方法
我有两个 m128is a and b 我想进行洗牌 以便高 64 位a落在低 64 位dst和低 64 位b落在上64dst i e dst 0 63 a 64 127 dst 64 127 b 0 63 相当于 m128i dst mm
intel
SSE
SIMD
intrinsics
使用 movsd 让编译器复制字符
我想在时间关键的函数中复制相对较短的内存序列 小于 1 KB 通常为 2 200 字节 CPU 端的最佳代码似乎是rep movsd 但是我不知何故无法让我的编译器生成此代码 我希望 我隐约记得看到过 使用 memcpy 可以使用编译器内置
c
performance
visualstudio2005
memcpy
intrinsics
如何在ARMv8-a上启用Aarch32指令集?
Raspberry Pi 3 使用具有 ARMv8 A53 内核的 Broadcom SoC https www raspberrypi org magpi raspberry pi 3 specs benchmarks 它还使用基于 De
gcc
Assembly
arm
intrinsics
关闭优化时无法解析的外部符号 __aullshr
我正在使用 Visual Studio 2015 C C 编译器编译一段 UEFI C 代码 编译器的目标是IA32 不是 X64 当使用 O1 打开优化时 构建正常 When 关闭使用 Od 优化 构建给出以下错误 error LNK20
c
visualc
intrinsics
bitfields
UEFI
intel avx2 中是否有 movemask 指令的逆指令?
movemask 指令采用 m256i 并返回 int32 其中每个位 前 4 8 或所有 32 位 具体取决于输入向量元素类型 是相应向量元素的最高有效位 我想做相反的事情 取 32 其中只有 4 8 或 32 个最低有效位有意义 并获得
x86
intrinsics
avx
avx2
ICC
内部 __lzcnt64 使用不同的编译选项返回不同的值
我有以下代码 include
c
gcc
x86
intrinsics
BMI
相同的AVX指令集代码Intel Core与AMD Ryzen性能差距巨大
我想使用AVX指令集来加速从8通道图像到8通道图像的卷积运算 我使用 3x3 卷积核 我的代码如下 const float kptr kernels const float bptr biases m256 out0 mm256 loadu
c
performance
Assembly
x86
intrinsics
SSE 4 popcount 为 16 个 8 位值?
我有以下代码 它使用标志与 GCC 进行编译 msse4但问题是弹出计数仅获取转换后的最后四个 8 位 m128i类型 基本上我想要的是计算里面的所有 16 个数字 m128i类型 但我不确定创建变量后要调用什么内部函数popA 不知何故p
gcc
Counter
SSE
intrinsics
Population
为什么 Clang 无法通过 constexpr 函数中的索引获取 __m128 的数据
include
c
Clang
SIMD
constexpr
intrinsics
使用 LLVM C API 生成对内部函数的调用
我正在编写一些使用 LLVM C API 的代码 如何使用内在函数 例如llvm cos f64 or llvm sadd with overflow i32 每当我尝试通过生成一个全局来做到这一点LLVMAddGlobal 具有正确的类型
LLVM
intrinsics
AVX __m256i 有符号 32 位元素的整数除法
我试图在 AVX 机器上进行 SIMD 划分并收到编译错误 这是我的代码 m256i help int arr 8 int arr2 8 help mm256 load si256 m256i arr m256i temp temp mm2
c
SIMD
intrinsics
avx
gcc、simd 内在函数和快速数学概念
大家好 我正在尝试掌握一些有关浮点 SIMD 数学内在函数和 gcc 的快速数学标志的概念 更具体地说 我在 x86 cpu 上使用 MinGW 和 gcc v4 5 0 我已经搜索了一段时间 这就是我 认为我 目前所理解的 当我在没有标志
gcc
SIMD
intrinsics
fastmath
CPU的矩阵访问和乘法优化
我在 java 中制作了一些内在优化的矩阵包装器 在 JNI 的帮助下 需要对此予以肯定 你能给出一些关于矩阵优化的提示吗 我要实施的是 矩阵可以表示为四组缓冲区 数组 一组用于水平访问 一组用于垂直访问 一组用于对角线访问 以及一个命令缓
Java
c
Optimization
matrix
intrinsics
如何将 8 个打包的 32 位整数(在 __m256i 中)的 +-1 符号打包为 64 位整数的字节?
给定一个 m256i打包 32 位有符号整数的价值 如何获取每个字节所在的单个 64 位数字1如果原始的相应 32 位有符号整数 m256i大于或等于0 并得到 1如果该 32 位整数是负数 AVX2 可能还有 AVX512 很有趣 这是另
c
performance
SIMD
intrinsics
avx2
具有 SSE4.1 内在函数的双线性滤波器
我现在正在尝试找出一种一次仅针对一个过滤样本的相当快速的双线性过滤函数 作为习惯使用内在函数的练习 最高可达 SSE41 就可以了 到目前为止我有以下内容 inline m128i DivideBy255 8xUint16 const m1
c
Optimization
Filtering
SSE
intrinsics
1
2
3
4
»