mirror of
https://github.com/yuzu-emu/unicorn.git
synced 2025-07-10 15:47:23 +00:00
target/arm: Implement fp16 for Neon fp compare-vs-0
Convert the neon floating-point vector compare-vs-0 insns VCEQ0, VCGT0, VCLE0, VCGE0 and VCLT0 to use a gvec helper, and use this to implement the fp16 case. Backport 635187aaa92f21ab001e2868e803b3c5460261ca
This commit is contained in:
parent
8de258c3cb
commit
5776c594e4
|
@ -1278,10 +1278,20 @@
|
||||||
#define helper_gvec_fcaddd helper_gvec_fcaddd_aarch64
|
#define helper_gvec_fcaddd helper_gvec_fcaddd_aarch64
|
||||||
#define helper_gvec_fceq_h helper_gvec_fceq_h_aarch64
|
#define helper_gvec_fceq_h helper_gvec_fceq_h_aarch64
|
||||||
#define helper_gvec_fceq_s helper_gvec_fceq_s_aarch64
|
#define helper_gvec_fceq_s helper_gvec_fceq_s_aarch64
|
||||||
|
#define helper_gvec_fceq0_h helper_gvec_fceq0_h_aarch64
|
||||||
|
#define helper_gvec_fceq0_s helper_gvec_fceq0_s_aarch64
|
||||||
#define helper_gvec_fcge_h helper_gvec_fcge_h_aarch64
|
#define helper_gvec_fcge_h helper_gvec_fcge_h_aarch64
|
||||||
#define helper_gvec_fcge_s helper_gvec_fcge_s_aarch64
|
#define helper_gvec_fcge_s helper_gvec_fcge_s_aarch64
|
||||||
|
#define helper_gvec_fcge0_h helper_gvec_fcge0_h_aarch64
|
||||||
|
#define helper_gvec_fcge0_s helper_gvec_fcge0_s_aarch64
|
||||||
#define helper_gvec_fcgt_h helper_gvec_fcgt_h_aarch64
|
#define helper_gvec_fcgt_h helper_gvec_fcgt_h_aarch64
|
||||||
#define helper_gvec_fcgt_s helper_gvec_fcgt_s_aarch64
|
#define helper_gvec_fcgt_s helper_gvec_fcgt_s_aarch64
|
||||||
|
#define helper_gvec_fcgt0_h helper_gvec_fcgt0_h_aarch64
|
||||||
|
#define helper_gvec_fcgt0_s helper_gvec_fcgt0_s_aarch64
|
||||||
|
#define helper_gvec_fcle0_h helper_gvec_fcle0_h_aarch64
|
||||||
|
#define helper_gvec_fcle0_s helper_gvec_fcle0_s_aarch64
|
||||||
|
#define helper_gvec_fclt0_h helper_gvec_fclt0_h_aarch64
|
||||||
|
#define helper_gvec_fclt0_s helper_gvec_fclt0_s_aarch64
|
||||||
#define helper_gvec_fcmlad helper_gvec_fcmlad_aarch64
|
#define helper_gvec_fcmlad helper_gvec_fcmlad_aarch64
|
||||||
#define helper_gvec_fcmlah helper_gvec_fcmlah_aarch64
|
#define helper_gvec_fcmlah helper_gvec_fcmlah_aarch64
|
||||||
#define helper_gvec_fcmlah_idx helper_gvec_fcmlah_idx_aarch64
|
#define helper_gvec_fcmlah_idx helper_gvec_fcmlah_idx_aarch64
|
||||||
|
|
|
@ -1278,10 +1278,20 @@
|
||||||
#define helper_gvec_fcaddd helper_gvec_fcaddd_aarch64eb
|
#define helper_gvec_fcaddd helper_gvec_fcaddd_aarch64eb
|
||||||
#define helper_gvec_fceq_h helper_gvec_fceq_h_aarch64eb
|
#define helper_gvec_fceq_h helper_gvec_fceq_h_aarch64eb
|
||||||
#define helper_gvec_fceq_s helper_gvec_fceq_s_aarch64eb
|
#define helper_gvec_fceq_s helper_gvec_fceq_s_aarch64eb
|
||||||
|
#define helper_gvec_fceq0_h helper_gvec_fceq0_h_aarch64eb
|
||||||
|
#define helper_gvec_fceq0_s helper_gvec_fceq0_s_aarch64eb
|
||||||
#define helper_gvec_fcge_h helper_gvec_fcge_h_aarch64eb
|
#define helper_gvec_fcge_h helper_gvec_fcge_h_aarch64eb
|
||||||
#define helper_gvec_fcge_s helper_gvec_fcge_s_aarch64eb
|
#define helper_gvec_fcge_s helper_gvec_fcge_s_aarch64eb
|
||||||
|
#define helper_gvec_fcge0_h helper_gvec_fcge0_h_aarch64eb
|
||||||
|
#define helper_gvec_fcge0_s helper_gvec_fcge0_s_aarch64eb
|
||||||
#define helper_gvec_fcgt_h helper_gvec_fcgt_h_aarch64eb
|
#define helper_gvec_fcgt_h helper_gvec_fcgt_h_aarch64eb
|
||||||
#define helper_gvec_fcgt_s helper_gvec_fcgt_s_aarch64eb
|
#define helper_gvec_fcgt_s helper_gvec_fcgt_s_aarch64eb
|
||||||
|
#define helper_gvec_fcgt0_h helper_gvec_fcgt0_h_aarch64eb
|
||||||
|
#define helper_gvec_fcgt0_s helper_gvec_fcgt0_s_aarch64eb
|
||||||
|
#define helper_gvec_fcle0_h helper_gvec_fcle0_h_aarch64eb
|
||||||
|
#define helper_gvec_fcle0_s helper_gvec_fcle0_s_aarch64eb
|
||||||
|
#define helper_gvec_fclt0_h helper_gvec_fclt0_h_aarch64eb
|
||||||
|
#define helper_gvec_fclt0_s helper_gvec_fclt0_s_aarch64eb
|
||||||
#define helper_gvec_fcmlad helper_gvec_fcmlad_aarch64eb
|
#define helper_gvec_fcmlad helper_gvec_fcmlad_aarch64eb
|
||||||
#define helper_gvec_fcmlah helper_gvec_fcmlah_aarch64eb
|
#define helper_gvec_fcmlah helper_gvec_fcmlah_aarch64eb
|
||||||
#define helper_gvec_fcmlah_idx helper_gvec_fcmlah_idx_aarch64eb
|
#define helper_gvec_fcmlah_idx helper_gvec_fcmlah_idx_aarch64eb
|
||||||
|
|
10
qemu/arm.h
10
qemu/arm.h
|
@ -1278,10 +1278,20 @@
|
||||||
#define helper_gvec_fcaddd helper_gvec_fcaddd_arm
|
#define helper_gvec_fcaddd helper_gvec_fcaddd_arm
|
||||||
#define helper_gvec_fceq_h helper_gvec_fceq_h_arm
|
#define helper_gvec_fceq_h helper_gvec_fceq_h_arm
|
||||||
#define helper_gvec_fceq_s helper_gvec_fceq_s_arm
|
#define helper_gvec_fceq_s helper_gvec_fceq_s_arm
|
||||||
|
#define helper_gvec_fceq0_h helper_gvec_fceq0_h_arm
|
||||||
|
#define helper_gvec_fceq0_s helper_gvec_fceq0_s_arm
|
||||||
#define helper_gvec_fcge_h helper_gvec_fcge_h_arm
|
#define helper_gvec_fcge_h helper_gvec_fcge_h_arm
|
||||||
#define helper_gvec_fcge_s helper_gvec_fcge_s_arm
|
#define helper_gvec_fcge_s helper_gvec_fcge_s_arm
|
||||||
|
#define helper_gvec_fcge0_h helper_gvec_fcge0_h_arm
|
||||||
|
#define helper_gvec_fcge0_s helper_gvec_fcge0_s_arm
|
||||||
#define helper_gvec_fcgt_h helper_gvec_fcgt_h_arm
|
#define helper_gvec_fcgt_h helper_gvec_fcgt_h_arm
|
||||||
#define helper_gvec_fcgt_s helper_gvec_fcgt_s_arm
|
#define helper_gvec_fcgt_s helper_gvec_fcgt_s_arm
|
||||||
|
#define helper_gvec_fcgt0_h helper_gvec_fcgt0_h_arm
|
||||||
|
#define helper_gvec_fcgt0_s helper_gvec_fcgt0_s_arm
|
||||||
|
#define helper_gvec_fcle0_h helper_gvec_fcle0_h_arm
|
||||||
|
#define helper_gvec_fcle0_s helper_gvec_fcle0_s_arm
|
||||||
|
#define helper_gvec_fclt0_h helper_gvec_fclt0_h_arm
|
||||||
|
#define helper_gvec_fclt0_s helper_gvec_fclt0_s_arm
|
||||||
#define helper_gvec_fcmlad helper_gvec_fcmlad_arm
|
#define helper_gvec_fcmlad helper_gvec_fcmlad_arm
|
||||||
#define helper_gvec_fcmlah helper_gvec_fcmlah_arm
|
#define helper_gvec_fcmlah helper_gvec_fcmlah_arm
|
||||||
#define helper_gvec_fcmlah_idx helper_gvec_fcmlah_idx_arm
|
#define helper_gvec_fcmlah_idx helper_gvec_fcmlah_idx_arm
|
||||||
|
|
10
qemu/armeb.h
10
qemu/armeb.h
|
@ -1278,10 +1278,20 @@
|
||||||
#define helper_gvec_fcaddd helper_gvec_fcaddd_armeb
|
#define helper_gvec_fcaddd helper_gvec_fcaddd_armeb
|
||||||
#define helper_gvec_fceq_h helper_gvec_fceq_h_armeb
|
#define helper_gvec_fceq_h helper_gvec_fceq_h_armeb
|
||||||
#define helper_gvec_fceq_s helper_gvec_fceq_s_armeb
|
#define helper_gvec_fceq_s helper_gvec_fceq_s_armeb
|
||||||
|
#define helper_gvec_fceq0_h helper_gvec_fceq0_h_armeb
|
||||||
|
#define helper_gvec_fceq0_s helper_gvec_fceq0_s_armeb
|
||||||
#define helper_gvec_fcge_h helper_gvec_fcge_h_armeb
|
#define helper_gvec_fcge_h helper_gvec_fcge_h_armeb
|
||||||
#define helper_gvec_fcge_s helper_gvec_fcge_s_armeb
|
#define helper_gvec_fcge_s helper_gvec_fcge_s_armeb
|
||||||
|
#define helper_gvec_fcge0_h helper_gvec_fcge0_h_armeb
|
||||||
|
#define helper_gvec_fcge0_s helper_gvec_fcge0_s_armeb
|
||||||
#define helper_gvec_fcgt_h helper_gvec_fcgt_h_armeb
|
#define helper_gvec_fcgt_h helper_gvec_fcgt_h_armeb
|
||||||
#define helper_gvec_fcgt_s helper_gvec_fcgt_s_armeb
|
#define helper_gvec_fcgt_s helper_gvec_fcgt_s_armeb
|
||||||
|
#define helper_gvec_fcgt0_h helper_gvec_fcgt0_h_armeb
|
||||||
|
#define helper_gvec_fcgt0_s helper_gvec_fcgt0_s_armeb
|
||||||
|
#define helper_gvec_fcle0_h helper_gvec_fcle0_h_armeb
|
||||||
|
#define helper_gvec_fcle0_s helper_gvec_fcle0_s_armeb
|
||||||
|
#define helper_gvec_fclt0_h helper_gvec_fclt0_h_armeb
|
||||||
|
#define helper_gvec_fclt0_s helper_gvec_fclt0_s_armeb
|
||||||
#define helper_gvec_fcmlad helper_gvec_fcmlad_armeb
|
#define helper_gvec_fcmlad helper_gvec_fcmlad_armeb
|
||||||
#define helper_gvec_fcmlah helper_gvec_fcmlah_armeb
|
#define helper_gvec_fcmlah helper_gvec_fcmlah_armeb
|
||||||
#define helper_gvec_fcmlah_idx helper_gvec_fcmlah_idx_armeb
|
#define helper_gvec_fcmlah_idx helper_gvec_fcmlah_idx_armeb
|
||||||
|
|
|
@ -1284,10 +1284,20 @@ symbols = (
|
||||||
'helper_gvec_fcaddd',
|
'helper_gvec_fcaddd',
|
||||||
'helper_gvec_fceq_h',
|
'helper_gvec_fceq_h',
|
||||||
'helper_gvec_fceq_s',
|
'helper_gvec_fceq_s',
|
||||||
|
'helper_gvec_fceq0_h',
|
||||||
|
'helper_gvec_fceq0_s',
|
||||||
'helper_gvec_fcge_h',
|
'helper_gvec_fcge_h',
|
||||||
'helper_gvec_fcge_s',
|
'helper_gvec_fcge_s',
|
||||||
|
'helper_gvec_fcge0_h',
|
||||||
|
'helper_gvec_fcge0_s',
|
||||||
'helper_gvec_fcgt_h',
|
'helper_gvec_fcgt_h',
|
||||||
'helper_gvec_fcgt_s',
|
'helper_gvec_fcgt_s',
|
||||||
|
'helper_gvec_fcgt0_h',
|
||||||
|
'helper_gvec_fcgt0_s',
|
||||||
|
'helper_gvec_fcle0_h',
|
||||||
|
'helper_gvec_fcle0_s',
|
||||||
|
'helper_gvec_fclt0_h',
|
||||||
|
'helper_gvec_fclt0_s',
|
||||||
'helper_gvec_fcmlad',
|
'helper_gvec_fcmlad',
|
||||||
'helper_gvec_fcmlah',
|
'helper_gvec_fcmlah',
|
||||||
'helper_gvec_fcmlah_idx',
|
'helper_gvec_fcmlah_idx',
|
||||||
|
|
10
qemu/m68k.h
10
qemu/m68k.h
|
@ -1278,10 +1278,20 @@
|
||||||
#define helper_gvec_fcaddd helper_gvec_fcaddd_m68k
|
#define helper_gvec_fcaddd helper_gvec_fcaddd_m68k
|
||||||
#define helper_gvec_fceq_h helper_gvec_fceq_h_m68k
|
#define helper_gvec_fceq_h helper_gvec_fceq_h_m68k
|
||||||
#define helper_gvec_fceq_s helper_gvec_fceq_s_m68k
|
#define helper_gvec_fceq_s helper_gvec_fceq_s_m68k
|
||||||
|
#define helper_gvec_fceq0_h helper_gvec_fceq0_h_m68k
|
||||||
|
#define helper_gvec_fceq0_s helper_gvec_fceq0_s_m68k
|
||||||
#define helper_gvec_fcge_h helper_gvec_fcge_h_m68k
|
#define helper_gvec_fcge_h helper_gvec_fcge_h_m68k
|
||||||
#define helper_gvec_fcge_s helper_gvec_fcge_s_m68k
|
#define helper_gvec_fcge_s helper_gvec_fcge_s_m68k
|
||||||
|
#define helper_gvec_fcge0_h helper_gvec_fcge0_h_m68k
|
||||||
|
#define helper_gvec_fcge0_s helper_gvec_fcge0_s_m68k
|
||||||
#define helper_gvec_fcgt_h helper_gvec_fcgt_h_m68k
|
#define helper_gvec_fcgt_h helper_gvec_fcgt_h_m68k
|
||||||
#define helper_gvec_fcgt_s helper_gvec_fcgt_s_m68k
|
#define helper_gvec_fcgt_s helper_gvec_fcgt_s_m68k
|
||||||
|
#define helper_gvec_fcgt0_h helper_gvec_fcgt0_h_m68k
|
||||||
|
#define helper_gvec_fcgt0_s helper_gvec_fcgt0_s_m68k
|
||||||
|
#define helper_gvec_fcle0_h helper_gvec_fcle0_h_m68k
|
||||||
|
#define helper_gvec_fcle0_s helper_gvec_fcle0_s_m68k
|
||||||
|
#define helper_gvec_fclt0_h helper_gvec_fclt0_h_m68k
|
||||||
|
#define helper_gvec_fclt0_s helper_gvec_fclt0_s_m68k
|
||||||
#define helper_gvec_fcmlad helper_gvec_fcmlad_m68k
|
#define helper_gvec_fcmlad helper_gvec_fcmlad_m68k
|
||||||
#define helper_gvec_fcmlah helper_gvec_fcmlah_m68k
|
#define helper_gvec_fcmlah helper_gvec_fcmlah_m68k
|
||||||
#define helper_gvec_fcmlah_idx helper_gvec_fcmlah_idx_m68k
|
#define helper_gvec_fcmlah_idx helper_gvec_fcmlah_idx_m68k
|
||||||
|
|
10
qemu/mips.h
10
qemu/mips.h
|
@ -1278,10 +1278,20 @@
|
||||||
#define helper_gvec_fcaddd helper_gvec_fcaddd_mips
|
#define helper_gvec_fcaddd helper_gvec_fcaddd_mips
|
||||||
#define helper_gvec_fceq_h helper_gvec_fceq_h_mips
|
#define helper_gvec_fceq_h helper_gvec_fceq_h_mips
|
||||||
#define helper_gvec_fceq_s helper_gvec_fceq_s_mips
|
#define helper_gvec_fceq_s helper_gvec_fceq_s_mips
|
||||||
|
#define helper_gvec_fceq0_h helper_gvec_fceq0_h_mips
|
||||||
|
#define helper_gvec_fceq0_s helper_gvec_fceq0_s_mips
|
||||||
#define helper_gvec_fcge_h helper_gvec_fcge_h_mips
|
#define helper_gvec_fcge_h helper_gvec_fcge_h_mips
|
||||||
#define helper_gvec_fcge_s helper_gvec_fcge_s_mips
|
#define helper_gvec_fcge_s helper_gvec_fcge_s_mips
|
||||||
|
#define helper_gvec_fcge0_h helper_gvec_fcge0_h_mips
|
||||||
|
#define helper_gvec_fcge0_s helper_gvec_fcge0_s_mips
|
||||||
#define helper_gvec_fcgt_h helper_gvec_fcgt_h_mips
|
#define helper_gvec_fcgt_h helper_gvec_fcgt_h_mips
|
||||||
#define helper_gvec_fcgt_s helper_gvec_fcgt_s_mips
|
#define helper_gvec_fcgt_s helper_gvec_fcgt_s_mips
|
||||||
|
#define helper_gvec_fcgt0_h helper_gvec_fcgt0_h_mips
|
||||||
|
#define helper_gvec_fcgt0_s helper_gvec_fcgt0_s_mips
|
||||||
|
#define helper_gvec_fcle0_h helper_gvec_fcle0_h_mips
|
||||||
|
#define helper_gvec_fcle0_s helper_gvec_fcle0_s_mips
|
||||||
|
#define helper_gvec_fclt0_h helper_gvec_fclt0_h_mips
|
||||||
|
#define helper_gvec_fclt0_s helper_gvec_fclt0_s_mips
|
||||||
#define helper_gvec_fcmlad helper_gvec_fcmlad_mips
|
#define helper_gvec_fcmlad helper_gvec_fcmlad_mips
|
||||||
#define helper_gvec_fcmlah helper_gvec_fcmlah_mips
|
#define helper_gvec_fcmlah helper_gvec_fcmlah_mips
|
||||||
#define helper_gvec_fcmlah_idx helper_gvec_fcmlah_idx_mips
|
#define helper_gvec_fcmlah_idx helper_gvec_fcmlah_idx_mips
|
||||||
|
|
|
@ -1278,10 +1278,20 @@
|
||||||
#define helper_gvec_fcaddd helper_gvec_fcaddd_mips64
|
#define helper_gvec_fcaddd helper_gvec_fcaddd_mips64
|
||||||
#define helper_gvec_fceq_h helper_gvec_fceq_h_mips64
|
#define helper_gvec_fceq_h helper_gvec_fceq_h_mips64
|
||||||
#define helper_gvec_fceq_s helper_gvec_fceq_s_mips64
|
#define helper_gvec_fceq_s helper_gvec_fceq_s_mips64
|
||||||
|
#define helper_gvec_fceq0_h helper_gvec_fceq0_h_mips64
|
||||||
|
#define helper_gvec_fceq0_s helper_gvec_fceq0_s_mips64
|
||||||
#define helper_gvec_fcge_h helper_gvec_fcge_h_mips64
|
#define helper_gvec_fcge_h helper_gvec_fcge_h_mips64
|
||||||
#define helper_gvec_fcge_s helper_gvec_fcge_s_mips64
|
#define helper_gvec_fcge_s helper_gvec_fcge_s_mips64
|
||||||
|
#define helper_gvec_fcge0_h helper_gvec_fcge0_h_mips64
|
||||||
|
#define helper_gvec_fcge0_s helper_gvec_fcge0_s_mips64
|
||||||
#define helper_gvec_fcgt_h helper_gvec_fcgt_h_mips64
|
#define helper_gvec_fcgt_h helper_gvec_fcgt_h_mips64
|
||||||
#define helper_gvec_fcgt_s helper_gvec_fcgt_s_mips64
|
#define helper_gvec_fcgt_s helper_gvec_fcgt_s_mips64
|
||||||
|
#define helper_gvec_fcgt0_h helper_gvec_fcgt0_h_mips64
|
||||||
|
#define helper_gvec_fcgt0_s helper_gvec_fcgt0_s_mips64
|
||||||
|
#define helper_gvec_fcle0_h helper_gvec_fcle0_h_mips64
|
||||||
|
#define helper_gvec_fcle0_s helper_gvec_fcle0_s_mips64
|
||||||
|
#define helper_gvec_fclt0_h helper_gvec_fclt0_h_mips64
|
||||||
|
#define helper_gvec_fclt0_s helper_gvec_fclt0_s_mips64
|
||||||
#define helper_gvec_fcmlad helper_gvec_fcmlad_mips64
|
#define helper_gvec_fcmlad helper_gvec_fcmlad_mips64
|
||||||
#define helper_gvec_fcmlah helper_gvec_fcmlah_mips64
|
#define helper_gvec_fcmlah helper_gvec_fcmlah_mips64
|
||||||
#define helper_gvec_fcmlah_idx helper_gvec_fcmlah_idx_mips64
|
#define helper_gvec_fcmlah_idx helper_gvec_fcmlah_idx_mips64
|
||||||
|
|
|
@ -1278,10 +1278,20 @@
|
||||||
#define helper_gvec_fcaddd helper_gvec_fcaddd_mips64el
|
#define helper_gvec_fcaddd helper_gvec_fcaddd_mips64el
|
||||||
#define helper_gvec_fceq_h helper_gvec_fceq_h_mips64el
|
#define helper_gvec_fceq_h helper_gvec_fceq_h_mips64el
|
||||||
#define helper_gvec_fceq_s helper_gvec_fceq_s_mips64el
|
#define helper_gvec_fceq_s helper_gvec_fceq_s_mips64el
|
||||||
|
#define helper_gvec_fceq0_h helper_gvec_fceq0_h_mips64el
|
||||||
|
#define helper_gvec_fceq0_s helper_gvec_fceq0_s_mips64el
|
||||||
#define helper_gvec_fcge_h helper_gvec_fcge_h_mips64el
|
#define helper_gvec_fcge_h helper_gvec_fcge_h_mips64el
|
||||||
#define helper_gvec_fcge_s helper_gvec_fcge_s_mips64el
|
#define helper_gvec_fcge_s helper_gvec_fcge_s_mips64el
|
||||||
|
#define helper_gvec_fcge0_h helper_gvec_fcge0_h_mips64el
|
||||||
|
#define helper_gvec_fcge0_s helper_gvec_fcge0_s_mips64el
|
||||||
#define helper_gvec_fcgt_h helper_gvec_fcgt_h_mips64el
|
#define helper_gvec_fcgt_h helper_gvec_fcgt_h_mips64el
|
||||||
#define helper_gvec_fcgt_s helper_gvec_fcgt_s_mips64el
|
#define helper_gvec_fcgt_s helper_gvec_fcgt_s_mips64el
|
||||||
|
#define helper_gvec_fcgt0_h helper_gvec_fcgt0_h_mips64el
|
||||||
|
#define helper_gvec_fcgt0_s helper_gvec_fcgt0_s_mips64el
|
||||||
|
#define helper_gvec_fcle0_h helper_gvec_fcle0_h_mips64el
|
||||||
|
#define helper_gvec_fcle0_s helper_gvec_fcle0_s_mips64el
|
||||||
|
#define helper_gvec_fclt0_h helper_gvec_fclt0_h_mips64el
|
||||||
|
#define helper_gvec_fclt0_s helper_gvec_fclt0_s_mips64el
|
||||||
#define helper_gvec_fcmlad helper_gvec_fcmlad_mips64el
|
#define helper_gvec_fcmlad helper_gvec_fcmlad_mips64el
|
||||||
#define helper_gvec_fcmlah helper_gvec_fcmlah_mips64el
|
#define helper_gvec_fcmlah helper_gvec_fcmlah_mips64el
|
||||||
#define helper_gvec_fcmlah_idx helper_gvec_fcmlah_idx_mips64el
|
#define helper_gvec_fcmlah_idx helper_gvec_fcmlah_idx_mips64el
|
||||||
|
|
|
@ -1278,10 +1278,20 @@
|
||||||
#define helper_gvec_fcaddd helper_gvec_fcaddd_mipsel
|
#define helper_gvec_fcaddd helper_gvec_fcaddd_mipsel
|
||||||
#define helper_gvec_fceq_h helper_gvec_fceq_h_mipsel
|
#define helper_gvec_fceq_h helper_gvec_fceq_h_mipsel
|
||||||
#define helper_gvec_fceq_s helper_gvec_fceq_s_mipsel
|
#define helper_gvec_fceq_s helper_gvec_fceq_s_mipsel
|
||||||
|
#define helper_gvec_fceq0_h helper_gvec_fceq0_h_mipsel
|
||||||
|
#define helper_gvec_fceq0_s helper_gvec_fceq0_s_mipsel
|
||||||
#define helper_gvec_fcge_h helper_gvec_fcge_h_mipsel
|
#define helper_gvec_fcge_h helper_gvec_fcge_h_mipsel
|
||||||
#define helper_gvec_fcge_s helper_gvec_fcge_s_mipsel
|
#define helper_gvec_fcge_s helper_gvec_fcge_s_mipsel
|
||||||
|
#define helper_gvec_fcge0_h helper_gvec_fcge0_h_mipsel
|
||||||
|
#define helper_gvec_fcge0_s helper_gvec_fcge0_s_mipsel
|
||||||
#define helper_gvec_fcgt_h helper_gvec_fcgt_h_mipsel
|
#define helper_gvec_fcgt_h helper_gvec_fcgt_h_mipsel
|
||||||
#define helper_gvec_fcgt_s helper_gvec_fcgt_s_mipsel
|
#define helper_gvec_fcgt_s helper_gvec_fcgt_s_mipsel
|
||||||
|
#define helper_gvec_fcgt0_h helper_gvec_fcgt0_h_mipsel
|
||||||
|
#define helper_gvec_fcgt0_s helper_gvec_fcgt0_s_mipsel
|
||||||
|
#define helper_gvec_fcle0_h helper_gvec_fcle0_h_mipsel
|
||||||
|
#define helper_gvec_fcle0_s helper_gvec_fcle0_s_mipsel
|
||||||
|
#define helper_gvec_fclt0_h helper_gvec_fclt0_h_mipsel
|
||||||
|
#define helper_gvec_fclt0_s helper_gvec_fclt0_s_mipsel
|
||||||
#define helper_gvec_fcmlad helper_gvec_fcmlad_mipsel
|
#define helper_gvec_fcmlad helper_gvec_fcmlad_mipsel
|
||||||
#define helper_gvec_fcmlah helper_gvec_fcmlah_mipsel
|
#define helper_gvec_fcmlah helper_gvec_fcmlah_mipsel
|
||||||
#define helper_gvec_fcmlah_idx helper_gvec_fcmlah_idx_mipsel
|
#define helper_gvec_fcmlah_idx helper_gvec_fcmlah_idx_mipsel
|
||||||
|
|
|
@ -1278,10 +1278,20 @@
|
||||||
#define helper_gvec_fcaddd helper_gvec_fcaddd_powerpc
|
#define helper_gvec_fcaddd helper_gvec_fcaddd_powerpc
|
||||||
#define helper_gvec_fceq_h helper_gvec_fceq_h_powerpc
|
#define helper_gvec_fceq_h helper_gvec_fceq_h_powerpc
|
||||||
#define helper_gvec_fceq_s helper_gvec_fceq_s_powerpc
|
#define helper_gvec_fceq_s helper_gvec_fceq_s_powerpc
|
||||||
|
#define helper_gvec_fceq0_h helper_gvec_fceq0_h_powerpc
|
||||||
|
#define helper_gvec_fceq0_s helper_gvec_fceq0_s_powerpc
|
||||||
#define helper_gvec_fcge_h helper_gvec_fcge_h_powerpc
|
#define helper_gvec_fcge_h helper_gvec_fcge_h_powerpc
|
||||||
#define helper_gvec_fcge_s helper_gvec_fcge_s_powerpc
|
#define helper_gvec_fcge_s helper_gvec_fcge_s_powerpc
|
||||||
|
#define helper_gvec_fcge0_h helper_gvec_fcge0_h_powerpc
|
||||||
|
#define helper_gvec_fcge0_s helper_gvec_fcge0_s_powerpc
|
||||||
#define helper_gvec_fcgt_h helper_gvec_fcgt_h_powerpc
|
#define helper_gvec_fcgt_h helper_gvec_fcgt_h_powerpc
|
||||||
#define helper_gvec_fcgt_s helper_gvec_fcgt_s_powerpc
|
#define helper_gvec_fcgt_s helper_gvec_fcgt_s_powerpc
|
||||||
|
#define helper_gvec_fcgt0_h helper_gvec_fcgt0_h_powerpc
|
||||||
|
#define helper_gvec_fcgt0_s helper_gvec_fcgt0_s_powerpc
|
||||||
|
#define helper_gvec_fcle0_h helper_gvec_fcle0_h_powerpc
|
||||||
|
#define helper_gvec_fcle0_s helper_gvec_fcle0_s_powerpc
|
||||||
|
#define helper_gvec_fclt0_h helper_gvec_fclt0_h_powerpc
|
||||||
|
#define helper_gvec_fclt0_s helper_gvec_fclt0_s_powerpc
|
||||||
#define helper_gvec_fcmlad helper_gvec_fcmlad_powerpc
|
#define helper_gvec_fcmlad helper_gvec_fcmlad_powerpc
|
||||||
#define helper_gvec_fcmlah helper_gvec_fcmlah_powerpc
|
#define helper_gvec_fcmlah helper_gvec_fcmlah_powerpc
|
||||||
#define helper_gvec_fcmlah_idx helper_gvec_fcmlah_idx_powerpc
|
#define helper_gvec_fcmlah_idx helper_gvec_fcmlah_idx_powerpc
|
||||||
|
|
|
@ -1278,10 +1278,20 @@
|
||||||
#define helper_gvec_fcaddd helper_gvec_fcaddd_riscv32
|
#define helper_gvec_fcaddd helper_gvec_fcaddd_riscv32
|
||||||
#define helper_gvec_fceq_h helper_gvec_fceq_h_riscv32
|
#define helper_gvec_fceq_h helper_gvec_fceq_h_riscv32
|
||||||
#define helper_gvec_fceq_s helper_gvec_fceq_s_riscv32
|
#define helper_gvec_fceq_s helper_gvec_fceq_s_riscv32
|
||||||
|
#define helper_gvec_fceq0_h helper_gvec_fceq0_h_riscv32
|
||||||
|
#define helper_gvec_fceq0_s helper_gvec_fceq0_s_riscv32
|
||||||
#define helper_gvec_fcge_h helper_gvec_fcge_h_riscv32
|
#define helper_gvec_fcge_h helper_gvec_fcge_h_riscv32
|
||||||
#define helper_gvec_fcge_s helper_gvec_fcge_s_riscv32
|
#define helper_gvec_fcge_s helper_gvec_fcge_s_riscv32
|
||||||
|
#define helper_gvec_fcge0_h helper_gvec_fcge0_h_riscv32
|
||||||
|
#define helper_gvec_fcge0_s helper_gvec_fcge0_s_riscv32
|
||||||
#define helper_gvec_fcgt_h helper_gvec_fcgt_h_riscv32
|
#define helper_gvec_fcgt_h helper_gvec_fcgt_h_riscv32
|
||||||
#define helper_gvec_fcgt_s helper_gvec_fcgt_s_riscv32
|
#define helper_gvec_fcgt_s helper_gvec_fcgt_s_riscv32
|
||||||
|
#define helper_gvec_fcgt0_h helper_gvec_fcgt0_h_riscv32
|
||||||
|
#define helper_gvec_fcgt0_s helper_gvec_fcgt0_s_riscv32
|
||||||
|
#define helper_gvec_fcle0_h helper_gvec_fcle0_h_riscv32
|
||||||
|
#define helper_gvec_fcle0_s helper_gvec_fcle0_s_riscv32
|
||||||
|
#define helper_gvec_fclt0_h helper_gvec_fclt0_h_riscv32
|
||||||
|
#define helper_gvec_fclt0_s helper_gvec_fclt0_s_riscv32
|
||||||
#define helper_gvec_fcmlad helper_gvec_fcmlad_riscv32
|
#define helper_gvec_fcmlad helper_gvec_fcmlad_riscv32
|
||||||
#define helper_gvec_fcmlah helper_gvec_fcmlah_riscv32
|
#define helper_gvec_fcmlah helper_gvec_fcmlah_riscv32
|
||||||
#define helper_gvec_fcmlah_idx helper_gvec_fcmlah_idx_riscv32
|
#define helper_gvec_fcmlah_idx helper_gvec_fcmlah_idx_riscv32
|
||||||
|
|
|
@ -1278,10 +1278,20 @@
|
||||||
#define helper_gvec_fcaddd helper_gvec_fcaddd_riscv64
|
#define helper_gvec_fcaddd helper_gvec_fcaddd_riscv64
|
||||||
#define helper_gvec_fceq_h helper_gvec_fceq_h_riscv64
|
#define helper_gvec_fceq_h helper_gvec_fceq_h_riscv64
|
||||||
#define helper_gvec_fceq_s helper_gvec_fceq_s_riscv64
|
#define helper_gvec_fceq_s helper_gvec_fceq_s_riscv64
|
||||||
|
#define helper_gvec_fceq0_h helper_gvec_fceq0_h_riscv64
|
||||||
|
#define helper_gvec_fceq0_s helper_gvec_fceq0_s_riscv64
|
||||||
#define helper_gvec_fcge_h helper_gvec_fcge_h_riscv64
|
#define helper_gvec_fcge_h helper_gvec_fcge_h_riscv64
|
||||||
#define helper_gvec_fcge_s helper_gvec_fcge_s_riscv64
|
#define helper_gvec_fcge_s helper_gvec_fcge_s_riscv64
|
||||||
|
#define helper_gvec_fcge0_h helper_gvec_fcge0_h_riscv64
|
||||||
|
#define helper_gvec_fcge0_s helper_gvec_fcge0_s_riscv64
|
||||||
#define helper_gvec_fcgt_h helper_gvec_fcgt_h_riscv64
|
#define helper_gvec_fcgt_h helper_gvec_fcgt_h_riscv64
|
||||||
#define helper_gvec_fcgt_s helper_gvec_fcgt_s_riscv64
|
#define helper_gvec_fcgt_s helper_gvec_fcgt_s_riscv64
|
||||||
|
#define helper_gvec_fcgt0_h helper_gvec_fcgt0_h_riscv64
|
||||||
|
#define helper_gvec_fcgt0_s helper_gvec_fcgt0_s_riscv64
|
||||||
|
#define helper_gvec_fcle0_h helper_gvec_fcle0_h_riscv64
|
||||||
|
#define helper_gvec_fcle0_s helper_gvec_fcle0_s_riscv64
|
||||||
|
#define helper_gvec_fclt0_h helper_gvec_fclt0_h_riscv64
|
||||||
|
#define helper_gvec_fclt0_s helper_gvec_fclt0_s_riscv64
|
||||||
#define helper_gvec_fcmlad helper_gvec_fcmlad_riscv64
|
#define helper_gvec_fcmlad helper_gvec_fcmlad_riscv64
|
||||||
#define helper_gvec_fcmlah helper_gvec_fcmlah_riscv64
|
#define helper_gvec_fcmlah helper_gvec_fcmlah_riscv64
|
||||||
#define helper_gvec_fcmlah_idx helper_gvec_fcmlah_idx_riscv64
|
#define helper_gvec_fcmlah_idx helper_gvec_fcmlah_idx_riscv64
|
||||||
|
|
10
qemu/sparc.h
10
qemu/sparc.h
|
@ -1278,10 +1278,20 @@
|
||||||
#define helper_gvec_fcaddd helper_gvec_fcaddd_sparc
|
#define helper_gvec_fcaddd helper_gvec_fcaddd_sparc
|
||||||
#define helper_gvec_fceq_h helper_gvec_fceq_h_sparc
|
#define helper_gvec_fceq_h helper_gvec_fceq_h_sparc
|
||||||
#define helper_gvec_fceq_s helper_gvec_fceq_s_sparc
|
#define helper_gvec_fceq_s helper_gvec_fceq_s_sparc
|
||||||
|
#define helper_gvec_fceq0_h helper_gvec_fceq0_h_sparc
|
||||||
|
#define helper_gvec_fceq0_s helper_gvec_fceq0_s_sparc
|
||||||
#define helper_gvec_fcge_h helper_gvec_fcge_h_sparc
|
#define helper_gvec_fcge_h helper_gvec_fcge_h_sparc
|
||||||
#define helper_gvec_fcge_s helper_gvec_fcge_s_sparc
|
#define helper_gvec_fcge_s helper_gvec_fcge_s_sparc
|
||||||
|
#define helper_gvec_fcge0_h helper_gvec_fcge0_h_sparc
|
||||||
|
#define helper_gvec_fcge0_s helper_gvec_fcge0_s_sparc
|
||||||
#define helper_gvec_fcgt_h helper_gvec_fcgt_h_sparc
|
#define helper_gvec_fcgt_h helper_gvec_fcgt_h_sparc
|
||||||
#define helper_gvec_fcgt_s helper_gvec_fcgt_s_sparc
|
#define helper_gvec_fcgt_s helper_gvec_fcgt_s_sparc
|
||||||
|
#define helper_gvec_fcgt0_h helper_gvec_fcgt0_h_sparc
|
||||||
|
#define helper_gvec_fcgt0_s helper_gvec_fcgt0_s_sparc
|
||||||
|
#define helper_gvec_fcle0_h helper_gvec_fcle0_h_sparc
|
||||||
|
#define helper_gvec_fcle0_s helper_gvec_fcle0_s_sparc
|
||||||
|
#define helper_gvec_fclt0_h helper_gvec_fclt0_h_sparc
|
||||||
|
#define helper_gvec_fclt0_s helper_gvec_fclt0_s_sparc
|
||||||
#define helper_gvec_fcmlad helper_gvec_fcmlad_sparc
|
#define helper_gvec_fcmlad helper_gvec_fcmlad_sparc
|
||||||
#define helper_gvec_fcmlah helper_gvec_fcmlah_sparc
|
#define helper_gvec_fcmlah helper_gvec_fcmlah_sparc
|
||||||
#define helper_gvec_fcmlah_idx helper_gvec_fcmlah_idx_sparc
|
#define helper_gvec_fcmlah_idx helper_gvec_fcmlah_idx_sparc
|
||||||
|
|
|
@ -1278,10 +1278,20 @@
|
||||||
#define helper_gvec_fcaddd helper_gvec_fcaddd_sparc64
|
#define helper_gvec_fcaddd helper_gvec_fcaddd_sparc64
|
||||||
#define helper_gvec_fceq_h helper_gvec_fceq_h_sparc64
|
#define helper_gvec_fceq_h helper_gvec_fceq_h_sparc64
|
||||||
#define helper_gvec_fceq_s helper_gvec_fceq_s_sparc64
|
#define helper_gvec_fceq_s helper_gvec_fceq_s_sparc64
|
||||||
|
#define helper_gvec_fceq0_h helper_gvec_fceq0_h_sparc64
|
||||||
|
#define helper_gvec_fceq0_s helper_gvec_fceq0_s_sparc64
|
||||||
#define helper_gvec_fcge_h helper_gvec_fcge_h_sparc64
|
#define helper_gvec_fcge_h helper_gvec_fcge_h_sparc64
|
||||||
#define helper_gvec_fcge_s helper_gvec_fcge_s_sparc64
|
#define helper_gvec_fcge_s helper_gvec_fcge_s_sparc64
|
||||||
|
#define helper_gvec_fcge0_h helper_gvec_fcge0_h_sparc64
|
||||||
|
#define helper_gvec_fcge0_s helper_gvec_fcge0_s_sparc64
|
||||||
#define helper_gvec_fcgt_h helper_gvec_fcgt_h_sparc64
|
#define helper_gvec_fcgt_h helper_gvec_fcgt_h_sparc64
|
||||||
#define helper_gvec_fcgt_s helper_gvec_fcgt_s_sparc64
|
#define helper_gvec_fcgt_s helper_gvec_fcgt_s_sparc64
|
||||||
|
#define helper_gvec_fcgt0_h helper_gvec_fcgt0_h_sparc64
|
||||||
|
#define helper_gvec_fcgt0_s helper_gvec_fcgt0_s_sparc64
|
||||||
|
#define helper_gvec_fcle0_h helper_gvec_fcle0_h_sparc64
|
||||||
|
#define helper_gvec_fcle0_s helper_gvec_fcle0_s_sparc64
|
||||||
|
#define helper_gvec_fclt0_h helper_gvec_fclt0_h_sparc64
|
||||||
|
#define helper_gvec_fclt0_s helper_gvec_fclt0_s_sparc64
|
||||||
#define helper_gvec_fcmlad helper_gvec_fcmlad_sparc64
|
#define helper_gvec_fcmlad helper_gvec_fcmlad_sparc64
|
||||||
#define helper_gvec_fcmlah helper_gvec_fcmlah_sparc64
|
#define helper_gvec_fcmlah helper_gvec_fcmlah_sparc64
|
||||||
#define helper_gvec_fcmlah_idx helper_gvec_fcmlah_idx_sparc64
|
#define helper_gvec_fcmlah_idx helper_gvec_fcmlah_idx_sparc64
|
||||||
|
|
|
@ -615,6 +615,21 @@ DEF_HELPER_FLAGS_4(gvec_frsqrte_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
|
||||||
DEF_HELPER_FLAGS_4(gvec_frsqrte_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
|
DEF_HELPER_FLAGS_4(gvec_frsqrte_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
|
||||||
DEF_HELPER_FLAGS_4(gvec_frsqrte_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
|
DEF_HELPER_FLAGS_4(gvec_frsqrte_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
|
||||||
|
|
||||||
|
DEF_HELPER_FLAGS_4(gvec_fcgt0_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
|
||||||
|
DEF_HELPER_FLAGS_4(gvec_fcgt0_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
|
||||||
|
|
||||||
|
DEF_HELPER_FLAGS_4(gvec_fcge0_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
|
||||||
|
DEF_HELPER_FLAGS_4(gvec_fcge0_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
|
||||||
|
|
||||||
|
DEF_HELPER_FLAGS_4(gvec_fceq0_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
|
||||||
|
DEF_HELPER_FLAGS_4(gvec_fceq0_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
|
||||||
|
|
||||||
|
DEF_HELPER_FLAGS_4(gvec_fcle0_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
|
||||||
|
DEF_HELPER_FLAGS_4(gvec_fcle0_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
|
||||||
|
|
||||||
|
DEF_HELPER_FLAGS_4(gvec_fclt0_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
|
||||||
|
DEF_HELPER_FLAGS_4(gvec_fclt0_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
|
||||||
|
|
||||||
DEF_HELPER_FLAGS_5(gvec_fadd_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, i32)
|
DEF_HELPER_FLAGS_5(gvec_fadd_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, i32)
|
||||||
DEF_HELPER_FLAGS_5(gvec_fadd_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, i32)
|
DEF_HELPER_FLAGS_5(gvec_fadd_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, i32)
|
||||||
DEF_HELPER_FLAGS_5(gvec_fadd_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, i32)
|
DEF_HELPER_FLAGS_5(gvec_fadd_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, i32)
|
||||||
|
|
|
@ -3853,6 +3853,11 @@ DO_2MISC_FP(VCVT_UF, gen_helper_vfp_touizs)
|
||||||
|
|
||||||
DO_2MISC_FP_VEC(VRECPE_F, gen_helper_gvec_frecpe_h, gen_helper_gvec_frecpe_s)
|
DO_2MISC_FP_VEC(VRECPE_F, gen_helper_gvec_frecpe_h, gen_helper_gvec_frecpe_s)
|
||||||
DO_2MISC_FP_VEC(VRSQRTE_F, gen_helper_gvec_frsqrte_h, gen_helper_gvec_frsqrte_s)
|
DO_2MISC_FP_VEC(VRSQRTE_F, gen_helper_gvec_frsqrte_h, gen_helper_gvec_frsqrte_s)
|
||||||
|
DO_2MISC_FP_VEC(VCGT0_F, gen_helper_gvec_fcgt0_h, gen_helper_gvec_fcgt0_s)
|
||||||
|
DO_2MISC_FP_VEC(VCGE0_F, gen_helper_gvec_fcge0_h, gen_helper_gvec_fcge0_s)
|
||||||
|
DO_2MISC_FP_VEC(VCEQ0_F, gen_helper_gvec_fceq0_h, gen_helper_gvec_fceq0_s)
|
||||||
|
DO_2MISC_FP_VEC(VCLT0_F, gen_helper_gvec_fclt0_h, gen_helper_gvec_fclt0_s)
|
||||||
|
DO_2MISC_FP_VEC(VCLE0_F, gen_helper_gvec_fcle0_h, gen_helper_gvec_fcle0_s)
|
||||||
|
|
||||||
static bool trans_VRINTX(DisasContext *s, arg_2misc *a)
|
static bool trans_VRINTX(DisasContext *s, arg_2misc *a)
|
||||||
{
|
{
|
||||||
|
@ -3862,34 +3867,6 @@ static bool trans_VRINTX(DisasContext *s, arg_2misc *a)
|
||||||
return do_2misc_fp(s, a, gen_helper_rints_exact);
|
return do_2misc_fp(s, a, gen_helper_rints_exact);
|
||||||
}
|
}
|
||||||
|
|
||||||
#define WRAP_FP_CMP0_FWD(WRAPNAME, FUNC) \
|
|
||||||
static void WRAPNAME(TCGContext *s, TCGv_i32 d, TCGv_i32 m, TCGv_ptr fpst) \
|
|
||||||
{ \
|
|
||||||
TCGv_i32 zero = tcg_const_i32(s, 0); \
|
|
||||||
FUNC(s, d, m, zero, fpst); \
|
|
||||||
tcg_temp_free_i32(s, zero); \
|
|
||||||
}
|
|
||||||
#define WRAP_FP_CMP0_REV(WRAPNAME, FUNC) \
|
|
||||||
static void WRAPNAME(TCGContext *s, TCGv_i32 d, TCGv_i32 m, TCGv_ptr fpst) \
|
|
||||||
{ \
|
|
||||||
TCGv_i32 zero = tcg_const_i32(s, 0); \
|
|
||||||
FUNC(s, d, zero, m, fpst); \
|
|
||||||
tcg_temp_free_i32(s, zero); \
|
|
||||||
}
|
|
||||||
|
|
||||||
#define DO_FP_CMP0(INSN, FUNC, REV) \
|
|
||||||
WRAP_FP_CMP0_##REV(gen_##INSN, FUNC) \
|
|
||||||
static bool trans_##INSN(DisasContext *s, arg_2misc *a) \
|
|
||||||
{ \
|
|
||||||
return do_2misc_fp(s, a, gen_##INSN); \
|
|
||||||
}
|
|
||||||
|
|
||||||
DO_FP_CMP0(VCGT0_F, gen_helper_neon_cgt_f32, FWD)
|
|
||||||
DO_FP_CMP0(VCGE0_F, gen_helper_neon_cge_f32, FWD)
|
|
||||||
DO_FP_CMP0(VCEQ0_F, gen_helper_neon_ceq_f32, FWD)
|
|
||||||
DO_FP_CMP0(VCLE0_F, gen_helper_neon_cge_f32, REV)
|
|
||||||
DO_FP_CMP0(VCLT0_F, gen_helper_neon_cgt_f32, REV)
|
|
||||||
|
|
||||||
static bool do_vrint(DisasContext *s, arg_2misc *a, int rmode)
|
static bool do_vrint(DisasContext *s, arg_2misc *a, int rmode)
|
||||||
{
|
{
|
||||||
/*
|
/*
|
||||||
|
|
|
@ -731,7 +731,32 @@ DO_2OP(gvec_frsqrte_h, helper_rsqrte_f16, float16)
|
||||||
DO_2OP(gvec_frsqrte_s, helper_rsqrte_f32, float32)
|
DO_2OP(gvec_frsqrte_s, helper_rsqrte_f32, float32)
|
||||||
DO_2OP(gvec_frsqrte_d, helper_rsqrte_f64, float64)
|
DO_2OP(gvec_frsqrte_d, helper_rsqrte_f64, float64)
|
||||||
|
|
||||||
|
#define WRAP_CMP0_FWD(FN, CMPOP, TYPE) \
|
||||||
|
static TYPE TYPE##_##FN##0(TYPE op, float_status *stat) \
|
||||||
|
{ \
|
||||||
|
return TYPE##_##CMPOP(op, TYPE##_zero, stat); \
|
||||||
|
}
|
||||||
|
|
||||||
|
#define WRAP_CMP0_REV(FN, CMPOP, TYPE) \
|
||||||
|
static TYPE TYPE##_##FN##0(TYPE op, float_status *stat) \
|
||||||
|
{ \
|
||||||
|
return TYPE##_##CMPOP(TYPE##_zero, op, stat); \
|
||||||
|
}
|
||||||
|
|
||||||
|
#define DO_2OP_CMP0(FN, CMPOP, DIRN) \
|
||||||
|
WRAP_CMP0_##DIRN(FN, CMPOP, float16) \
|
||||||
|
WRAP_CMP0_##DIRN(FN, CMPOP, float32) \
|
||||||
|
DO_2OP(gvec_f##FN##0_h, float16_##FN##0, float16) \
|
||||||
|
DO_2OP(gvec_f##FN##0_s, float32_##FN##0, float32)
|
||||||
|
|
||||||
|
DO_2OP_CMP0(cgt, cgt, FWD)
|
||||||
|
DO_2OP_CMP0(cge, cge, FWD)
|
||||||
|
DO_2OP_CMP0(ceq, ceq, FWD)
|
||||||
|
DO_2OP_CMP0(clt, cgt, REV)
|
||||||
|
DO_2OP_CMP0(cle, cge, REV)
|
||||||
|
|
||||||
#undef DO_2OP
|
#undef DO_2OP
|
||||||
|
#undef DO_2OP_CMP0
|
||||||
|
|
||||||
/* Floating-point trigonometric starting value.
|
/* Floating-point trigonometric starting value.
|
||||||
* See the ARM ARM pseudocode function FPTrigSMul.
|
* See the ARM ARM pseudocode function FPTrigSMul.
|
||||||
|
|
|
@ -1278,10 +1278,20 @@
|
||||||
#define helper_gvec_fcaddd helper_gvec_fcaddd_x86_64
|
#define helper_gvec_fcaddd helper_gvec_fcaddd_x86_64
|
||||||
#define helper_gvec_fceq_h helper_gvec_fceq_h_x86_64
|
#define helper_gvec_fceq_h helper_gvec_fceq_h_x86_64
|
||||||
#define helper_gvec_fceq_s helper_gvec_fceq_s_x86_64
|
#define helper_gvec_fceq_s helper_gvec_fceq_s_x86_64
|
||||||
|
#define helper_gvec_fceq0_h helper_gvec_fceq0_h_x86_64
|
||||||
|
#define helper_gvec_fceq0_s helper_gvec_fceq0_s_x86_64
|
||||||
#define helper_gvec_fcge_h helper_gvec_fcge_h_x86_64
|
#define helper_gvec_fcge_h helper_gvec_fcge_h_x86_64
|
||||||
#define helper_gvec_fcge_s helper_gvec_fcge_s_x86_64
|
#define helper_gvec_fcge_s helper_gvec_fcge_s_x86_64
|
||||||
|
#define helper_gvec_fcge0_h helper_gvec_fcge0_h_x86_64
|
||||||
|
#define helper_gvec_fcge0_s helper_gvec_fcge0_s_x86_64
|
||||||
#define helper_gvec_fcgt_h helper_gvec_fcgt_h_x86_64
|
#define helper_gvec_fcgt_h helper_gvec_fcgt_h_x86_64
|
||||||
#define helper_gvec_fcgt_s helper_gvec_fcgt_s_x86_64
|
#define helper_gvec_fcgt_s helper_gvec_fcgt_s_x86_64
|
||||||
|
#define helper_gvec_fcgt0_h helper_gvec_fcgt0_h_x86_64
|
||||||
|
#define helper_gvec_fcgt0_s helper_gvec_fcgt0_s_x86_64
|
||||||
|
#define helper_gvec_fcle0_h helper_gvec_fcle0_h_x86_64
|
||||||
|
#define helper_gvec_fcle0_s helper_gvec_fcle0_s_x86_64
|
||||||
|
#define helper_gvec_fclt0_h helper_gvec_fclt0_h_x86_64
|
||||||
|
#define helper_gvec_fclt0_s helper_gvec_fclt0_s_x86_64
|
||||||
#define helper_gvec_fcmlad helper_gvec_fcmlad_x86_64
|
#define helper_gvec_fcmlad helper_gvec_fcmlad_x86_64
|
||||||
#define helper_gvec_fcmlah helper_gvec_fcmlah_x86_64
|
#define helper_gvec_fcmlah helper_gvec_fcmlah_x86_64
|
||||||
#define helper_gvec_fcmlah_idx helper_gvec_fcmlah_idx_x86_64
|
#define helper_gvec_fcmlah_idx helper_gvec_fcmlah_idx_x86_64
|
||||||
|
|
Loading…
Reference in a new issue