zmc
2023-12-22 9fdbf60165db0400c2e8e6be2dc6e88138ac719a
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#ifdef _MSC_VER
    #include <Intrin.h>
#endif
#include <arm_neon.h>
 
int main(int argc, char **argv)
{
    float16_t *src = (float16_t*)argv[argc-1];
    float16x8_t vhp  = vdupq_n_f16(src[0]);
    float16x4_t vlhp = vdup_n_f16(src[1]);
 
    int ret  =  (int)vgetq_lane_f16(vabdq_f16(vhp, vhp), 0);
        ret  += (int)vget_lane_f16(vabd_f16(vlhp, vlhp), 0);
    return ret;
}