neon相关内容
有浮动点变量的大(100〜000)阵列,并有一个阈值(也浮动点)。 问题是,我必须从具有阈值阵列中的每个一个变量比较,但是NEON标志传输需要很长的时间(约20个周期,根据一个分析器)。 有没有比较这些值的任何有效的方式? 注意:由于舍入误差不要紧的,我试过如下: 浮动ARR [10000] 浮动阈值; ....int类型的ARR = [20]; //例如 INT T =阈值; 如果(T&
..
我用 vImageConvert_RGB888toPlanar8 和 vImageConvert_Planar8toRGB888 从Accelerate.framework到RGB24转换为BGR24,但是当数据需要变换是非常大的,比如3M或4M,时间需要花费上,这是约10ms。因此,一些人知道一些足够快的想法。我的code是这样的: - (无效)transformRGBToBGR:(常量U
..
我想下面的汇编code: vclt.f32 Q9,Q0,#0 vst1.i32 Q9,[R2:128] 但是,如果条件为真,在Q9相应的元素设置为负一,而不是积极的。 我能做些什么,得到了肯定的? 解决方案 有不在NEON很多有条件的东西,但什么也真的只有按位可行的,而不是布尔逻辑 - 例如见 VBSL 。 如果你有基本的可怕回忆,真的很讨厌按位真值,那么琐碎的方式向蒙版转换为布尔是只
..
这code(非常类似于code,还没有尝试过的究竟的这个code)编译采用Android NDK,但不能与X code / +的ARMv7 arm64 / iOS版 在注释错误: uint32_t的* SRC; uint32_t的* DST;#IFDEF __ARM_NEON __asm__挥发性( “vld1.32 {D0,D1},[%[来源] \\ n”//错误:向量寄存器预
..
unsigned char型changeValue(unsigned char型粒子阵列[256],unsigned char型值) { 返回粒子阵列[值]; } 我怎样才能改变这种功能的霓虹灯有关uint8x8_t ?? 感谢您的帮助! 解决方案 您不能 - NEON没有聚集的负荷。你能处理这样的唯一情况是,当你想返回8或16个连续的字节值。
..
我试着写)OpenCV的更好版本的简历::调整(和我来到跨一个code,它是在这里:的https://github.com/rmaz/NEON-Image-Downscaling/blob/master/ImageResize/BDPViewController.m 在code是由2下采样的图像,但我不能得到的算法。我想首先给算法转换为C,那么尝试修改其用于学习的目的。是不是也容易将其转换任何大
..
我不明白我VBIT,VBSL和VBIF之间如何区别与内在的霓虹灯。我需要做的VBIT操作,但如果我用vbslq指令从内在我没有得到我想要的东西。 例如我有一个源向量是这样的: uint8x16_t源= 39 62 52 9B 5B 34 47 48 47 35 0 0 0 0 0 0 目标矢量是: uint8x16_t目的地= 0 0 0 0 0 0 0 0 0 0 0 0 C3-C8
..
我想跨compil FFTW 3.3.3与霓虹灯支持的Cortex-A15 ARM处理器,但我得到这个错误: /tmp/ccsNpqyK.s:汇编的消息: /tmp/ccsNpqyK.s:1035:错误:协处理器偏移超出范围 下面是我的配置: ./配置 - preFIX =的/ usr / fftw_3_float_neon_ARNDALE --with慢计时器主机=臂Linux的gnue
..
我想比较2 int8x8_t , 从 http://gcc.gnu.org/onlinedocs/gcc/ARM- NEON-Intrinsics.html 我们可以得到 vclt_s8 的描述,但它并没有告诉我们很多信息。 `uint8x8_t vclt_s8(int8x8_t,int8x8_t)` vcgt.s8 D0,D0,D0 :预计指令(S)的 表 返回值 uint8x8_t ,
..
我要照顾的边界条件,同时处理图像处理。我是外推边界的任何过滤器和创建新boundary.For例如我有4x3输入: //输入 INT图像[4] [3] = 1 2 3 4 2 4 6 8 3 6 9 12//输出 INT extensionimage [6] [5] = 1 1 2 3 4 4 1 1 2 3 4 4 2 2 4 6 8 8 3 3 6 9 12 12 3 3 6 9 12 1
..
我想写下面标量code霓虹灯水平SIMD: 标量code: 为int * XT = INT新[50]; float32_t输入1 [16] = {12.0f,12.0f,12.0f,12.0f,12.0f,12.0f,12.0f,12.0f,12.0f,12.0f,12.0f,12.0f,12.0f,12.0f,12.0楼12.0f,}; float32_t输入2 [16] = {13
..
我要添加 00 和 01 指数int64x2_t 值在霓虹灯的载体。 我无法找到任何成对加指令,将做到这一点的功能。 int64x2_t sum_64_2; //我期待的结果应该是.. //的int64_t结果= sum_64_2 [0] + sum_64_2 [1]; 是否有任何霓虹灯做的指令这一逻辑。 解决方案 您可以在两种方式写。这一次明确使用了NEON VADD.I64
..
按照 ARM ARM ,当霓虹灯SIMD指令可 __ __ ARM_NEON 定义。我遇到了麻烦GCC提供它。 氖这个 BananaPi专业版开发运行Debian 8.2板可供选择: $执行cat / proc内/ cpuinfo | grep的霓虹灯 特点:SWP一半拇指fastmult VFP EDSP霓虹灯VFPv3的TLS vfpv4 idiva idivt 我使用GCC 4
..
在我的项目,我利用本征的C ++库线性代数和仅当我打开矢量化标记(mfpu =霓虹灯-mfloat-ABI = softfp)为ARM NEON,我让编译器错误。我无法理解怎么回事错了。我是否需要启用ARM NEON任何preprocessor指令本征库中? 的main.c #包括LT&;&iostream的GT; #包括LT&;艾根/酷睿>//进口最常见的类型本征 使用本征空间;INT
..
我想弄清楚如何生成ARM霓虹灯有条件的商店。我想这样做是这样的SSE指令等价的: 无效_mm_maskmoveu_si128(__ m128i D,__m128i N,字符* P); 该有条件将Byte d可应对选择n均为字节p.The高位的因素决定D中的相应字节是否将被保存。 如何与NEON内在做任何建议? 谢谢 这是我做过什么: int8x16_t store_mask =
..
如何使用霓虹灯数据类型 uint8_t有的变量转换为 int32_t ?我找不到任何内在这样做的。 解决方案 假设你想要的16×8位整数向量转换为4×32位整数四个矢量,你可以先拆包到16位做到这一点然后再次以32位: //负载8位向量 uint8x16_t V = vld1q_u8(对); //负荷从第16页x 8位整数矢量//解压缩至16位 int16x8_t VL = vrein
..
我一直对这个问题有一段时间了,我希望有人能指出我的错误。我想我再也看不到森林穿过树林。 我有一个 LeMaker HiKey 开发板我用于测试。其AArch64,所以其具有NEON和其他CPU的功能,如AES,SHA和CRC32: $执行cat / proc内/ cpuinfo 处理器:AArch64处理器转3(aarch64) ... 特点:FP asimd evtstrm AES pmu
..
我需要编写优化的NEON code的一个项目,我十分乐意写汇编语言,但便携性/可维护性我使用NEON instrinsics。这code必须尽可能快,所以我用我的ARM优化的经验,妥善交错说明,避免管道摊位。无论我做什么,海湾合作委员会的工作对我并创建较慢code满档。 有谁知道如何让GCC走出的方式,只是我的内在转化为code? 下面是一个例子:我有一个简单的循环,从而否定和复印件浮点值
..
我写汇编一些霓虹灯code和瞄准最大的优化。虽然数字似乎令人满意,我是有兴趣了解进一步优化它的可能性。然后,我遇到了一个在线工具,它有助于计算每个指令的周期。 下面那张链接到我的code: http://pulsar.webshaker.net / CCC /采样115d4c29 这清楚地标明我关注的领域,但我不能清楚地了解这些语句包含开销的原因。 在code段被分成7段在“评论”区域,使其
..
我使用的是 NEON从ARM网站preLOAD 执行内存复制与Windows嵌入在Cortex-A8处理器Compact 7的ARM汇编。 我注意到,我得到的数据类型不对例外,当我提供非字对齐值的功能 例如: ; NEON内存副本preLOAD ALIGN LEAF_ENTRY NEONCopyPLD PLD [R1,#将0xC0] VLDM R1,{D0-D7};!数据类型
..