NEON指令集優化從入門到上手業務

2021-10-24 02:24:36 字數 2410 閱讀 3755

arm-neon全稱單指令多資料協處理器(single instruction, multiple data)。其核心是有兩類儲存資料的暫存器組成

2、 組合語言

x_t

資料型別

含義uint8x8_t

包含8個uint8的向量型別

uint8x8x2_t

包含2個向量的陣列型別,每個向量包含8個uint8

64-bit type (d-register)

128-bit type (q-register)

int8x8_t

int8x16_t

int16x4_t

int16x8_t

int32x2_t

int32x4_t

int64x1_t

int64x2_t

uint8x8_t

uint8x16_t

uint16x4_t

uint16x8_t

uint32x2_t

uint32x4_t

uint64x1_t

uint64x2_t

float16x4_t

float16x8_t

float32x2_t

float32x4_t

poly8x8_t

poly8x16_t

poly16x4_t

poly16x8_t

_

指令名

含義uint8x8_t vadd_u8(uint8x8_t a, uint8x8_t b)

兩個向量相乘

uint8x16_t vaddq_u8(uint8x16_t a, uint8x16_t b)

128位的q暫存器向量加法

函式定義

含義result_t vldn_type(scalar_t* n,…)

利用64位的d暫存器載入陣列長度為n的資料

result_t vldnq_type(scalar_t* n, …)

利用128位的q暫存器載入陣列長度為n的資料

result_t

type

scalar_t

int8x8_t

s8int8_t

int16x4_t

s16int16_t

int32x2_t

s32int32_t

int64x1_t

s64int64_t

uint8x8_t

u8uint8_t

uint16x4_t

u16uint16_t

uint32x2_t

u32uint32_t

uint64x1_t

u64uint64_t

float16x4_t

f16float16_t

float32x2_t

f32float32_t

poly8x8_t

p8poly8_t

poly16x4_t

p16poly16_t

result_t

type

scalar_t

int8x16_t

s8int8_t

int16x8_t

s16int16_t

int32x4_t

s32int32_t

int64x2_t

s64int64_t

uint8x16_t

u8uint8_t

uint16x8_t

u16uint16_t

uint32x4_t

u32uint32_t

uint64x2_t

u64uint64_t

float16x8_t

f16float16_t

float32x4_t

f32float32_t

poly8x16_t

p8poly8_t

poly16x8_t

p16poly16_t

函式定義

含義void vstn_type(scalar_t* n, vector_t m)

以步長為n將d暫存器資料存入m中

void vstnq_type(scalar_t* n, vector_t m)

以步長n將q暫存器中資料存入m中

void

getbgrimagefromgpuneon

(uint8_t

* renderptr, cv::mat &img)

// handling remainder lenght

for(

int i = dividepixels; i < pixelnum_;

++i)

}

SSE指令集入門

intel公司的單指令多資料流式擴充套件 sse,streaming simd extensions 技術能夠有效增強cpu浮點運算的能力。visual studio net 2003提供了對sse指令集的程式設計支援,從而允許使用者在c 中不用編寫彙編 就可直接使用sse指令的功能。msdn中有關...

mysql bin指令集 mysql指令集

一 連線mysql。1 連線到本機上的mysql。首先開啟dos視窗,然後進入目錄mysql bin,再鍵入命令mysql u root p,回車後提示你輸密碼.注意使用者名稱前可以有空格也可以沒有空格,但是密碼前必須沒有空格,否則讓你重新輸入密碼.如果剛安裝好mysql,超級使用者root是沒有密...

gbip指令集 GB CPU 指令與指令集

gb cpu 指令與指令集 到目前為止,雖然 cpu 已經擁有了算術邏輯單元 alu 進行算術邏輯運算和使用暫存器儲存資料,但它仍然缺少一些正常工作時需要的資訊.就像建築工人無法僅僅依靠材料和工具憑空造出一棟高樓大廈,除非建築師能為其提供詳細的建築圖紙.cpu 也是一樣的,開發者需要通過某種方式告訴...