diff --git a/qemu/aarch64.h b/qemu/aarch64.h index 9e6411f3..30dab47e 100644 --- a/qemu/aarch64.h +++ b/qemu/aarch64.h @@ -1278,10 +1278,20 @@ #define helper_gvec_fcaddd helper_gvec_fcaddd_aarch64 #define helper_gvec_fceq_h helper_gvec_fceq_h_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_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_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_fcmlah helper_gvec_fcmlah_aarch64 #define helper_gvec_fcmlah_idx helper_gvec_fcmlah_idx_aarch64 diff --git a/qemu/aarch64eb.h b/qemu/aarch64eb.h index 85a119ab..c045d175 100644 --- a/qemu/aarch64eb.h +++ b/qemu/aarch64eb.h @@ -1278,10 +1278,20 @@ #define helper_gvec_fcaddd helper_gvec_fcaddd_aarch64eb #define helper_gvec_fceq_h helper_gvec_fceq_h_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_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_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_fcmlah helper_gvec_fcmlah_aarch64eb #define helper_gvec_fcmlah_idx helper_gvec_fcmlah_idx_aarch64eb diff --git a/qemu/arm.h b/qemu/arm.h index 4bf4afde..bf390138 100644 --- a/qemu/arm.h +++ b/qemu/arm.h @@ -1278,10 +1278,20 @@ #define helper_gvec_fcaddd helper_gvec_fcaddd_arm #define helper_gvec_fceq_h helper_gvec_fceq_h_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_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_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_fcmlah helper_gvec_fcmlah_arm #define helper_gvec_fcmlah_idx helper_gvec_fcmlah_idx_arm diff --git a/qemu/armeb.h b/qemu/armeb.h index 0177c003..e4f868da 100644 --- a/qemu/armeb.h +++ b/qemu/armeb.h @@ -1278,10 +1278,20 @@ #define helper_gvec_fcaddd helper_gvec_fcaddd_armeb #define helper_gvec_fceq_h helper_gvec_fceq_h_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_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_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_fcmlah helper_gvec_fcmlah_armeb #define helper_gvec_fcmlah_idx helper_gvec_fcmlah_idx_armeb diff --git a/qemu/header_gen.py b/qemu/header_gen.py index 8ff1767d..17f6abbb 100644 --- a/qemu/header_gen.py +++ b/qemu/header_gen.py @@ -1284,10 +1284,20 @@ symbols = ( 'helper_gvec_fcaddd', 'helper_gvec_fceq_h', 'helper_gvec_fceq_s', + 'helper_gvec_fceq0_h', + 'helper_gvec_fceq0_s', 'helper_gvec_fcge_h', 'helper_gvec_fcge_s', + 'helper_gvec_fcge0_h', + 'helper_gvec_fcge0_s', 'helper_gvec_fcgt_h', '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_fcmlah', 'helper_gvec_fcmlah_idx', diff --git a/qemu/m68k.h b/qemu/m68k.h index 6ce9d601..ca6b3cdf 100644 --- a/qemu/m68k.h +++ b/qemu/m68k.h @@ -1278,10 +1278,20 @@ #define helper_gvec_fcaddd helper_gvec_fcaddd_m68k #define helper_gvec_fceq_h helper_gvec_fceq_h_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_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_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_fcmlah helper_gvec_fcmlah_m68k #define helper_gvec_fcmlah_idx helper_gvec_fcmlah_idx_m68k diff --git a/qemu/mips.h b/qemu/mips.h index 6c813447..f81b6c2e 100644 --- a/qemu/mips.h +++ b/qemu/mips.h @@ -1278,10 +1278,20 @@ #define helper_gvec_fcaddd helper_gvec_fcaddd_mips #define helper_gvec_fceq_h helper_gvec_fceq_h_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_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_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_fcmlah helper_gvec_fcmlah_mips #define helper_gvec_fcmlah_idx helper_gvec_fcmlah_idx_mips diff --git a/qemu/mips64.h b/qemu/mips64.h index 3258dc07..02e7ebed 100644 --- a/qemu/mips64.h +++ b/qemu/mips64.h @@ -1278,10 +1278,20 @@ #define helper_gvec_fcaddd helper_gvec_fcaddd_mips64 #define helper_gvec_fceq_h helper_gvec_fceq_h_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_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_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_fcmlah helper_gvec_fcmlah_mips64 #define helper_gvec_fcmlah_idx helper_gvec_fcmlah_idx_mips64 diff --git a/qemu/mips64el.h b/qemu/mips64el.h index 5298e47d..4a3d7ac1 100644 --- a/qemu/mips64el.h +++ b/qemu/mips64el.h @@ -1278,10 +1278,20 @@ #define helper_gvec_fcaddd helper_gvec_fcaddd_mips64el #define helper_gvec_fceq_h helper_gvec_fceq_h_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_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_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_fcmlah helper_gvec_fcmlah_mips64el #define helper_gvec_fcmlah_idx helper_gvec_fcmlah_idx_mips64el diff --git a/qemu/mipsel.h b/qemu/mipsel.h index ece326bd..e182bf40 100644 --- a/qemu/mipsel.h +++ b/qemu/mipsel.h @@ -1278,10 +1278,20 @@ #define helper_gvec_fcaddd helper_gvec_fcaddd_mipsel #define helper_gvec_fceq_h helper_gvec_fceq_h_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_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_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_fcmlah helper_gvec_fcmlah_mipsel #define helper_gvec_fcmlah_idx helper_gvec_fcmlah_idx_mipsel diff --git a/qemu/powerpc.h b/qemu/powerpc.h index 58b17422..194243b2 100644 --- a/qemu/powerpc.h +++ b/qemu/powerpc.h @@ -1278,10 +1278,20 @@ #define helper_gvec_fcaddd helper_gvec_fcaddd_powerpc #define helper_gvec_fceq_h helper_gvec_fceq_h_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_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_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_fcmlah helper_gvec_fcmlah_powerpc #define helper_gvec_fcmlah_idx helper_gvec_fcmlah_idx_powerpc diff --git a/qemu/riscv32.h b/qemu/riscv32.h index ee036572..b1e05a7d 100644 --- a/qemu/riscv32.h +++ b/qemu/riscv32.h @@ -1278,10 +1278,20 @@ #define helper_gvec_fcaddd helper_gvec_fcaddd_riscv32 #define helper_gvec_fceq_h helper_gvec_fceq_h_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_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_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_fcmlah helper_gvec_fcmlah_riscv32 #define helper_gvec_fcmlah_idx helper_gvec_fcmlah_idx_riscv32 diff --git a/qemu/riscv64.h b/qemu/riscv64.h index 8b4de479..7aa969b5 100644 --- a/qemu/riscv64.h +++ b/qemu/riscv64.h @@ -1278,10 +1278,20 @@ #define helper_gvec_fcaddd helper_gvec_fcaddd_riscv64 #define helper_gvec_fceq_h helper_gvec_fceq_h_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_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_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_fcmlah helper_gvec_fcmlah_riscv64 #define helper_gvec_fcmlah_idx helper_gvec_fcmlah_idx_riscv64 diff --git a/qemu/sparc.h b/qemu/sparc.h index b200604c..94e0bb74 100644 --- a/qemu/sparc.h +++ b/qemu/sparc.h @@ -1278,10 +1278,20 @@ #define helper_gvec_fcaddd helper_gvec_fcaddd_sparc #define helper_gvec_fceq_h helper_gvec_fceq_h_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_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_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_fcmlah helper_gvec_fcmlah_sparc #define helper_gvec_fcmlah_idx helper_gvec_fcmlah_idx_sparc diff --git a/qemu/sparc64.h b/qemu/sparc64.h index e906c506..ac0960fd 100644 --- a/qemu/sparc64.h +++ b/qemu/sparc64.h @@ -1278,10 +1278,20 @@ #define helper_gvec_fcaddd helper_gvec_fcaddd_sparc64 #define helper_gvec_fceq_h helper_gvec_fceq_h_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_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_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_fcmlah helper_gvec_fcmlah_sparc64 #define helper_gvec_fcmlah_idx helper_gvec_fcmlah_idx_sparc64 diff --git a/qemu/target/arm/helper.h b/qemu/target/arm/helper.h index 984c9cbd..e12a7904 100644 --- a/qemu/target/arm/helper.h +++ b/qemu/target/arm/helper.h @@ -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_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_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) diff --git a/qemu/target/arm/translate-neon.inc.c b/qemu/target/arm/translate-neon.inc.c index 9da4211c..f7a7c501 100644 --- a/qemu/target/arm/translate-neon.inc.c +++ b/qemu/target/arm/translate-neon.inc.c @@ -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(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) { @@ -3862,34 +3867,6 @@ static bool trans_VRINTX(DisasContext *s, arg_2misc *a) 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) { /* diff --git a/qemu/target/arm/vec_helper.c b/qemu/target/arm/vec_helper.c index c9b921c7..8351cbcc 100644 --- a/qemu/target/arm/vec_helper.c +++ b/qemu/target/arm/vec_helper.c @@ -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_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_CMP0 /* Floating-point trigonometric starting value. * See the ARM ARM pseudocode function FPTrigSMul. diff --git a/qemu/x86_64.h b/qemu/x86_64.h index 613e3b72..3b0fd832 100644 --- a/qemu/x86_64.h +++ b/qemu/x86_64.h @@ -1278,10 +1278,20 @@ #define helper_gvec_fcaddd helper_gvec_fcaddd_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_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_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_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_fcmlah helper_gvec_fcmlah_x86_64 #define helper_gvec_fcmlah_idx helper_gvec_fcmlah_idx_x86_64