1// 2// MNNMinFloat.S 3// MNN 4// 5// Created by MNN on 2018/09/06. 6// Copyright © 2018, Alibaba Group Holding Limited 7// 8 9#ifdef __arm__ 10#ifndef __aarch64__ 11 12#include "MNNAsmGlobal.h" 13 14.text 15.align 5 16 17asm_function MNNMinFloat 18//void MNNMinFloat(float* input, float * minBuffer, int32_t inputCountUnit); 19 20push {r4-r11, lr} 21 22//Auto: r0: input, r1:minBuffer, r2: inputCountUnit 23 24//q15 : min 25vld1.f32 {q15}, [r1] 26cmp r2, #0 27beq End 28Loop: 29 vld1.f32 {q0}, [r0]! 30 vmin.f32 q15, q0, q15 31 vld1.f32 {q1}, [r0]! 32 vmin.f32 q15, q1, q15 33 subs r2, r2, #1 34 bne Loop 35 36vst1.f32 {q15}, [r1] 37 38End: 39pop {r4-r11, pc} 40 41#endif 42#endif 43