NEON的vsub方法溢出
关于NEON的vsub方法的溢出,结果如下:
vsub会产生溢出,根据数据bit表示规律,可知溢出结果和理论正确结果形成互补,比如249-(-7)=256- 使用类
vreinterpretq_s16_u16方法可以得到正确的结果
void neontest()
{
uchar v1[] = {0,1,2,3,4,5,6,7};
uchar v2[] = {7,6,5,4,3, 2, 1, 7};
uchar vr[8];
short vr2[8];
unsigned short vr3[8];
uint8x8_t d1 = vld1_u8(v1);
uint8x8_t d2 = vld1_u8(v2);
uint8x8_t r1 = vsub_u8(d1, d2);
vst1_u8(vr, r1);
LOGD("%d %d %d %d %d %d %d %d", vr[0], vr[1], vr[2], vr[3], vr[4], vr[5], vr[6], vr[7]);
int16x8_t r2 = vreinterpretq_s16_u16(vsubl_u8(d1, d2));
vst1q_s16(vr2, r2);
LOGD("%d %d %d %d %d %d %d %d", vr2[0], vr2[1], vr2[2], vr2[3], vr2[4], vr2[5], vr2[6], vr2[7]);
uint16x8_t r3 = vsubl_u8(d1, d2);
vst1q_u16(vr3, r3);
LOGD("%d %d %d %d %d %d %d %d", vr3[0], vr3[1], vr3[2], vr3[3], vr3[4], vr3[5], vr3[6], vr3[7]);
}
///////////////out put
D/LOG:==========main start================
D/LOG:249 251 253 255 1 3 5 0
D/LOG:-7 -5 -3 -1 1 3 5 0
D/LOG:65529 65531 65533 65535 1 3 5 0
D/LOG:==========main end================
NEON的vsub方法溢出的更多相关文章
- 一次apk打开时报内存溢出错误,故写下内存溢出的各种原因和解决方法
原转载:https://blog.csdn.net/cp_panda_5/article/details/79613870 正文内容: 对于JVM的内存写过的文章已经有点多了,而且有点烂了,不过说那么 ...
- 1篇文章搞清楚8种JVM内存溢出(OOM)的原因和解决方法
前言 撸Java的同学,多多少少会碰到内存溢出(OOM)的场景,但造成OOM的原因却是多种多样. 堆溢出 这种场景最为常见,报错信息: java.lang.OutOfMemoryError: Java ...
- 内存溢出与jvm参数配置 ***最爱那水货
第一类内存溢出,也是大家认为最多,第一反应认为是的内存溢出,就是堆栈溢出: 那什么样的情况就是堆栈溢出呢?当你看到下面的关键字的时候它就是堆栈溢出了: Java.lang.OutOfMemoryErr ...
- Java内存区域与内存溢出异常--HotSpot虚拟机对象探秘
以常用的HotSpot和常用的Java堆为例,深入探讨HotSpot虚拟机在Java堆中对象分配.布局和访问的全过程 1.对象的创建 ①虚拟机遇到一条new指令后,首先将去检查这个指令的参数是否能够在 ...
- Java内存溢出问题总结
使用Java那么久,在此总结一下Java中常见的内存溢出问题以及对应的解决思路 堆溢出 报错信息 java.lang.OutOfMemoryError: Java heap space 报错原因 堆中 ...
- 第二章Java内存区域与内存溢出异常
第二章 Java内存区域与内存溢出异常 一.概述 对与Java程序员来说,在虚拟机自动内存管理机制的帮助下,不再需要为每个new操作去写delete/free代码,不容易出现内存泄露和内存溢出问 题, ...
- CSAPP:逆向工程【缓冲区溢出攻击】
逆向工程[缓冲区溢出攻击] 任务描述 掌握函数调用时的栈帧结构,利用输入缓冲区的溢出漏洞,将攻击代码嵌入当前程序的栈帧中,使程序执行我们所期望的过程. 主要方法 溢出的字符将覆盖栈帧上的数据,会覆盖程 ...
- JVM 内存溢出(转载~)
对于JVM的内存写过的文章已经有点多了,而且有点烂了,不过说那么多大多数在解决OOM的情况,于此,本文就只阐述这个内容,携带一些分析和理解和部分扩展内容,也就是JVM宕机中的一些问题,OK,下面说下O ...
- cmd 3389
1.2000系统 简要说一下如何进行DNS溢出攻击.我用的溢出利用程序是dns.exe,在CMD下运行它可以看到它的使用参数等信息.执行"dns -s IP"命令检测目标IP是否存 ...
随机推荐
- python读取mongodb并提供接口
# -*- coding: utf-8 -*- import flask, json import time import pymongo client=pymongo.MongoClient(hos ...
- PhpStorm+Xdebug配置单步调试PHP
(一)php安装xdebug扩展,PHPStorm+XDebug单步调试 (二)PHPStorm配置XDebug (三)PHPStorm使用XDebug调试 (四)PhpStorm+Xdebug配置单 ...
- 小白的java学习之路 “ 二重循环”
二重循环: 1.什么是二重循环: 一个循环体内又包含另一个完整的循环结构 语法: while(循环条件1) { //循环操作1 while(循环条件2) { //循环操作2 } } do { //循环 ...
- 网站后门shell-----eval
我们先来看看网站被攻击的代码: <?php error_reporting(E_ERROR); unlink('user.php'); unlink('../member/login.php') ...
- 2020 CCPC Wannafly Winter Camp Day1 Div.1& F
#include<bits/stdc++.h> #define forn(i, n) for (int i = 0; i < int(n); i++) #define fore(i, ...
- List<SelectListItem> 转为 SelectList
List<SelectListItem> 转为/转换 SelectList SelectList slPayCh = new SelectList(GetPayChannels(),&qu ...
- 题解 AT3717 【[ABC081A] Placing Marbles】
题目传送门. 分析 我们可以把字符串中所有数加起来输出,那么到底怎么把一个字符变成一个数字呢.我们只需要减去字符\(0\)就可以了. 详细步骤 定义字符串\(s\)并将其输入. string s; c ...
- 2级搭建类EM-Oracle EMCC 13c Release 3 在 OEL 7.7 上的搭建
Oracle Enterprise Manager Cloud Control 13c Release 3 (13.3.0.0) 安装
- Java String类型转换成Date日期类型
插入数据库时,存入当前日期,需要格式转换 import java.text.SimpleDateFormat; formatter = new SimpleDateFormat( "yyyy ...
- 02:QT的第一个程序
新建项目,有这么几个文件: main.cpp //一个main函数,作为应用程序的入口函数 mainwindow.cpp mainwindow.h untit ...