Python
Java
PHP
IOS
Android
Nodejs
JavaScript
Html5
Windows
Ubuntu
Linux
什么是内在函数?
谁能解释一下它们是什么以及为什么我需要它们 如果我需要使用内在函数 我要构建什么样的应用程序 内部函数是编译器在可能的情况下直接实现的函数 而不是链接到库提供的函数实现 一个常见的例子是strncpy 对于短字符串 进行函数调用strncp
c
intrinsics
_MM_TRANSPOSE4_PS 在 GCC 中导致编译器错误?
我第一次在 GCC 而不是 MSVC 中编译我的数学库 并经历了所有的小错误 我遇到了一个根本没有意义的错误 Line 284 error lvalue required as left operand of assignment 284号
c
visualc
gcc
SSE
intrinsics
如何在 AVX/AVX2 中递增向量
我想使用内在函数来增加 SIMD 向量的元素 最简单的方法似乎是为每个元素加 1 如下所示 note vec inc之前已设置为1 vec mm256 add epi16 vec vec inc 但是是否有任何特殊指令来增加向量 类似于in
Assembly
x86
SIMD
intrinsics
avx2
是否有适用于双打 (__m128d) 的 Move (_mm_move_ss) 和 Set (_mm_set_ss) 内在函数?
多年来 我有几次看到 in 中的内在函数float参数被转换为 m128使用以下代码 m128 b mm move ss m mm set ss a 例如 void MyFunction float y m128 a mm move ss
c
x86
double
SSE
intrinsics
ICC 中的 -O3 会扰乱内在函数,使用 -O1 或 -O2 或相应的手动汇编即可
这是后续这个问题 http stackoverflow com questions 49791664 o2 in icc messes up assembler fine with o1 in icc and all optimizatio
c
Assembly
Optimization
intrinsics
ICC
在 Intel x86 架构上使用非 AVX 指令移动 xmm 整数寄存器值
我有以下问题 需要使用 AVX2 以外的任何工具来解决 我有 3 个值存储在 m128i 变量中 不需要第四个值 需要将这些值移动 4 3 5 我需要两个功能 一个用于按这些值进行右逻辑移位 另一个用于左逻辑移位 有谁知道使用 SSE AV
c
x86
SIMD
intrinsics
sse2
Swift 3 中是否提供内置内部函数?
我可以在 Xcode 自动完成弹出窗口中看到各种内置函数 如 builtin popount builtin clz 等 我不确定这些是从哪里获取的 单击命令不会导致快速定义或任何文档 Swift 3 中是否有 builtin 或等效的内部
swift
Optimization
intrinsics
builtin
大数组上的 SSE 性能较慢
我是 SSE 编程新手 所以我希望有人可以帮助我 我最近使用 GCC SSE 内在函数实现了一个函数来计算 32 位整数数组的总和 下面给出了我的实现代码 int ssum const int d unsigned int len stat
c
performance
SSE
SIMD
intrinsics
使用 NEON 内在函数除以浮点数
我当时正在处理四个像素的图像 这是在armv7对于 Android 应用程序 我想分一个float32x4 t向量由另一个向量组成 但其中的数字与大约不同0 7 to 3 85 在我看来 除法的唯一方法是使用右移 但这是针对一个数字2 n
Android
c
arm
intrinsics
neon
按字节数对向量进行混洗
有什么办法可以左移 v 0 gt v 1 a m128i by n字节 其中n仅在运行时才知道 我目前仅限于 AVX1 但如果 AVX2 512 使这变得更容易 我非常感兴趣 I found mm bslli si128 m128i imm
c
x86
SSE
intrinsics
avx
使用 (float&)int 进行类型双关可以正常工作,(float const&)int 会像 (float)int 一样转换吗?
VS2019 发布 x86 template
c
Assembly
visualc
SSE
intrinsics
是否有一个 x86 内在函数可以生成从内存中的 32 位浮点值到 512 位寄存器的 AVX512 广播操作?
该指令存在 vbroadcastss zmm m32 但似乎没有内在的东西来生成它 我可以将其编码为 static inline m512 mybroadcast float x m512 v asm inline vbroadcastss
c
intrinsics
avx512
将两个 32 位整数向量相乘,生成 32 位结果元素向量
将每个 32 位条目乘以 2 的最佳方法是什么 mm256i互相注册 mm256 mul epu32不是我正在寻找的 因为它产生 64 位输出 我想要每个 32 位输入元素都有一个 32 位结果 而且 我确信两个 32 位值的乘法不会溢出
x86
SSE
intrinsics
avx
avx2
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
1
2
3
4
5
»