|
From: Wuweijia <wuw...@hu...> - 2019-02-23 00:58:47
|
Hi:
Is there any plan for the implementation of AArch64 8.2A new instruction?
BR
Owen
发件人: Wuweijia
发送时间: 2019年2月14日 11:50
收件人: 'val...@li...' <val...@li...>
抄送: Fanbohao <fan...@hu...>
主题: [HELP] there is some unknown aarch64 fp16 instruction for valgrind 3.13 3.14
The source as below:
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
#include <arm_neon.h>
int process(){
__fp16* zcb_hal16 = (__fp16*)malloc(100);
zcb_hal16[0] = 0;
float16x8_t vblkA0, vblkB0, vblkC0;
vblkC0 = vfmaq_n_f16(vblkC0, vblkB0, vblkA0[0]);
__asm __volatile("fmla %[c0].8h, %[b0].8h, %[a0].h[0]" : [c0] "+w"(vblkC0) : [b0] "w"(vblkB0), [a0] "w"(vblkA0));
return 0;
}
int main()
{
printf("start...\n");
process();
printf("ok...\n");
return 0;
}
The compile tool: clang 6
The compile args: clang ./test.cpp
The output as below:
localhost:~/workspace/neonfp16_test/jni # valgrind ./a.out
==9762== Memcheck, a memory error detector
==9762== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al.
==9762== Using Valgrind-3.13.0 and LibVEX; rerun with -h for copyright info
==9762== Command: ./a.out
==9762==
start...
disInstr(arm64): unhandled instruction 0x1EE703E0
disInstr(arm64): 0001'1110 1110'0111 0000'0011 1110'0000
==9762== valgrind: Unrecognised instruction at address 0x4005f8.
==9762== at 0x4005F8: process() (in /root/workspace/neonfp16_test/jni/a.out)
==9762== by 0x4006C7: main (in /root/workspace/neonfp16_test/jni/a.out)
|