From f20536724d4cc8432d5b804082415c8391f88f9b Mon Sep 17 00:00:00 2001 From: Christophe Lyon Date: Tue, 16 Dec 2014 10:26:00 +0100 Subject: Rename helper macros: TEST_VLOAD into VLOAD TEST_VDUP into VDUP --- compute_ref.axf | Bin 3552332 -> 3554024 bytes ref_v_binary_op.c | 34 +++---- ref_v_binary_sat_op.c | 36 +++---- ref_v_comp_f_op.c | 12 +-- ref_v_comp_op.c | 94 ++++++++--------- ref_v_unary_op.c | 12 +-- ref_v_unary_sat_op.c | 12 +-- ref_vaba.c | 72 ++++++------- ref_vabal.c | 62 ++++++------ ref_vabd.c | 64 ++++++------ ref_vabdl.c | 24 ++--- ref_vabs.c | 4 +- ref_vadd.c | 8 +- ref_vaddhn.c | 26 ++--- ref_vaddl.c | 24 ++--- ref_vaddw.c | 24 ++--- ref_vbsl.c | 70 ++++++------- ref_vceq.c | 8 +- ref_vcls.c | 24 ++--- ref_vclz.c | 48 ++++----- ref_vcnt.c | 12 +-- ref_vcombine.c | 30 +++--- ref_vcvt.c | 14 +-- ref_vdup.c | 1 - ref_vdup_lane.c | 4 +- ref_vext.c | 52 +++++----- ref_vget_high.c | 6 +- ref_vget_lane.c | 6 +- ref_vget_low.c | 6 +- ref_vmax.c | 58 +++++------ ref_vmla.c | 88 ++++++++-------- ref_vmla_lane.c | 54 +++++----- ref_vmla_n.c | 42 ++++---- ref_vmlal.c | 38 +++---- ref_vmlal_lane.c | 26 ++--- ref_vmlal_n.c | 18 ++-- ref_vmovl.c | 2 +- ref_vmovn.c | 2 +- ref_vmul.c | 66 ++++++------ ref_vmul_lane.c | 30 +++--- ref_vmul_n.c | 20 ++-- ref_vmull.c | 14 +-- ref_vmull_lane.c | 16 +-- ref_vmull_n.c | 8 +- ref_vmvn.c | 28 +++--- ref_vneg.c | 4 +- ref_vpadal.c | 48 ++++----- ref_vpadd.c | 14 +-- ref_vpaddl.c | 24 ++--- ref_vqabs.c | 12 +-- ref_vqadd.c | 66 ++++++------ ref_vqdmlal.c | 20 ++-- ref_vqdmlal_lane.c | 24 ++--- ref_vqdmlal_n.c | 12 +-- ref_vqdmulh.c | 32 +++--- ref_vqdmulh_lane.c | 24 ++--- ref_vqdmulh_n.c | 16 +-- ref_vqdmull.c | 16 +-- ref_vqdmull_lane.c | 16 +-- ref_vqdmull_n.c | 12 +-- ref_vqmovn.c | 24 ++--- ref_vqmovun.c | 12 +-- ref_vqneg.c | 12 +-- ref_vqrdmulh.c | 48 ++++----- ref_vqrdmulh_lane.c | 36 +++---- ref_vqrdmulh_n.c | 24 ++--- ref_vqrshl.c | 274 +++++++++++++++++++++++++------------------------- ref_vqrshrn_n.c | 24 ++--- ref_vqrshrun_n.c | 24 ++--- ref_vqshl.c | 186 +++++++++++++++++----------------- ref_vqshl_n.c | 34 +++---- ref_vqshlu_n.c | 48 ++++----- ref_vqshrn_n.c | 24 ++--- ref_vqshrun_n.c | 18 ++-- ref_vqsub.c | 64 ++++++------ ref_vrecpe.c | 30 +++--- ref_vrecps.c | 26 ++--- ref_vreinterpret.c | 10 +- ref_vrev.c | 6 +- ref_vrshl.c | 210 +++++++++++++++++++------------------- ref_vrshr_n.c | 66 ++++++------ ref_vrshrn_n.c | 36 +++---- ref_vrsqrte.c | 28 +++--- ref_vrsqrts.c | 26 ++--- ref_vrsra_n.c | 116 ++++++++++----------- ref_vsXi_n.c | 42 ++++---- ref_vset_lane.c | 6 +- ref_vshl.c | 50 ++++----- ref_vshl_n.c | 2 +- ref_vshll_n.c | 2 +- ref_vshr_n.c | 2 +- ref_vshrn_n.c | 12 +-- ref_vsli_n.c | 42 ++++---- ref_vsra_n.c | 36 +++---- ref_vsri_n.c | 42 ++++---- ref_vsub.c | 8 +- ref_vtbX.c | 12 +-- ref_vtst.c | 26 ++--- ref_vuzp.c | 44 ++++---- stm-arm-neon-ref.h | 4 +- 100 files changed, 1687 insertions(+), 1688 deletions(-) diff --git a/compute_ref.axf b/compute_ref.axf index ce14cc4..df8be34 100644 Binary files a/compute_ref.axf and b/compute_ref.axf differ diff --git a/ref_v_binary_op.c b/ref_v_binary_op.c index 908e351..bb4a723 100644 --- a/ref_v_binary_op.c +++ b/ref_v_binary_op.c @@ -57,25 +57,25 @@ FNNAME (INSN_NAME) clean_results (); /* Initialize input "vector" from "buffer" */ - TEST_MACRO_ALL_VARIANTS_2_5(TEST_VLOAD, vector, buffer); + TEST_MACRO_ALL_VARIANTS_2_5(VLOAD, vector, buffer); /* Fill input vector2 with arbitrary values */ - TEST_VDUP(vector2, , int, s, 8, 8, 2); - TEST_VDUP(vector2, , int, s, 16, 4, -4); - TEST_VDUP(vector2, , int, s, 32, 2, 3); - TEST_VDUP(vector2, , int, s, 64, 1, 100); - TEST_VDUP(vector2, , uint, u, 8, 8, 20); - TEST_VDUP(vector2, , uint, u, 16, 4, 30); - TEST_VDUP(vector2, , uint, u, 32, 2, 40); - TEST_VDUP(vector2, , uint, u, 64, 1, 2); - TEST_VDUP(vector2, q, int, s, 8, 16, -10); - TEST_VDUP(vector2, q, int, s, 16, 8, -20); - TEST_VDUP(vector2, q, int, s, 32, 4, -30); - TEST_VDUP(vector2, q, int, s, 64, 2, 24); - TEST_VDUP(vector2, q, uint, u, 8, 16, 12); - TEST_VDUP(vector2, q, uint, u, 16, 8, 3); - TEST_VDUP(vector2, q, uint, u, 32, 4, 55); - TEST_VDUP(vector2, q, uint, u, 64, 2, 3); + VDUP(vector2, , int, s, 8, 8, 2); + VDUP(vector2, , int, s, 16, 4, -4); + VDUP(vector2, , int, s, 32, 2, 3); + VDUP(vector2, , int, s, 64, 1, 100); + VDUP(vector2, , uint, u, 8, 8, 20); + VDUP(vector2, , uint, u, 16, 4, 30); + VDUP(vector2, , uint, u, 32, 2, 40); + VDUP(vector2, , uint, u, 64, 1, 2); + VDUP(vector2, q, int, s, 8, 16, -10); + VDUP(vector2, q, int, s, 16, 8, -20); + VDUP(vector2, q, int, s, 32, 4, -30); + VDUP(vector2, q, int, s, 64, 2, 24); + VDUP(vector2, q, uint, u, 8, 16, 12); + VDUP(vector2, q, uint, u, 16, 8, 3); + VDUP(vector2, q, uint, u, 32, 4, 55); + VDUP(vector2, q, uint, u, 64, 2, 3); /* Apply a binary operator named INSN_NAME */ TEST_MACRO_ALL_VARIANTS_1_5(TEST_BINARY_OP, INSN_NAME); diff --git a/ref_v_binary_sat_op.c b/ref_v_binary_sat_op.c index d6d9a19..71af870 100644 --- a/ref_v_binary_sat_op.c +++ b/ref_v_binary_sat_op.c @@ -62,26 +62,26 @@ FNNAME (INSN_NAME) clean_results (); /* Initialize input "vector1" from "buffer" */ - TEST_MACRO_ALL_VARIANTS_2_5(TEST_VLOAD, vector1, buffer); + TEST_MACRO_ALL_VARIANTS_2_5(VLOAD, vector1, buffer); /* Choose arbitrary initialization values */ - TEST_VDUP(vector2, , int, s, 8, 8, 0x11); - TEST_VDUP(vector2, , int, s, 16, 4, 0x22); - TEST_VDUP(vector2, , int, s, 32, 2, 0x33); - TEST_VDUP(vector2, , int, s, 64, 1, 0x44); - TEST_VDUP(vector2, , uint, u, 8, 8, 0x55); - TEST_VDUP(vector2, , uint, u, 16, 4, 0x66); - TEST_VDUP(vector2, , uint, u, 32, 2, 0x77); - TEST_VDUP(vector2, , uint, u, 64, 1, 0x88); - - TEST_VDUP(vector2, q, int, s, 8, 16, 0x11); - TEST_VDUP(vector2, q, int, s, 16, 8, 0x22); - TEST_VDUP(vector2, q, int, s, 32, 4, 0x33); - TEST_VDUP(vector2, q, int, s, 64, 2, 0x44); - TEST_VDUP(vector2, q, uint, u, 8, 16, 0x55); - TEST_VDUP(vector2, q, uint, u, 16, 8, 0x66); - TEST_VDUP(vector2, q, uint, u, 32, 4, 0x77); - TEST_VDUP(vector2, q, uint, u, 64, 2, 0x88); + VDUP(vector2, , int, s, 8, 8, 0x11); + VDUP(vector2, , int, s, 16, 4, 0x22); + VDUP(vector2, , int, s, 32, 2, 0x33); + VDUP(vector2, , int, s, 64, 1, 0x44); + VDUP(vector2, , uint, u, 8, 8, 0x55); + VDUP(vector2, , uint, u, 16, 4, 0x66); + VDUP(vector2, , uint, u, 32, 2, 0x77); + VDUP(vector2, , uint, u, 64, 1, 0x88); + + VDUP(vector2, q, int, s, 8, 16, 0x11); + VDUP(vector2, q, int, s, 16, 8, 0x22); + VDUP(vector2, q, int, s, 32, 4, 0x33); + VDUP(vector2, q, int, s, 64, 2, 0x44); + VDUP(vector2, q, uint, u, 8, 16, 0x55); + VDUP(vector2, q, uint, u, 16, 8, 0x66); + VDUP(vector2, q, uint, u, 32, 4, 0x77); + VDUP(vector2, q, uint, u, 64, 2, 0x88); fprintf(ref_file, "\n%s cumulative saturation output:\n", TEST_MSG); TEST_BINARY_SAT_OP(INSN_NAME, , int, s, 8, 8); diff --git a/ref_v_comp_f_op.c b/ref_v_comp_f_op.c index 6b8f678..9d07c23 100644 --- a/ref_v_comp_f_op.c +++ b/ref_v_comp_f_op.c @@ -60,13 +60,13 @@ FNNAME (INSN_NAME) clean_results (); - TEST_VLOAD(vector, buffer, , float, f, 32, 2); - TEST_VLOAD(vector, buffer, q, float, f, 32, 4); + VLOAD(vector, buffer, , float, f, 32, 2); + VLOAD(vector, buffer, q, float, f, 32, 4); /* Choose init value arbitrarily, will be used for vector comparison */ - TEST_VDUP(vector2, , float, f, 32, 2, -16.0f); - TEST_VDUP(vector2, q, float, f, 32, 4, -14.0f); + VDUP(vector2, , float, f, 32, 2, -16.0f); + VDUP(vector2, q, float, f, 32, 4, -14.0f); fprintf(ref_file, "\n%s output:\n", TEST_MSG); fprintf(gcc_tests_file, "\n%s output:\n", TEST_MSG); @@ -76,8 +76,8 @@ FNNAME (INSN_NAME) TEST_VCOMP(INSN_NAME, q, float, f, uint, 32, 4); DUMP(TEST_MSG, uint, 32, 4, PRIx32); - TEST_VDUP(vector2, , float, f, 32, 2, -10.0f); - TEST_VDUP(vector2, q, float, f, 32, 4, 10.0f); + VDUP(vector2, , float, f, 32, 2, -10.0f); + VDUP(vector2, q, float, f, 32, 4, 10.0f); fprintf(ref_file, "\n%s output:\n", TEST_MSG); fprintf(gcc_tests_file, "\n%s output:\n", TEST_MSG); diff --git a/ref_v_comp_op.c b/ref_v_comp_op.c index 1e3adc5..9ca5038 100644 --- a/ref_v_comp_op.c +++ b/ref_v_comp_op.c @@ -93,39 +93,39 @@ FNNAME (INSN_NAME) clean_results (); /* There is no 64 bits variant, we can't use the generic initializer */ - TEST_VLOAD(vector, buffer, , int, s, 8, 8); - TEST_VLOAD(vector, buffer, , int, s, 16, 4); - TEST_VLOAD(vector, buffer, , int, s, 32, 2); - TEST_VLOAD(vector, buffer, , uint, u, 8, 8); - TEST_VLOAD(vector, buffer, , uint, u, 16, 4); - TEST_VLOAD(vector, buffer, , uint, u, 32, 2); - TEST_VLOAD(vector, buffer, , float, f, 32, 2); - - TEST_VLOAD(vector, buffer, q, int, s, 8, 16); - TEST_VLOAD(vector, buffer, q, int, s, 16, 8); - TEST_VLOAD(vector, buffer, q, int, s, 32, 4); - TEST_VLOAD(vector, buffer, q, uint, u, 8, 16); - TEST_VLOAD(vector, buffer, q, uint, u, 16, 8); - TEST_VLOAD(vector, buffer, q, uint, u, 32, 4); - TEST_VLOAD(vector, buffer, q, float, f, 32, 4); + VLOAD(vector, buffer, , int, s, 8, 8); + VLOAD(vector, buffer, , int, s, 16, 4); + VLOAD(vector, buffer, , int, s, 32, 2); + VLOAD(vector, buffer, , uint, u, 8, 8); + VLOAD(vector, buffer, , uint, u, 16, 4); + VLOAD(vector, buffer, , uint, u, 32, 2); + VLOAD(vector, buffer, , float, f, 32, 2); + + VLOAD(vector, buffer, q, int, s, 8, 16); + VLOAD(vector, buffer, q, int, s, 16, 8); + VLOAD(vector, buffer, q, int, s, 32, 4); + VLOAD(vector, buffer, q, uint, u, 8, 16); + VLOAD(vector, buffer, q, uint, u, 16, 8); + VLOAD(vector, buffer, q, uint, u, 32, 4); + VLOAD(vector, buffer, q, float, f, 32, 4); /* Choose init value arbitrarily, will be used for vector comparison */ - TEST_VDUP(vector2, , int, s, 8, 8, -10); - TEST_VDUP(vector2, , int, s, 16, 4, -14); - TEST_VDUP(vector2, , int, s, 32, 2, -16); - TEST_VDUP(vector2, , uint, u, 8, 8, 0xF3); - TEST_VDUP(vector2, , uint, u, 16, 4, 0xFFF2); - TEST_VDUP(vector2, , uint, u, 32, 2, 0xFFFFFFF1); - TEST_VDUP(vector2, , float, f, 32, 2, -15.0f); - - TEST_VDUP(vector2, q, int, s, 8, 16, -4); - TEST_VDUP(vector2, q, int, s, 16, 8, -10); - TEST_VDUP(vector2, q, int, s, 32, 4, -14); - TEST_VDUP(vector2, q, uint, u, 8, 16, 0xF4); - TEST_VDUP(vector2, q, uint, u, 16, 8, 0xFFF6); - TEST_VDUP(vector2, q, uint, u, 32, 4, 0xFFFFFFF2); - TEST_VDUP(vector2, q, float, f, 32, 4, -14.0f); + VDUP(vector2, , int, s, 8, 8, -10); + VDUP(vector2, , int, s, 16, 4, -14); + VDUP(vector2, , int, s, 32, 2, -16); + VDUP(vector2, , uint, u, 8, 8, 0xF3); + VDUP(vector2, , uint, u, 16, 4, 0xFFF2); + VDUP(vector2, , uint, u, 32, 2, 0xFFFFFFF1); + VDUP(vector2, , float, f, 32, 2, -15.0f); + + VDUP(vector2, q, int, s, 8, 16, -4); + VDUP(vector2, q, int, s, 16, 8, -10); + VDUP(vector2, q, int, s, 32, 4, -14); + VDUP(vector2, q, uint, u, 8, 16, 0xF4); + VDUP(vector2, q, uint, u, 16, 8, 0xFFF6); + VDUP(vector2, q, uint, u, 32, 4, 0xFFFFFFF2); + VDUP(vector2, q, float, f, 32, 4, -14.0f); /* The same result buffers are used multiple times, so output them before overwriting them */ @@ -166,52 +166,52 @@ FNNAME (INSN_NAME) DUMP(TEST_MSG, uint, 32, 4, PRIx32); /* Extra tests to have 100% coverage on all the variants */ - TEST_VDUP(vector2, , uint, u, 32, 2, 0xFFFFFFF0); + VDUP(vector2, , uint, u, 32, 2, 0xFFFFFFF0); TEST_VCOMP(INSN_NAME, , uint, u, uint, 32, 2); DUMP(TEST_MSG, uint, 32, 2, PRIx32); - TEST_VDUP(vector2, , int, s, 32, 2, -15); + VDUP(vector2, , int, s, 32, 2, -15); TEST_VCOMP(INSN_NAME, , int, s, uint, 32, 2); DUMP(TEST_MSG, uint, 32, 2, PRIx32); - TEST_VDUP(vector2, , float, f, 32, 2, -16.0f); + VDUP(vector2, , float, f, 32, 2, -16.0f); TEST_VCOMP(INSN_NAME, , float, f, uint, 32, 2); DUMP(TEST_MSG, uint, 32, 2, PRIx32); /* Extra FP tests with special values (NaN, ....) */ - TEST_VDUP(vector, , float, f, 32, 2, 1.0); - TEST_VDUP(vector2, , float, f, 32, 2, NAN); + VDUP(vector, , float, f, 32, 2, 1.0); + VDUP(vector2, , float, f, 32, 2, NAN); TEST_VCOMP(INSN_NAME, , float, f, uint, 32, 2); DUMP(TEST_MSG " FP special (NaN)", uint, 32, 2, PRIx32); - TEST_VDUP(vector, , float, f, 32, 2, 1.0); - TEST_VDUP(vector2, , float, f, 32, 2, -NAN); + VDUP(vector, , float, f, 32, 2, 1.0); + VDUP(vector2, , float, f, 32, 2, -NAN); TEST_VCOMP(INSN_NAME, , float, f, uint, 32, 2); DUMP(TEST_MSG " FP special (-NaN)", uint, 32, 2, PRIx32); - TEST_VDUP(vector, , float, f, 32, 2, NAN); - TEST_VDUP(vector2, , float, f, 32, 2, 1.0); + VDUP(vector, , float, f, 32, 2, NAN); + VDUP(vector2, , float, f, 32, 2, 1.0); TEST_VCOMP(INSN_NAME, , float, f, uint, 32, 2); DUMP(TEST_MSG " FP special (NaN)", uint, 32, 2, PRIx32); - TEST_VDUP(vector, , float, f, 32, 2, 1.0); - TEST_VDUP(vector2, , float, f, 32, 2, HUGE_VALF); + VDUP(vector, , float, f, 32, 2, 1.0); + VDUP(vector2, , float, f, 32, 2, HUGE_VALF); TEST_VCOMP(INSN_NAME, , float, f, uint, 32, 2); DUMP(TEST_MSG " FP special (inf)", uint, 32, 2, PRIx32); - TEST_VDUP(vector, , float, f, 32, 2, 1.0); - TEST_VDUP(vector2, , float, f, 32, 2, -HUGE_VALF); + VDUP(vector, , float, f, 32, 2, 1.0); + VDUP(vector2, , float, f, 32, 2, -HUGE_VALF); TEST_VCOMP(INSN_NAME, , float, f, uint, 32, 2); DUMP(TEST_MSG " FP special (-inf)", uint, 32, 2, PRIx32); - TEST_VDUP(vector, , float, f, 32, 2, HUGE_VALF); - TEST_VDUP(vector2, , float, f, 32, 2, 1.0); + VDUP(vector, , float, f, 32, 2, HUGE_VALF); + VDUP(vector2, , float, f, 32, 2, 1.0); TEST_VCOMP(INSN_NAME, , float, f, uint, 32, 2); DUMP(TEST_MSG " FP special (inf)", uint, 32, 2, PRIx32); - TEST_VDUP(vector, , float, f, 32, 2, -0.0); - TEST_VDUP(vector2, , float, f, 32, 2, 0.0); + VDUP(vector, , float, f, 32, 2, -0.0); + VDUP(vector2, , float, f, 32, 2, 0.0); TEST_VCOMP(INSN_NAME, , float, f, uint, 32, 2); DUMP(TEST_MSG " FP special (-0.0)", uint, 32, 2, PRIx32); diff --git a/ref_v_unary_op.c b/ref_v_unary_op.c index a718286..18a4450 100644 --- a/ref_v_unary_op.c +++ b/ref_v_unary_op.c @@ -68,12 +68,12 @@ FNNAME (INSN_NAME) clean_results (); /* Initialize input "vector" from "buffer" */ - TEST_VLOAD(vector, buffer, , int, s, 8, 8); - TEST_VLOAD(vector, buffer, , int, s, 16, 4); - TEST_VLOAD(vector, buffer, , int, s, 32, 2); - TEST_VLOAD(vector, buffer, q, int, s, 8, 16); - TEST_VLOAD(vector, buffer, q, int, s, 16, 8); - TEST_VLOAD(vector, buffer, q, int, s, 32, 4); + VLOAD(vector, buffer, , int, s, 8, 8); + VLOAD(vector, buffer, , int, s, 16, 4); + VLOAD(vector, buffer, , int, s, 32, 2); + VLOAD(vector, buffer, q, int, s, 8, 16); + VLOAD(vector, buffer, q, int, s, 16, 8); + VLOAD(vector, buffer, q, int, s, 32, 4); /* Apply a unary operator named INSN_NAME */ TEST_UNARY_OP(INSN_NAME, , int, s, 8, 8); diff --git a/ref_v_unary_sat_op.c b/ref_v_unary_sat_op.c index ace0fea..7e6673e 100644 --- a/ref_v_unary_sat_op.c +++ b/ref_v_unary_sat_op.c @@ -72,12 +72,12 @@ FNNAME (INSN_NAME) clean_results (); /* Initialize input "vector" from "buffer" */ - TEST_VLOAD(vector, buffer, , int, s, 8, 8); - TEST_VLOAD(vector, buffer, , int, s, 16, 4); - TEST_VLOAD(vector, buffer, , int, s, 32, 2); - TEST_VLOAD(vector, buffer, q, int, s, 8, 16); - TEST_VLOAD(vector, buffer, q, int, s, 16, 8); - TEST_VLOAD(vector, buffer, q, int, s, 32, 4); + VLOAD(vector, buffer, , int, s, 8, 8); + VLOAD(vector, buffer, , int, s, 16, 4); + VLOAD(vector, buffer, , int, s, 32, 2); + VLOAD(vector, buffer, q, int, s, 8, 16); + VLOAD(vector, buffer, q, int, s, 16, 8); + VLOAD(vector, buffer, q, int, s, 32, 4); /* Apply a unary operator named INSN_NAME */ fprintf(ref_file, "\n%s cumulative saturation output:\n", TEST_MSG); diff --git a/ref_vaba.c b/ref_vaba.c index a91f862..5f2ff76 100644 --- a/ref_vaba.c +++ b/ref_vaba.c @@ -66,47 +66,47 @@ void exec_vaba (void) clean_results (); /* Initialize input "vector" from "buffer" */ - TEST_VLOAD(vector1, buffer, , int, s, 8, 8); - TEST_VLOAD(vector1, buffer, , int, s, 16, 4); - TEST_VLOAD(vector1, buffer, , int, s, 32, 2); - TEST_VLOAD(vector1, buffer, , uint, u, 8, 8); - TEST_VLOAD(vector1, buffer, , uint, u, 16, 4); - TEST_VLOAD(vector1, buffer, , uint, u, 32, 2); - TEST_VLOAD(vector1, buffer, q, int, s, 8, 16); - TEST_VLOAD(vector1, buffer, q, int, s, 16, 8); - TEST_VLOAD(vector1, buffer, q, int, s, 32, 4); - TEST_VLOAD(vector1, buffer, q, uint, u, 8, 16); - TEST_VLOAD(vector1, buffer, q, uint, u, 16, 8); - TEST_VLOAD(vector1, buffer, q, uint, u, 32, 4); + VLOAD(vector1, buffer, , int, s, 8, 8); + VLOAD(vector1, buffer, , int, s, 16, 4); + VLOAD(vector1, buffer, , int, s, 32, 2); + VLOAD(vector1, buffer, , uint, u, 8, 8); + VLOAD(vector1, buffer, , uint, u, 16, 4); + VLOAD(vector1, buffer, , uint, u, 32, 2); + VLOAD(vector1, buffer, q, int, s, 8, 16); + VLOAD(vector1, buffer, q, int, s, 16, 8); + VLOAD(vector1, buffer, q, int, s, 32, 4); + VLOAD(vector1, buffer, q, uint, u, 8, 16); + VLOAD(vector1, buffer, q, uint, u, 16, 8); + VLOAD(vector1, buffer, q, uint, u, 32, 4); /* Choose init value arbitrarily */ - TEST_VDUP(vector2, , int, s, 8, 8, 1); - TEST_VDUP(vector2, , int, s, 16, 4, -13); - TEST_VDUP(vector2, , int, s, 32, 2, 8); - TEST_VDUP(vector2, , uint, u, 8, 8, 1); - TEST_VDUP(vector2, , uint, u, 16, 4, 13); - TEST_VDUP(vector2, , uint, u, 32, 2, 8); - TEST_VDUP(vector2, q, int, s, 8, 16, 10); - TEST_VDUP(vector2, q, int, s, 16, 8, -12); - TEST_VDUP(vector2, q, int, s, 32, 4, 32); - TEST_VDUP(vector2, q, uint, u, 8, 16, 10); - TEST_VDUP(vector2, q, uint, u, 16, 8, 12); - TEST_VDUP(vector2, q, uint, u, 32, 4, 32); + VDUP(vector2, , int, s, 8, 8, 1); + VDUP(vector2, , int, s, 16, 4, -13); + VDUP(vector2, , int, s, 32, 2, 8); + VDUP(vector2, , uint, u, 8, 8, 1); + VDUP(vector2, , uint, u, 16, 4, 13); + VDUP(vector2, , uint, u, 32, 2, 8); + VDUP(vector2, q, int, s, 8, 16, 10); + VDUP(vector2, q, int, s, 16, 8, -12); + VDUP(vector2, q, int, s, 32, 4, 32); + VDUP(vector2, q, uint, u, 8, 16, 10); + VDUP(vector2, q, uint, u, 16, 8, 12); + VDUP(vector2, q, uint, u, 32, 4, 32); /* Choose init value arbitrarily */ - TEST_VDUP(vector3, , int, s, 8, 8, -5); - TEST_VDUP(vector3, , int, s, 16, 4, 25); - TEST_VDUP(vector3, , int, s, 32, 2, -40); - TEST_VDUP(vector3, , uint, u, 8, 8, 100); - TEST_VDUP(vector3, , uint, u, 16, 4, 2340); - TEST_VDUP(vector3, , uint, u, 32, 2, 0xffffffff); - TEST_VDUP(vector3, q, int, s, 8, 16, -100); - TEST_VDUP(vector3, q, int, s, 16, 8, -3000); - TEST_VDUP(vector3, q, int, s, 32, 4, 10000); - TEST_VDUP(vector3, q, uint, u, 8, 16, 2); - TEST_VDUP(vector3, q, uint, u, 16, 8, 3); - TEST_VDUP(vector3, q, uint, u, 32, 4, 4); + VDUP(vector3, , int, s, 8, 8, -5); + VDUP(vector3, , int, s, 16, 4, 25); + VDUP(vector3, , int, s, 32, 2, -40); + VDUP(vector3, , uint, u, 8, 8, 100); + VDUP(vector3, , uint, u, 16, 4, 2340); + VDUP(vector3, , uint, u, 32, 2, 0xffffffff); + VDUP(vector3, q, int, s, 8, 16, -100); + VDUP(vector3, q, int, s, 16, 8, -3000); + VDUP(vector3, q, int, s, 32, 4, 10000); + VDUP(vector3, q, uint, u, 8, 16, 2); + VDUP(vector3, q, uint, u, 16, 8, 3); + VDUP(vector3, q, uint, u, 32, 4, 4); TEST_VABA(, int, s, 8, 8); TEST_VABA(, int, s, 16, 4); diff --git a/ref_vabal.c b/ref_vabal.c index 959763c..e9ec975 100644 --- a/ref_vabal.c +++ b/ref_vabal.c @@ -68,29 +68,29 @@ void exec_vabal (void) clean_results (); /* Initialize input "vector" from "buffer" */ - TEST_VLOAD(vector1, buffer, q, int, s, 16, 8); - TEST_VLOAD(vector1, buffer, q, int, s, 32, 4); - TEST_VLOAD(vector1, buffer, q, int, s, 64, 2); - TEST_VLOAD(vector1, buffer, q, uint, u, 16, 8); - TEST_VLOAD(vector1, buffer, q, uint, u, 32, 4); - TEST_VLOAD(vector1, buffer, q, uint, u, 64, 2); + VLOAD(vector1, buffer, q, int, s, 16, 8); + VLOAD(vector1, buffer, q, int, s, 32, 4); + VLOAD(vector1, buffer, q, int, s, 64, 2); + VLOAD(vector1, buffer, q, uint, u, 16, 8); + VLOAD(vector1, buffer, q, uint, u, 32, 4); + VLOAD(vector1, buffer, q, uint, u, 64, 2); /* Choose init value arbitrarily */ - TEST_VDUP(vector2, , int, s, 8, 8, 1); - TEST_VDUP(vector2, , int, s, 16, 4, -13); - TEST_VDUP(vector2, , int, s, 32, 2, 8); - TEST_VDUP(vector2, , uint, u, 8, 8, 1); - TEST_VDUP(vector2, , uint, u, 16, 4, 13); - TEST_VDUP(vector2, , uint, u, 32, 2, 8); + VDUP(vector2, , int, s, 8, 8, 1); + VDUP(vector2, , int, s, 16, 4, -13); + VDUP(vector2, , int, s, 32, 2, 8); + VDUP(vector2, , uint, u, 8, 8, 1); + VDUP(vector2, , uint, u, 16, 4, 13); + VDUP(vector2, , uint, u, 32, 2, 8); /* Choose init value arbitrarily */ - TEST_VDUP(vector3, , int, s, 8, 8, -5); - TEST_VDUP(vector3, , int, s, 16, 4, 25); - TEST_VDUP(vector3, , int, s, 32, 2, -40); - TEST_VDUP(vector3, , uint, u, 8, 8, 100); - TEST_VDUP(vector3, , uint, u, 16, 4, 2340); - TEST_VDUP(vector3, , uint, u, 32, 2, 0xffffffff); + VDUP(vector3, , int, s, 8, 8, -5); + VDUP(vector3, , int, s, 16, 4, 25); + VDUP(vector3, , int, s, 32, 2, -40); + VDUP(vector3, , uint, u, 8, 8, 100); + VDUP(vector3, , uint, u, 16, 4, 2340); + VDUP(vector3, , uint, u, 32, 2, 0xffffffff); TEST_VABAL(int, s, 8, 16, 8); TEST_VABAL(int, s, 16, 32, 4); @@ -103,19 +103,19 @@ void exec_vabal (void) /* Use values that could lead to overflow intermediate * calculations. */ - TEST_VDUP(vector2, , int, s, 8, 8, 0x80); - TEST_VDUP(vector2, , int, s, 16, 4, 0x8000); - TEST_VDUP(vector2, , int, s, 32, 2, 0x80000000); - TEST_VDUP(vector2, , uint, u, 8, 8, 1); - TEST_VDUP(vector2, , uint, u, 16, 4, 13); - TEST_VDUP(vector2, , uint, u, 32, 2, 8); - - TEST_VDUP(vector3, , int, s, 8, 8, 0x7f); - TEST_VDUP(vector3, , int, s, 16, 4, 0x7fff); - TEST_VDUP(vector3, , int, s, 32, 2, 0x7fffffff); - TEST_VDUP(vector3, , uint, u, 8, 8, 0xff); - TEST_VDUP(vector3, , uint, u, 16, 4, 0xffff); - TEST_VDUP(vector3, , uint, u, 32, 2, 0xffffffff); + VDUP(vector2, , int, s, 8, 8, 0x80); + VDUP(vector2, , int, s, 16, 4, 0x8000); + VDUP(vector2, , int, s, 32, 2, 0x80000000); + VDUP(vector2, , uint, u, 8, 8, 1); + VDUP(vector2, , uint, u, 16, 4, 13); + VDUP(vector2, , uint, u, 32, 2, 8); + + VDUP(vector3, , int, s, 8, 8, 0x7f); + VDUP(vector3, , int, s, 16, 4, 0x7fff); + VDUP(vector3, , int, s, 32, 2, 0x7fffffff); + VDUP(vector3, , uint, u, 8, 8, 0xff); + VDUP(vector3, , uint, u, 16, 4, 0xffff); + VDUP(vector3, , uint, u, 32, 2, 0xffffffff); TEST_VABAL(int, s, 8, 16, 8); TEST_VABAL(int, s, 16, 32, 4); diff --git a/ref_vabd.c b/ref_vabd.c index 9b3fa57..ef843e5 100644 --- a/ref_vabd.c +++ b/ref_vabd.c @@ -69,36 +69,36 @@ void exec_vabd (void) clean_results (); /* Initialize input "vector" from "buffer" */ - TEST_VLOAD(vector1, buffer, , int, s, 8, 8); - TEST_VLOAD(vector1, buffer, , int, s, 16, 4); - TEST_VLOAD(vector1, buffer, , int, s, 32, 2); - TEST_VLOAD(vector1, buffer, , uint, u, 8, 8); - TEST_VLOAD(vector1, buffer, , uint, u, 16, 4); - TEST_VLOAD(vector1, buffer, , uint, u, 32, 2); - TEST_VLOAD(vector1, buffer, , float, f, 32, 2); - TEST_VLOAD(vector1, buffer, q, int, s, 8, 16); - TEST_VLOAD(vector1, buffer, q, int, s, 16, 8); - TEST_VLOAD(vector1, buffer, q, int, s, 32, 4); - TEST_VLOAD(vector1, buffer, q, uint, u, 8, 16); - TEST_VLOAD(vector1, buffer, q, uint, u, 16, 8); - TEST_VLOAD(vector1, buffer, q, uint, u, 32, 4); - TEST_VLOAD(vector1, buffer, q, float, f, 32, 4); + VLOAD(vector1, buffer, , int, s, 8, 8); + VLOAD(vector1, buffer, , int, s, 16, 4); + VLOAD(vector1, buffer, , int, s, 32, 2); + VLOAD(vector1, buffer, , uint, u, 8, 8); + VLOAD(vector1, buffer, , uint, u, 16, 4); + VLOAD(vector1, buffer, , uint, u, 32, 2); + VLOAD(vector1, buffer, , float, f, 32, 2); + VLOAD(vector1, buffer, q, int, s, 8, 16); + VLOAD(vector1, buffer, q, int, s, 16, 8); + VLOAD(vector1, buffer, q, int, s, 32, 4); + VLOAD(vector1, buffer, q, uint, u, 8, 16); + VLOAD(vector1, buffer, q, uint, u, 16, 8); + VLOAD(vector1, buffer, q, uint, u, 32, 4); + VLOAD(vector1, buffer, q, float, f, 32, 4); /* Choose init value arbitrarily */ - TEST_VDUP(vector2, , int, s, 8, 8, 1); - TEST_VDUP(vector2, , int, s, 16, 4, -13); - TEST_VDUP(vector2, , int, s, 32, 2, 8); - TEST_VDUP(vector2, , uint, u, 8, 8, 1); - TEST_VDUP(vector2, , uint, u, 16, 4, 13); - TEST_VDUP(vector2, , uint, u, 32, 2, 8); - TEST_VDUP(vector2, , float, f, 32, 2, 8.3f); - TEST_VDUP(vector2, q, int, s, 8, 16, 10); - TEST_VDUP(vector2, q, int, s, 16, 8, -12); - TEST_VDUP(vector2, q, int, s, 32, 4, 32); - TEST_VDUP(vector2, q, uint, u, 8, 16, 10); - TEST_VDUP(vector2, q, uint, u, 16, 8, 12); - TEST_VDUP(vector2, q, uint, u, 32, 4, 32); - TEST_VDUP(vector2, q, float, f, 32, 4, 32.12f); + VDUP(vector2, , int, s, 8, 8, 1); + VDUP(vector2, , int, s, 16, 4, -13); + VDUP(vector2, , int, s, 32, 2, 8); + VDUP(vector2, , uint, u, 8, 8, 1); + VDUP(vector2, , uint, u, 16, 4, 13); + VDUP(vector2, , uint, u, 32, 2, 8); + VDUP(vector2, , float, f, 32, 2, 8.3f); + VDUP(vector2, q, int, s, 8, 16, 10); + VDUP(vector2, q, int, s, 16, 8, -12); + VDUP(vector2, q, int, s, 32, 4, 32); + VDUP(vector2, q, uint, u, 8, 16, 10); + VDUP(vector2, q, uint, u, 16, 8, 12); + VDUP(vector2, q, uint, u, 32, 4, 32); + VDUP(vector2, q, float, f, 32, 4, 32.12f); TEST_VABD(, int, s, 8, 8); TEST_VABD(, int, s, 16, 4); @@ -119,15 +119,15 @@ void exec_vabd (void) /* Extra FP tests with special values (-0.0, ....) */ - TEST_VDUP(vector1, q, float, f, 32, 4, -0.0f); - TEST_VDUP(vector2, q, float, f, 32, 4, 0.0); + VDUP(vector1, q, float, f, 32, 4, -0.0f); + VDUP(vector2, q, float, f, 32, 4, 0.0); TEST_VABD(q, float, f, 32, 4); DUMP_FP(TEST_MSG " FP special (-0.0)", float, 32, 4, PRIx32); /* Extra FP tests with special values (-0.0, ....) */ - TEST_VDUP(vector1, q, float, f, 32, 4, 0.0f); - TEST_VDUP(vector2, q, float, f, 32, 4, -0.0); + VDUP(vector1, q, float, f, 32, 4, 0.0f); + VDUP(vector2, q, float, f, 32, 4, -0.0); TEST_VABD(q, float, f, 32, 4); DUMP_FP(TEST_MSG " FP special (-0.0)", float, 32, 4, PRIx32); } diff --git a/ref_vabdl.c b/ref_vabdl.c index 96f017d..fec375e 100644 --- a/ref_vabdl.c +++ b/ref_vabdl.c @@ -66,21 +66,21 @@ void exec_vabdl (void) clean_results (); /* Initialize input "vector" from "buffer" */ - TEST_VLOAD(vector1, buffer, , int, s, 8, 8); - TEST_VLOAD(vector1, buffer, , int, s, 16, 4); - TEST_VLOAD(vector1, buffer, , int, s, 32, 2); - TEST_VLOAD(vector1, buffer, , uint, u, 8, 8); - TEST_VLOAD(vector1, buffer, , uint, u, 16, 4); - TEST_VLOAD(vector1, buffer, , uint, u, 32, 2); + VLOAD(vector1, buffer, , int, s, 8, 8); + VLOAD(vector1, buffer, , int, s, 16, 4); + VLOAD(vector1, buffer, , int, s, 32, 2); + VLOAD(vector1, buffer, , uint, u, 8, 8); + VLOAD(vector1, buffer, , uint, u, 16, 4); + VLOAD(vector1, buffer, , uint, u, 32, 2); /* Choose init value arbitrarily */ - TEST_VDUP(vector2, , int, s, 8, 8, 1); - TEST_VDUP(vector2, , int, s, 16, 4, -13); - TEST_VDUP(vector2, , int, s, 32, 2, 8); - TEST_VDUP(vector2, , uint, u, 8, 8, 1); - TEST_VDUP(vector2, , uint, u, 16, 4, 13); - TEST_VDUP(vector2, , uint, u, 32, 2, 8); + VDUP(vector2, , int, s, 8, 8, 1); + VDUP(vector2, , int, s, 16, 4, -13); + VDUP(vector2, , int, s, 32, 2, 8); + VDUP(vector2, , uint, u, 8, 8, 1); + VDUP(vector2, , uint, u, 16, 4, 13); + VDUP(vector2, , uint, u, 32, 2, 8); TEST_VABDL(int, s, 8, 16, 8); TEST_VABDL(int, s, 16, 32, 4); diff --git a/ref_vabs.c b/ref_vabs.c index 174e814..b191391 100644 --- a/ref_vabs.c +++ b/ref_vabs.c @@ -42,8 +42,8 @@ void exec_vabs_f32(void) DECL_VARIABLE(vector_res, float, 32, 2); DECL_VARIABLE(vector_res, float, 32, 4); - TEST_VDUP(vector, , float, f, 32, 2, -2.3f); - TEST_VDUP(vector, q, float, f, 32, 4, 3.4f); + VDUP(vector, , float, f, 32, 2, -2.3f); + VDUP(vector, q, float, f, 32, 4, 3.4f); TEST_UNARY_OP(INSN_NAME, , float, f, 32, 2); TEST_UNARY_OP(INSN_NAME, q, float, f, 32, 4); diff --git a/ref_vadd.c b/ref_vadd.c index b08347b..918c70f 100644 --- a/ref_vadd.c +++ b/ref_vadd.c @@ -45,11 +45,11 @@ void exec_vadd_f32(void) DECL_VARIABLE(vector_res, float, 32, 2); DECL_VARIABLE(vector_res, float, 32, 4); - TEST_VDUP(vector, , float, f, 32, 2, 2.3f); - TEST_VDUP(vector, q, float, f, 32, 4, 3.4f); + VDUP(vector, , float, f, 32, 2, 2.3f); + VDUP(vector, q, float, f, 32, 4, 3.4f); - TEST_VDUP(vector2, , float, f, 32, 2, 4.5f); - TEST_VDUP(vector2, q, float, f, 32, 4, 5.6f); + VDUP(vector2, , float, f, 32, 2, 4.5f); + VDUP(vector2, q, float, f, 32, 4, 5.6f); TEST_BINARY_OP(INSN_NAME, , float, f, 32, 2); TEST_BINARY_OP(INSN_NAME, q, float, f, 32, 4); diff --git a/ref_vaddhn.c b/ref_vaddhn.c index d1eaa7d..39c238b 100644 --- a/ref_vaddhn.c +++ b/ref_vaddhn.c @@ -69,19 +69,19 @@ FNNAME (INSN_NAME) clean_results (); /* Fill input vector1 and vector2 with arbitrary values */ - TEST_VDUP(vector1, q, int, s, 16, 8, 50*(UINT8_MAX+1)); - TEST_VDUP(vector1, q, int, s, 32, 4, 50*(UINT16_MAX+1)); - TEST_VDUP(vector1, q, int, s, 64, 2, 24*((uint64_t)UINT32_MAX+1)); - TEST_VDUP(vector1, q, uint, u, 16, 8, 3*(UINT8_MAX+1)); - TEST_VDUP(vector1, q, uint, u, 32, 4, 55*(UINT16_MAX+1)); - TEST_VDUP(vector1, q, uint, u, 64, 2, 3*((uint64_t)UINT32_MAX+1)); - - TEST_VDUP(vector2, q, int, s, 16, 8, (uint16_t)UINT8_MAX); - TEST_VDUP(vector2, q, int, s, 32, 4, (uint32_t)UINT16_MAX); - TEST_VDUP(vector2, q, int, s, 64, 2, (uint64_t)UINT32_MAX); - TEST_VDUP(vector2, q, uint, u, 16, 8, (uint16_t)UINT8_MAX); - TEST_VDUP(vector2, q, uint, u, 32, 4, (uint32_t)UINT16_MAX); - TEST_VDUP(vector2, q, uint, u, 64, 2, (uint64_t)UINT32_MAX); + VDUP(vector1, q, int, s, 16, 8, 50*(UINT8_MAX+1)); + VDUP(vector1, q, int, s, 32, 4, 50*(UINT16_MAX+1)); + VDUP(vector1, q, int, s, 64, 2, 24*((uint64_t)UINT32_MAX+1)); + VDUP(vector1, q, uint, u, 16, 8, 3*(UINT8_MAX+1)); + VDUP(vector1, q, uint, u, 32, 4, 55*(UINT16_MAX+1)); + VDUP(vector1, q, uint, u, 64, 2, 3*((uint64_t)UINT32_MAX+1)); + + VDUP(vector2, q, int, s, 16, 8, (uint16_t)UINT8_MAX); + VDUP(vector2, q, int, s, 32, 4, (uint32_t)UINT16_MAX); + VDUP(vector2, q, int, s, 64, 2, (uint64_t)UINT32_MAX); + VDUP(vector2, q, uint, u, 16, 8, (uint16_t)UINT8_MAX); + VDUP(vector2, q, uint, u, 32, 4, (uint32_t)UINT16_MAX); + VDUP(vector2, q, uint, u, 64, 2, (uint64_t)UINT32_MAX); TEST_VADDHN(INSN_NAME, int, s, 16, 8, 8); TEST_VADDHN(INSN_NAME, int, s, 32, 16, 4); diff --git a/ref_vaddl.c b/ref_vaddl.c index b29f1f8..0856433 100644 --- a/ref_vaddl.c +++ b/ref_vaddl.c @@ -77,20 +77,20 @@ FNNAME (INSN_NAME) clean_results (); /* Initialize input "vector" from "buffer" */ - TEST_VLOAD(vector, buffer, , int, s, 8, 8); - TEST_VLOAD(vector, buffer, , int, s, 16, 4); - TEST_VLOAD(vector, buffer, , int, s, 32, 2); - TEST_VLOAD(vector, buffer, , uint, u, 8, 8); - TEST_VLOAD(vector, buffer, , uint, u, 16, 4); - TEST_VLOAD(vector, buffer, , uint, u, 32, 2); + VLOAD(vector, buffer, , int, s, 8, 8); + VLOAD(vector, buffer, , int, s, 16, 4); + VLOAD(vector, buffer, , int, s, 32, 2); + VLOAD(vector, buffer, , uint, u, 8, 8); + VLOAD(vector, buffer, , uint, u, 16, 4); + VLOAD(vector, buffer, , uint, u, 32, 2); /* Choose init value arbitrarily */ - TEST_VDUP(vector2, , int, s, 8, 8, -13); - TEST_VDUP(vector2, , int, s, 16, 4, -14); - TEST_VDUP(vector2, , int, s, 32, 2, -16); - TEST_VDUP(vector2, , uint, u, 8, 8, 0xf3); - TEST_VDUP(vector2, , uint, u, 16, 4, 0xfff1); - TEST_VDUP(vector2, , uint, u, 32, 2, 0xfffffff0); + VDUP(vector2, , int, s, 8, 8, -13); + VDUP(vector2, , int, s, 16, 4, -14); + VDUP(vector2, , int, s, 32, 2, -16); + VDUP(vector2, , uint, u, 8, 8, 0xf3); + VDUP(vector2, , uint, u, 16, 4, 0xfff1); + VDUP(vector2, , uint, u, 32, 2, 0xfffffff0); TEST_VADDL(INSN_NAME, int, s, 8, 16, 8); TEST_VADDL(INSN_NAME, int, s, 16, 32, 4); diff --git a/ref_vaddw.c b/ref_vaddw.c index 6fb2d73..638785c 100644 --- a/ref_vaddw.c +++ b/ref_vaddw.c @@ -77,20 +77,20 @@ FNNAME (INSN_NAME) clean_results (); /* Initialize input "vector" from "buffer" */ - TEST_VLOAD(vector, buffer, q, int, s, 16, 8); - TEST_VLOAD(vector, buffer, q, int, s, 32, 4); - TEST_VLOAD(vector, buffer, q, int, s, 64, 2); - TEST_VLOAD(vector, buffer, q, uint, u, 16, 8); - TEST_VLOAD(vector, buffer, q, uint, u, 32, 4); - TEST_VLOAD(vector, buffer, q, uint, u, 64, 2); + VLOAD(vector, buffer, q, int, s, 16, 8); + VLOAD(vector, buffer, q, int, s, 32, 4); + VLOAD(vector, buffer, q, int, s, 64, 2); + VLOAD(vector, buffer, q, uint, u, 16, 8); + VLOAD(vector, buffer, q, uint, u, 32, 4); + VLOAD(vector, buffer, q, uint, u, 64, 2); /* Choose init value arbitrarily */ - TEST_VDUP(vector2, , int, s, 8, 8, -13); - TEST_VDUP(vector2, , int, s, 16, 4, -14); - TEST_VDUP(vector2, , int, s, 32, 2, -16); - TEST_VDUP(vector2, , uint, u, 8, 8, 0xf3); - TEST_VDUP(vector2, , uint, u, 16, 4, 0xfff1); - TEST_VDUP(vector2, , uint, u, 32, 2, 0xfffffff0); + VDUP(vector2, , int, s, 8, 8, -13); + VDUP(vector2, , int, s, 16, 4, -14); + VDUP(vector2, , int, s, 32, 2, -16); + VDUP(vector2, , uint, u, 8, 8, 0xf3); + VDUP(vector2, , uint, u, 16, 4, 0xfff1); + VDUP(vector2, , uint, u, 32, 2, 0xfffffff0); TEST_VADDW(INSN_NAME, int, s, 8, 16, 8); TEST_VADDW(INSN_NAME, int, s, 16, 32, 4); diff --git a/ref_vbsl.c b/ref_vbsl.c index ae19333..4ede2d5 100644 --- a/ref_vbsl.c +++ b/ref_vbsl.c @@ -52,45 +52,45 @@ void exec_vbsl (void) clean_results (); - TEST_MACRO_ALL_VARIANTS_2_5(TEST_VLOAD, vector, buffer); - TEST_VLOAD(vector, buffer, , float, f, 32, 2); - TEST_VLOAD(vector, buffer, q, float, f, 32, 4); + TEST_MACRO_ALL_VARIANTS_2_5(VLOAD, vector, buffer); + VLOAD(vector, buffer, , float, f, 32, 2); + VLOAD(vector, buffer, q, float, f, 32, 4); /* Choose init value arbitrarily, will be used for vector comparison. As we want different values for each type variant, we can't use generic initialization macros. */ - TEST_VDUP(vector2, , int, s, 8, 8, -10); - TEST_VDUP(vector2, , int, s, 16, 4, -14); - TEST_VDUP(vector2, , int, s, 32, 2, -30); - TEST_VDUP(vector2, , int, s, 64, 1, -33); - TEST_VDUP(vector2, , uint, u, 8, 8, 0xF3); - TEST_VDUP(vector2, , uint, u, 16, 4, 0xFFF2); - TEST_VDUP(vector2, , uint, u, 32, 2, 0xFFFFFFF0); - TEST_VDUP(vector2, , uint, u, 64, 1, 0xFFFFFFF3); - TEST_VDUP(vector2, , float, f, 32, 2, -30.3f); - TEST_VDUP(vector2, , poly, p, 8, 8, 0xF3); - TEST_VDUP(vector2, , poly, p, 16, 4, 0xFFF2); - - TEST_VDUP(vector2, q, int, s, 8, 16, -10); - TEST_VDUP(vector2, q, int, s, 16, 8, -14); - TEST_VDUP(vector2, q, int, s, 32, 4, -30); - TEST_VDUP(vector2, q, int, s, 64, 2, -33); - TEST_VDUP(vector2, q, uint, u, 8, 16, 0xF3); - TEST_VDUP(vector2, q, uint, u, 16, 8, 0xFFF2); - TEST_VDUP(vector2, q, uint, u, 32, 4, 0xFFFFFFF0); - TEST_VDUP(vector2, q, uint, u, 64, 2, 0xFFFFFFF3); - TEST_VDUP(vector2, q, poly, p, 8, 16, 0xF3); - TEST_VDUP(vector2, q, poly, p, 16, 8, 0xFFF2); - TEST_VDUP(vector2, q, float, f, 32, 4, -30.4f); - - TEST_VDUP(vector_first, , uint, u, 8, 8, 0xF4); - TEST_VDUP(vector_first, , uint, u, 16, 4, 0xFFF6); - TEST_VDUP(vector_first, , uint, u, 32, 2, 0xFFFFFFF2); - TEST_VDUP(vector_first, , uint, u, 64, 1, 0xFFFFFFF2); - TEST_VDUP(vector_first, q, uint, u, 8, 16, 0xF4); - TEST_VDUP(vector_first, q, uint, u, 16, 8, 0xFFF6); - TEST_VDUP(vector_first, q, uint, u, 32, 4, 0xFFFFFFF2); - TEST_VDUP(vector_first, q, uint, u, 64, 2, 0xFFFFFFF2); + VDUP(vector2, , int, s, 8, 8, -10); + VDUP(vector2, , int, s, 16, 4, -14); + VDUP(vector2, , int, s, 32, 2, -30); + VDUP(vector2, , int, s, 64, 1, -33); + VDUP(vector2, , uint, u, 8, 8, 0xF3); + VDUP(vector2, , uint, u, 16, 4, 0xFFF2); + VDUP(vector2, , uint, u, 32, 2, 0xFFFFFFF0); + VDUP(vector2, , uint, u, 64, 1, 0xFFFFFFF3); + VDUP(vector2, , float, f, 32, 2, -30.3f); + VDUP(vector2, , poly, p, 8, 8, 0xF3); + VDUP(vector2, , poly, p, 16, 4, 0xFFF2); + + VDUP(vector2, q, int, s, 8, 16, -10); + VDUP(vector2, q, int, s, 16, 8, -14); + VDUP(vector2, q, int, s, 32, 4, -30); + VDUP(vector2, q, int, s, 64, 2, -33); + VDUP(vector2, q, uint, u, 8, 16, 0xF3); + VDUP(vector2, q, uint, u, 16, 8, 0xFFF2); + VDUP(vector2, q, uint, u, 32, 4, 0xFFFFFFF0); + VDUP(vector2, q, uint, u, 64, 2, 0xFFFFFFF3); + VDUP(vector2, q, poly, p, 8, 16, 0xF3); + VDUP(vector2, q, poly, p, 16, 8, 0xFFF2); + VDUP(vector2, q, float, f, 32, 4, -30.4f); + + VDUP(vector_first, , uint, u, 8, 8, 0xF4); + VDUP(vector_first, , uint, u, 16, 4, 0xFFF6); + VDUP(vector_first, , uint, u, 32, 2, 0xFFFFFFF2); + VDUP(vector_first, , uint, u, 64, 1, 0xFFFFFFF2); + VDUP(vector_first, q, uint, u, 8, 16, 0xF4); + VDUP(vector_first, q, uint, u, 16, 8, 0xFFF6); + VDUP(vector_first, q, uint, u, 32, 4, 0xFFFFFFF2); + VDUP(vector_first, q, uint, u, 64, 2, 0xFFFFFFF2); TEST_MACRO_ALL_VARIANTS_1_5(TEST_VBSL, uint); TEST_VBSL(uint, , poly, p, 8, 8); diff --git a/ref_vceq.c b/ref_vceq.c index 88d4491..30d8aba 100644 --- a/ref_vceq.c +++ b/ref_vceq.c @@ -47,11 +47,11 @@ void exec_vceq_p8(void) clean_results (); - TEST_VLOAD(vector, buffer, , poly, p, 8, 8); - TEST_VLOAD(vector, buffer, q, poly, p, 8, 16); + VLOAD(vector, buffer, , poly, p, 8, 8); + VLOAD(vector, buffer, q, poly, p, 8, 16); - TEST_VDUP(vector2, , poly, p, 8, 8, 0xF3); - TEST_VDUP(vector2, q, poly, p, 8, 16, 0xF4); + VDUP(vector2, , poly, p, 8, 8, 0xF3); + VDUP(vector2, q, poly, p, 8, 16, 0xF4); fprintf(ref_file, "\n%s output:\n", TEST_MSG " p8"); TEST_VCOMP(INSN_NAME, , poly, p, uint, 8, 8); diff --git a/ref_vcls.c b/ref_vcls.c index 7951474..e3efd64 100644 --- a/ref_vcls.c +++ b/ref_vcls.c @@ -69,12 +69,12 @@ FNNAME (INSN_NAME) clean_results (); /* Fill input vector with arbitrary values */ - TEST_VDUP(vector, , int, s, 8, 8, 0x1); - TEST_VDUP(vector, , int, s, 16, 4, 0x1234); - TEST_VDUP(vector, , int, s, 32, 2, 0x34); - TEST_VDUP(vector, q, int, s, 8, 16, 0); - TEST_VDUP(vector, q, int, s, 16, 8, 0x1234); - TEST_VDUP(vector, q, int, s, 32, 4, 0x678); + VDUP(vector, , int, s, 8, 8, 0x1); + VDUP(vector, , int, s, 16, 4, 0x1234); + VDUP(vector, , int, s, 32, 2, 0x34); + VDUP(vector, q, int, s, 8, 16, 0); + VDUP(vector, q, int, s, 16, 8, 0x1234); + VDUP(vector, q, int, s, 32, 4, 0x678); /* Apply a unary operator named INSN_NAME */ TEST_UNARY_OP(INSN_NAME, , int, s, 8, 8); @@ -88,12 +88,12 @@ FNNAME (INSN_NAME) /* Fill input vector with arbitrary values (negative) */ - TEST_VDUP(vector, , int, s, 8, 8, 0xFF); - TEST_VDUP(vector, , int, s, 16, 4, 0xC234); - TEST_VDUP(vector, , int, s, 32, 2, 0xDEAD0034); - TEST_VDUP(vector, q, int, s, 8, 16, 0x80); - TEST_VDUP(vector, q, int, s, 16, 8, 0xE234); - TEST_VDUP(vector, q, int, s, 32, 4, 0xBEEF0678); + VDUP(vector, , int, s, 8, 8, 0xFF); + VDUP(vector, , int, s, 16, 4, 0xC234); + VDUP(vector, , int, s, 32, 2, 0xDEAD0034); + VDUP(vector, q, int, s, 8, 16, 0x80); + VDUP(vector, q, int, s, 16, 8, 0xE234); + VDUP(vector, q, int, s, 32, 4, 0xBEEF0678); /* Apply a unary operator named INSN_NAME */ TEST_UNARY_OP(INSN_NAME, , int, s, 8, 8); diff --git a/ref_vclz.c b/ref_vclz.c index 98515cf..aaa799f 100644 --- a/ref_vclz.c +++ b/ref_vclz.c @@ -81,18 +81,18 @@ FNNAME (INSN_NAME) clean_results (); /* Fill input vector with arbitrary values */ - TEST_VDUP(vector, , int, s, 8, 8, 0x84); - TEST_VDUP(vector, , int, s, 16, 4, 0x1234); - TEST_VDUP(vector, , int, s, 32, 2, 0x5678); - TEST_VDUP(vector, , uint, u, 8, 8, 0x34); - TEST_VDUP(vector, , uint, u, 16, 4, 0x8234); - TEST_VDUP(vector, , uint, u, 32, 2, 0x7654321); - TEST_VDUP(vector, q, int, s, 8, 16, 0x34); - TEST_VDUP(vector, q, int, s, 16, 8, 0x1234); - TEST_VDUP(vector, q, int, s, 32, 4, 0x12345678); - TEST_VDUP(vector, q, uint, u, 8, 16, 0x13); - TEST_VDUP(vector, q, uint, u, 16, 8, 0x4); - TEST_VDUP(vector, q, uint, u, 32, 4, 0x1); + VDUP(vector, , int, s, 8, 8, 0x84); + VDUP(vector, , int, s, 16, 4, 0x1234); + VDUP(vector, , int, s, 32, 2, 0x5678); + VDUP(vector, , uint, u, 8, 8, 0x34); + VDUP(vector, , uint, u, 16, 4, 0x8234); + VDUP(vector, , uint, u, 32, 2, 0x7654321); + VDUP(vector, q, int, s, 8, 16, 0x34); + VDUP(vector, q, int, s, 16, 8, 0x1234); + VDUP(vector, q, int, s, 32, 4, 0x12345678); + VDUP(vector, q, uint, u, 8, 16, 0x13); + VDUP(vector, q, uint, u, 16, 8, 0x4); + VDUP(vector, q, uint, u, 32, 4, 0x1); /* Apply a unary operator named INSN_NAME */ TEST_UNARY_OP(INSN_NAME, , int, s, 8, 8); @@ -111,18 +111,18 @@ FNNAME (INSN_NAME) dump_results_hex (TEST_MSG); /* Test with zero as input. */ - TEST_VDUP(vector, , int, s, 8, 8, 0); - TEST_VDUP(vector, , int, s, 16, 4, 0); - TEST_VDUP(vector, , int, s, 32, 2, 0); - TEST_VDUP(vector, , uint, u, 8, 8, 0); - TEST_VDUP(vector, , uint, u, 16, 4, 0); - TEST_VDUP(vector, , uint, u, 32, 2, 0); - TEST_VDUP(vector, q, int, s, 8, 16, 0); - TEST_VDUP(vector, q, int, s, 16, 8, 0); - TEST_VDUP(vector, q, int, s, 32, 4, 0); - TEST_VDUP(vector, q, uint, u, 8, 16, 0); - TEST_VDUP(vector, q, uint, u, 16, 8, 0); - TEST_VDUP(vector, q, uint, u, 32, 4, 0); + VDUP(vector, , int, s, 8, 8, 0); + VDUP(vector, , int, s, 16, 4, 0); + VDUP(vector, , int, s, 32, 2, 0); + VDUP(vector, , uint, u, 8, 8, 0); + VDUP(vector, , uint, u, 16, 4, 0); + VDUP(vector, , uint, u, 32, 2, 0); + VDUP(vector, q, int, s, 8, 16, 0); + VDUP(vector, q, int, s, 16, 8, 0); + VDUP(vector, q, int, s, 32, 4, 0); + VDUP(vector, q, uint, u, 8, 16, 0); + VDUP(vector, q, uint, u, 16, 8, 0); + VDUP(vector, q, uint, u, 32, 4, 0); /* Apply a unary operator named INSN_NAME */ TEST_UNARY_OP(INSN_NAME, , int, s, 8, 8); diff --git a/ref_vcnt.c b/ref_vcnt.c index 639fbc5..e781760 100644 --- a/ref_vcnt.c +++ b/ref_vcnt.c @@ -69,12 +69,12 @@ FNNAME (INSN_NAME) clean_results (); /* Fill input vector with arbitrary values */ - TEST_VDUP(vector, , int, s, 8, 8, 0xFF); - TEST_VDUP(vector, , uint, u, 8, 8, 0x35); - TEST_VDUP(vector, , poly, p, 8, 8, 0x35); - TEST_VDUP(vector, q, int, s, 8, 16, 0); - TEST_VDUP(vector, q, uint, u, 8, 16, 0xBD); - TEST_VDUP(vector, q, poly, p, 8, 16, 0xBD); + VDUP(vector, , int, s, 8, 8, 0xFF); + VDUP(vector, , uint, u, 8, 8, 0x35); + VDUP(vector, , poly, p, 8, 8, 0x35); + VDUP(vector, q, int, s, 8, 16, 0); + VDUP(vector, q, uint, u, 8, 16, 0xBD); + VDUP(vector, q, poly, p, 8, 16, 0xBD); /* Apply a unary operator named INSN_NAME */ TEST_UNARY_OP(INSN_NAME, , int, s, 8, 8); diff --git a/ref_vcombine.c b/ref_vcombine.c index 570c2c5..6cca113 100644 --- a/ref_vcombine.c +++ b/ref_vcombine.c @@ -53,28 +53,28 @@ void exec_vcombine (void) DECL_VARIABLE(vector128, float, 16, 8); #endif - TEST_MACRO_64BITS_VARIANTS_2_5(TEST_VLOAD, vector64_a, buffer); - TEST_VLOAD(vector64_a, buffer, , float, f, 32, 2); + TEST_MACRO_64BITS_VARIANTS_2_5(VLOAD, vector64_a, buffer); + VLOAD(vector64_a, buffer, , float, f, 32, 2); #if defined(__ARM_FP16_FORMAT_IEEE) - TEST_VLOAD(vector64_a, buffer, , float, f, 16, 4); + VLOAD(vector64_a, buffer, , float, f, 16, 4); #endif - TEST_VDUP(vector64_b, , int, s, 8, 8, 0x11); - TEST_VDUP(vector64_b, , int, s, 16, 4, 0x22); - TEST_VDUP(vector64_b, , int, s, 32, 2, 0x33); - TEST_VDUP(vector64_b, , int, s, 64, 1, 0x44); - TEST_VDUP(vector64_b, , uint, u, 8, 8, 0x55); - TEST_VDUP(vector64_b, , uint, u, 16, 4, 0x66); - TEST_VDUP(vector64_b, , uint, u, 32, 2, 0x77); - TEST_VDUP(vector64_b, , uint, u, 64, 1, 0x88); - TEST_VDUP(vector64_b, , poly, p, 8, 8, 0x55); - TEST_VDUP(vector64_b, , poly, p, 16, 4, 0x66); - TEST_VDUP(vector64_b, , float, f, 32, 2, 3.3f); + VDUP(vector64_b, , int, s, 8, 8, 0x11); + VDUP(vector64_b, , int, s, 16, 4, 0x22); + VDUP(vector64_b, , int, s, 32, 2, 0x33); + VDUP(vector64_b, , int, s, 64, 1, 0x44); + VDUP(vector64_b, , uint, u, 8, 8, 0x55); + VDUP(vector64_b, , uint, u, 16, 4, 0x66); + VDUP(vector64_b, , uint, u, 32, 2, 0x77); + VDUP(vector64_b, , uint, u, 64, 1, 0x88); + VDUP(vector64_b, , poly, p, 8, 8, 0x55); + VDUP(vector64_b, , poly, p, 16, 4, 0x66); + VDUP(vector64_b, , float, f, 32, 2, 3.3f); #if defined(__ARM_FP16_FORMAT_IEEE) /* There is no vdup_n_f16, so we need another initialization method. */ - TEST_VDUP(vector64_b_init, , uint, u, 16, 4, 0x4b80 /* 15 */); + VDUP(vector64_b_init, , uint, u, 16, 4, 0x4b80 /* 15 */); VECT_VAR(vector64_b, float, 16, 4) = vreinterpret_f16_u16(VECT_VAR(vector64_b_init, uint, 16, 4)); #endif diff --git a/ref_vcvt.c b/ref_vcvt.c index 94a570f..12216d7 100644 --- a/ref_vcvt.c +++ b/ref_vcvt.c @@ -99,12 +99,12 @@ void exec_vcvt (void) /* Initialize input "vector" from "buffer" */ - TEST_MACRO_ALL_VARIANTS_2_5(TEST_VLOAD, vector, buffer); - TEST_VLOAD(vector, buffer, , float, f, 32, 2); - TEST_VLOAD(vector, buffer, q, float, f, 32, 4); + TEST_MACRO_ALL_VARIANTS_2_5(VLOAD, vector, buffer); + VLOAD(vector, buffer, , float, f, 32, 2); + VLOAD(vector, buffer, q, float, f, 32, 4); #if defined(__ARM_FP16_FORMAT_IEEE) - TEST_VLOAD(vector, buffer, , float, f, 16, 4); - TEST_VLOAD(vector, buffer, q, float, f, 16, 8); + VLOAD(vector, buffer, , float, f, 16, 4); + VLOAD(vector, buffer, q, float, f, 16, 8); #endif /* Make sure some elements have a fractional part, to exercise @@ -187,8 +187,8 @@ void exec_vcvt (void) #undef TEST_MSG #define TEST_MSG "VCVT/VCVTQ" fprintf(ref_file, "\n%s output:\n", TEST_MSG " (check rounding)"); - TEST_VDUP(vector, , float, f, 32, 2, 10.4f); - TEST_VDUP(vector, q, float, f, 32, 4, 125.9f); + VDUP(vector, , float, f, 32, 2, 10.4f); + VDUP(vector, q, float, f, 32, 4, 125.9f); /* vcvt_xx_f32 */ TEST_VCVT(, int, s, 32, 2, float, f); TEST_VCVT(, uint, u, 32, 2, float, f); diff --git a/ref_vdup.c b/ref_vdup.c index a5f6282..286a8ae 100644 --- a/ref_vdup.c +++ b/ref_vdup.c @@ -37,7 +37,6 @@ void exec_vdup (void) int i; /* Basic test: vec=vdup(x), then store the result. */ -#undef TEST_VDUP #define TEST_VDUP(Q, T1, T2, W, N) \ VECT_VAR(vector, T1, W, N) = \ vdup##Q##_n_##T2##W(VECT_VAR(buffer_dup, T1, W, N)[i]); \ diff --git a/ref_vdup_lane.c b/ref_vdup_lane.c index 3b3abdd..302fd37 100644 --- a/ref_vdup_lane.c +++ b/ref_vdup_lane.c @@ -49,8 +49,8 @@ void exec_vdup_lane (void) clean_results (); - TEST_MACRO_64BITS_VARIANTS_2_5(TEST_VLOAD, vector, buffer); - TEST_VLOAD(vector, buffer, , float, f, 32, 2); + TEST_MACRO_64BITS_VARIANTS_2_5(VLOAD, vector, buffer); + VLOAD(vector, buffer, , float, f, 32, 2); /* Choose lane arbitrarily */ TEST_VDUP_LANE(, int, s, 8, 8, 8, 1); diff --git a/ref_vext.c b/ref_vext.c index bc0a480..32e84ec 100644 --- a/ref_vext.c +++ b/ref_vext.c @@ -50,34 +50,34 @@ void exec_vext (void) clean_results (); - TEST_MACRO_ALL_VARIANTS_2_5(TEST_VLOAD, vector1, buffer); - TEST_VLOAD(vector1, buffer, , float, f, 32, 2); - TEST_VLOAD(vector1, buffer, q, float, f, 32, 4); + TEST_MACRO_ALL_VARIANTS_2_5(VLOAD, vector1, buffer); + VLOAD(vector1, buffer, , float, f, 32, 2); + VLOAD(vector1, buffer, q, float, f, 32, 4); /* Choose arbitrary initialization values */ - TEST_VDUP(vector2, , int, s, 8, 8, 0x11); - TEST_VDUP(vector2, , int, s, 16, 4, 0x22); - TEST_VDUP(vector2, , int, s, 32, 2, 0x33); - TEST_VDUP(vector2, , int, s, 64, 1, 0x44); - TEST_VDUP(vector2, , uint, u, 8, 8, 0x55); - TEST_VDUP(vector2, , uint, u, 16, 4, 0x66); - TEST_VDUP(vector2, , uint, u, 32, 2, 0x77); - TEST_VDUP(vector2, , uint, u, 64, 1, 0x88); - TEST_VDUP(vector2, , poly, p, 8, 8, 0x55); - TEST_VDUP(vector2, , poly, p, 16, 4, 0x66); - TEST_VDUP(vector2, , float, f, 32, 2, 33.6f); - - TEST_VDUP(vector2, q, int, s, 8, 16, 0x11); - TEST_VDUP(vector2, q, int, s, 16, 8, 0x22); - TEST_VDUP(vector2, q, int, s, 32, 4, 0x33); - TEST_VDUP(vector2, q, int, s, 64, 2, 0x44); - TEST_VDUP(vector2, q, uint, u, 8, 16, 0x55); - TEST_VDUP(vector2, q, uint, u, 16, 8, 0x66); - TEST_VDUP(vector2, q, uint, u, 32, 4, 0x77); - TEST_VDUP(vector2, q, uint, u, 64, 2, 0x88); - TEST_VDUP(vector2, q, poly, p, 8, 16, 0x55); - TEST_VDUP(vector2, q, poly, p, 16, 8, 0x66); - TEST_VDUP(vector2, q, float, f, 32, 4, 33.2f); + VDUP(vector2, , int, s, 8, 8, 0x11); + VDUP(vector2, , int, s, 16, 4, 0x22); + VDUP(vector2, , int, s, 32, 2, 0x33); + VDUP(vector2, , int, s, 64, 1, 0x44); + VDUP(vector2, , uint, u, 8, 8, 0x55); + VDUP(vector2, , uint, u, 16, 4, 0x66); + VDUP(vector2, , uint, u, 32, 2, 0x77); + VDUP(vector2, , uint, u, 64, 1, 0x88); + VDUP(vector2, , poly, p, 8, 8, 0x55); + VDUP(vector2, , poly, p, 16, 4, 0x66); + VDUP(vector2, , float, f, 32, 2, 33.6f); + + VDUP(vector2, q, int, s, 8, 16, 0x11); + VDUP(vector2, q, int, s, 16, 8, 0x22); + VDUP(vector2, q, int, s, 32, 4, 0x33); + VDUP(vector2, q, int, s, 64, 2, 0x44); + VDUP(vector2, q, uint, u, 8, 16, 0x55); + VDUP(vector2, q, uint, u, 16, 8, 0x66); + VDUP(vector2, q, uint, u, 32, 4, 0x77); + VDUP(vector2, q, uint, u, 64, 2, 0x88); + VDUP(vector2, q, poly, p, 8, 16, 0x55); + VDUP(vector2, q, poly, p, 16, 8, 0x66); + VDUP(vector2, q, float, f, 32, 4, 33.2f); /* Choose arbitrary extract offsets */ TEST_VEXT(, int, s, 8, 8, 7); diff --git a/ref_vget_high.c b/ref_vget_high.c index e067f7b..a30ea89 100644 --- a/ref_vget_high.c +++ b/ref_vget_high.c @@ -49,10 +49,10 @@ void exec_vget_high (void) DECL_VARIABLE(vector128, float, 16, 8); #endif - TEST_MACRO_128BITS_VARIANTS_2_5(TEST_VLOAD, vector128, buffer); - TEST_VLOAD(vector128, buffer, q, float, f, 32, 4); + TEST_MACRO_128BITS_VARIANTS_2_5(VLOAD, vector128, buffer); + VLOAD(vector128, buffer, q, float, f, 32, 4); #if defined(__ARM_FP16_FORMAT_IEEE) - TEST_VLOAD(vector128, buffer, q, float, f, 16, 8); + VLOAD(vector128, buffer, q, float, f, 16, 8); #endif clean_results (); diff --git a/ref_vget_lane.c b/ref_vget_lane.c index c41d285..0789d24 100644 --- a/ref_vget_lane.c +++ b/ref_vget_lane.c @@ -74,9 +74,9 @@ void exec_vget_lane (void) clean_results (); - TEST_MACRO_ALL_VARIANTS_2_5(TEST_VLOAD, vector, buffer); - TEST_VLOAD(vector, buffer, , float, f, 32, 2); - TEST_VLOAD(vector, buffer, q, float, f, 32, 4); + TEST_MACRO_ALL_VARIANTS_2_5(VLOAD, vector, buffer); + VLOAD(vector, buffer, , float, f, 32, 2); + VLOAD(vector, buffer, q, float, f, 32, 4); fprintf(ref_file, "\n%s output:\n", "VGET_LANE/VGETQ_LANE"); diff --git a/ref_vget_low.c b/ref_vget_low.c index 07ee684..c724fcb 100644 --- a/ref_vget_low.c +++ b/ref_vget_low.c @@ -49,10 +49,10 @@ void exec_vget_low (void) DECL_VARIABLE(vector128, float, 16, 8); #endif - TEST_MACRO_128BITS_VARIANTS_2_5(TEST_VLOAD, vector128, buffer); - TEST_VLOAD(vector128, buffer, q, float, f, 32, 4); + TEST_MACRO_128BITS_VARIANTS_2_5(VLOAD, vector128, buffer); + VLOAD(vector128, buffer, q, float, f, 32, 4); #if defined(__ARM_FP16_FORMAT_IEEE) - TEST_VLOAD(vector128, buffer, q, float, f, 16, 8); + VLOAD(vector128, buffer, q, float, f, 16, 8); #endif clean_results (); diff --git a/ref_vmax.c b/ref_vmax.c index b9e4355..d0086e5 100644 --- a/ref_vmax.c +++ b/ref_vmax.c @@ -65,28 +65,28 @@ FNNAME (INSN_NAME) clean_results (); /* Initialize input "vector" from "buffer" */ - TEST_MACRO_ALL_VARIANTS_2_5(TEST_VLOAD, vector, buffer); + TEST_MACRO_ALL_VARIANTS_2_5(VLOAD, vector, buffer); #ifndef NO_FLOAT_VARIANT - TEST_VLOAD(vector, buffer, , float, f, 32, 2); - TEST_VLOAD(vector, buffer, q, float, f, 32, 4); + VLOAD(vector, buffer, , float, f, 32, 2); + VLOAD(vector, buffer, q, float, f, 32, 4); #endif /* Choose init value arbitrarily, will be used as comparison value */ - TEST_VDUP(vector2, , int, s, 8, 8, -13); - TEST_VDUP(vector2, , int, s, 16, 4, -14); - TEST_VDUP(vector2, , int, s, 32, 2, -16); - TEST_VDUP(vector2, , uint, u, 8, 8, 0xf3); - TEST_VDUP(vector2, , uint, u, 16, 4, 0xfff1); - TEST_VDUP(vector2, , uint, u, 32, 2, 0xfffffff0); - TEST_VDUP(vector2, q, int, s, 8, 16, -12); - TEST_VDUP(vector2, q, int, s, 16, 8, -13); - TEST_VDUP(vector2, q, int, s, 32, 4, -15); - TEST_VDUP(vector2, q, uint, u, 8, 16, 0xf9); - TEST_VDUP(vector2, q, uint, u, 16, 8, 0xfff2); - TEST_VDUP(vector2, q, uint, u, 32, 4, 0xfffffff1); + VDUP(vector2, , int, s, 8, 8, -13); + VDUP(vector2, , int, s, 16, 4, -14); + VDUP(vector2, , int, s, 32, 2, -16); + VDUP(vector2, , uint, u, 8, 8, 0xf3); + VDUP(vector2, , uint, u, 16, 4, 0xfff1); + VDUP(vector2, , uint, u, 32, 2, 0xfffffff0); + VDUP(vector2, q, int, s, 8, 16, -12); + VDUP(vector2, q, int, s, 16, 8, -13); + VDUP(vector2, q, int, s, 32, 4, -15); + VDUP(vector2, q, uint, u, 8, 16, 0xf9); + VDUP(vector2, q, uint, u, 16, 8, 0xfff2); + VDUP(vector2, q, uint, u, 32, 4, 0xfffffff1); #ifndef NO_FLOAT_VARIANT - TEST_VDUP(vector2, , float, f, 32, 2, -15.5f); - TEST_VDUP(vector2, q, float, f, 32, 4, -14.5f); + VDUP(vector2, , float, f, 32, 2, -15.5f); + VDUP(vector2, q, float, f, 32, 4, -14.5f); #endif #ifndef NO_FLOAT_VARIANT @@ -120,33 +120,33 @@ FNNAME (INSN_NAME) #ifndef NO_FLOAT_VARIANT /* Extra FP tests with special values (NaN, ....) */ - TEST_VDUP(vector, q, float, f, 32, 4, 1.0f); - TEST_VDUP(vector2, q, float, f, 32, 4, NAN); + VDUP(vector, q, float, f, 32, 4, 1.0f); + VDUP(vector2, q, float, f, 32, 4, NAN); TEST_BINARY_OP(INSN_NAME, q, float, f, 32, 4); DUMP_FP(TEST_MSG " FP special (NaN)", float, 32, 4, PRIx32); - TEST_VDUP(vector, q, float, f, 32, 4, -NAN); - TEST_VDUP(vector2, q, float, f, 32, 4, 1.0f); + VDUP(vector, q, float, f, 32, 4, -NAN); + VDUP(vector2, q, float, f, 32, 4, 1.0f); TEST_BINARY_OP(INSN_NAME, q, float, f, 32, 4); DUMP_FP(TEST_MSG " FP special (-NaN)", float, 32, 4, PRIx32); - TEST_VDUP(vector, q, float, f, 32, 4, 1.0f); - TEST_VDUP(vector2, q, float, f, 32, 4, HUGE_VALF); + VDUP(vector, q, float, f, 32, 4, 1.0f); + VDUP(vector2, q, float, f, 32, 4, HUGE_VALF); TEST_BINARY_OP(INSN_NAME, q, float, f, 32, 4); DUMP_FP(TEST_MSG " FP special (inf)", float, 32, 4, PRIx32); - TEST_VDUP(vector, q, float, f, 32, 4, -HUGE_VALF); - TEST_VDUP(vector2, q, float, f, 32, 4, 1.0f); + VDUP(vector, q, float, f, 32, 4, -HUGE_VALF); + VDUP(vector2, q, float, f, 32, 4, 1.0f); TEST_BINARY_OP(INSN_NAME, q, float, f, 32, 4); DUMP_FP(TEST_MSG " FP special (-inf)", float, 32, 4, PRIx32); - TEST_VDUP(vector, q, float, f, 32, 4, 0.0f); - TEST_VDUP(vector2, q, float, f, 32, 4, -0.0f); + VDUP(vector, q, float, f, 32, 4, 0.0f); + VDUP(vector2, q, float, f, 32, 4, -0.0f); TEST_BINARY_OP(INSN_NAME, q, float, f, 32, 4); DUMP_FP(TEST_MSG " FP special (-0.0)", float, 32, 4, PRIx32); - TEST_VDUP(vector, q, float, f, 32, 4, -0.0f); - TEST_VDUP(vector2, q, float, f, 32, 4, 0.0f); + VDUP(vector, q, float, f, 32, 4, -0.0f); + VDUP(vector2, q, float, f, 32, 4, 0.0f); TEST_BINARY_OP(INSN_NAME, q, float, f, 32, 4); DUMP_FP(TEST_MSG " FP special (-0.0)", float, 32, 4, PRIx32); #endif diff --git a/ref_vmla.c b/ref_vmla.c index 24ab450..fd4106b 100644 --- a/ref_vmla.c +++ b/ref_vmla.c @@ -80,50 +80,50 @@ FNNAME (INSN_NAME) clean_results (); - TEST_VLOAD(vector1, buffer, , int, s, 8, 8); - TEST_VLOAD(vector1, buffer, , int, s, 16, 4); - TEST_VLOAD(vector1, buffer, , int, s, 32, 2); - TEST_VLOAD(vector1, buffer, , uint, u, 8, 8); - TEST_VLOAD(vector1, buffer, , uint, u, 16, 4); - TEST_VLOAD(vector1, buffer, , uint, u, 32, 2); - TEST_VLOAD(vector1, buffer, , float, f, 32, 2); - TEST_VLOAD(vector1, buffer, q, int, s, 8, 16); - TEST_VLOAD(vector1, buffer, q, int, s, 16, 8); - TEST_VLOAD(vector1, buffer, q, int, s, 32, 4); - TEST_VLOAD(vector1, buffer, q, uint, u, 8, 16); - TEST_VLOAD(vector1, buffer, q, uint, u, 16, 8); - TEST_VLOAD(vector1, buffer, q, uint, u, 32, 4); - TEST_VLOAD(vector1, buffer, q, float, f, 32, 4); - - TEST_VDUP(vector2, , int, s, 8, 8, 0x11); - TEST_VDUP(vector2, , int, s, 16, 4, 0x22); - TEST_VDUP(vector2, , int, s, 32, 2, 0x33); - TEST_VDUP(vector2, , uint, u, 8, 8, 0x44); - TEST_VDUP(vector2, , uint, u, 16, 4, 0x55); - TEST_VDUP(vector2, , uint, u, 32, 2, 0x66); - TEST_VDUP(vector2, , float, f, 32, 2, 33.1f); - TEST_VDUP(vector2, q, int, s, 8, 16, 0x77); - TEST_VDUP(vector2, q, int, s, 16, 8, 0x88); - TEST_VDUP(vector2, q, int, s, 32, 4, 0x99); - TEST_VDUP(vector2, q, uint, u, 8, 16, 0xAA); - TEST_VDUP(vector2, q, uint, u, 16, 8, 0xBB); - TEST_VDUP(vector2, q, uint, u, 32, 4, 0xCC); - TEST_VDUP(vector2, q, float, f, 32, 4, 99.2f); - - TEST_VDUP(vector3, , int, s, 8, 8, 0xFF); - TEST_VDUP(vector3, , int, s, 16, 4, 0xEE); - TEST_VDUP(vector3, , int, s, 32, 2, 0xDD); - TEST_VDUP(vector3, , uint, u, 8, 8, 0xCC); - TEST_VDUP(vector3, , uint, u, 16, 4, 0xBB); - TEST_VDUP(vector3, , uint, u, 32, 2, 0xAA); - TEST_VDUP(vector3, , float, f, 32, 2, 10.23f); - TEST_VDUP(vector3, q, int, s, 8, 16, 0x99); - TEST_VDUP(vector3, q, int, s, 16, 8, 0x88); - TEST_VDUP(vector3, q, int, s, 32, 4, 0x77); - TEST_VDUP(vector3, q, uint, u, 8, 16, 0x66); - TEST_VDUP(vector3, q, uint, u, 16, 8, 0x55); - TEST_VDUP(vector3, q, uint, u, 32, 4, 0x44); - TEST_VDUP(vector3, q, float, f, 32, 4, 77.8f); + VLOAD(vector1, buffer, , int, s, 8, 8); + VLOAD(vector1, buffer, , int, s, 16, 4); + VLOAD(vector1, buffer, , int, s, 32, 2); + VLOAD(vector1, buffer, , uint, u, 8, 8); + VLOAD(vector1, buffer, , uint, u, 16, 4); + VLOAD(vector1, buffer, , uint, u, 32, 2); + VLOAD(vector1, buffer, , float, f, 32, 2); + VLOAD(vector1, buffer, q, int, s, 8, 16); + VLOAD(vector1, buffer, q, int, s, 16, 8); + VLOAD(vector1, buffer, q, int, s, 32, 4); + VLOAD(vector1, buffer, q, uint, u, 8, 16); + VLOAD(vector1, buffer, q, uint, u, 16, 8); + VLOAD(vector1, buffer, q, uint, u, 32, 4); + VLOAD(vector1, buffer, q, float, f, 32, 4); + + VDUP(vector2, , int, s, 8, 8, 0x11); + VDUP(vector2, , int, s, 16, 4, 0x22); + VDUP(vector2, , int, s, 32, 2, 0x33); + VDUP(vector2, , uint, u, 8, 8, 0x44); + VDUP(vector2, , uint, u, 16, 4, 0x55); + VDUP(vector2, , uint, u, 32, 2, 0x66); + VDUP(vector2, , float, f, 32, 2, 33.1f); + VDUP(vector2, q, int, s, 8, 16, 0x77); + VDUP(vector2, q, int, s, 16, 8, 0x88); + VDUP(vector2, q, int, s, 32, 4, 0x99); + VDUP(vector2, q, uint, u, 8, 16, 0xAA); + VDUP(vector2, q, uint, u, 16, 8, 0xBB); + VDUP(vector2, q, uint, u, 32, 4, 0xCC); + VDUP(vector2, q, float, f, 32, 4, 99.2f); + + VDUP(vector3, , int, s, 8, 8, 0xFF); + VDUP(vector3, , int, s, 16, 4, 0xEE); + VDUP(vector3, , int, s, 32, 2, 0xDD); + VDUP(vector3, , uint, u, 8, 8, 0xCC); + VDUP(vector3, , uint, u, 16, 4, 0xBB); + VDUP(vector3, , uint, u, 32, 2, 0xAA); + VDUP(vector3, , float, f, 32, 2, 10.23f); + VDUP(vector3, q, int, s, 8, 16, 0x99); + VDUP(vector3, q, int, s, 16, 8, 0x88); + VDUP(vector3, q, int, s, 32, 4, 0x77); + VDUP(vector3, q, uint, u, 8, 16, 0x66); + VDUP(vector3, q, uint, u, 16, 8, 0x55); + VDUP(vector3, q, uint, u, 32, 4, 0x44); + VDUP(vector3, q, float, f, 32, 4, 77.8f); TEST_VMLX(INSN_NAME, , int, s, 8, 8); TEST_VMLX(INSN_NAME, , int, s, 16, 4); diff --git a/ref_vmla_lane.c b/ref_vmla_lane.c index 6392b13..290710c 100644 --- a/ref_vmla_lane.c +++ b/ref_vmla_lane.c @@ -81,33 +81,33 @@ FNNAME (INSN_NAME) clean_results (); - TEST_VLOAD(vector, buffer, , int, s, 16, 4); - TEST_VLOAD(vector, buffer, , int, s, 32, 2); - TEST_VLOAD(vector, buffer, , uint, u, 16, 4); - TEST_VLOAD(vector, buffer, , uint, u, 32, 2); - TEST_VLOAD(vector, buffer, q, int, s, 16, 8); - TEST_VLOAD(vector, buffer, q, int, s, 32, 4); - TEST_VLOAD(vector, buffer, q, uint, u, 16, 8); - TEST_VLOAD(vector, buffer, q, uint, u, 32, 4); - TEST_VLOAD(vector, buffer, , float, f, 32, 2); - TEST_VLOAD(vector, buffer, q, float, f, 32, 4); - - TEST_VDUP(vector2, , int, s, 16, 4, 0x55); - TEST_VDUP(vector2, , int, s, 32, 2, 0x55); - TEST_VDUP(vector2, , uint, u, 16, 4, 0x55); - TEST_VDUP(vector2, , uint, u, 32, 2, 0x55); - TEST_VDUP(vector2, , float, f, 32, 2, 55.3f); - TEST_VDUP(vector2, q, int, s, 16, 8, 0x55); - TEST_VDUP(vector2, q, int, s, 32, 4, 0x55); - TEST_VDUP(vector2, q, uint, u, 16, 8, 0x55); - TEST_VDUP(vector2, q, uint, u, 32, 4, 0x55); - TEST_VDUP(vector2, q, float, f, 32, 4, 55.8f); - - TEST_VDUP(vector3, , int, s, 16, 4, 0xBB); - TEST_VDUP(vector3, , int, s, 32, 2, 0xBB); - TEST_VDUP(vector3, , uint, u, 16, 4, 0xBB); - TEST_VDUP(vector3, , uint, u, 32, 2, 0xBB); - TEST_VDUP(vector3, , float, f, 32, 2, 11.34f); + VLOAD(vector, buffer, , int, s, 16, 4); + VLOAD(vector, buffer, , int, s, 32, 2); + VLOAD(vector, buffer, , uint, u, 16, 4); + VLOAD(vector, buffer, , uint, u, 32, 2); + VLOAD(vector, buffer, q, int, s, 16, 8); + VLOAD(vector, buffer, q, int, s, 32, 4); + VLOAD(vector, buffer, q, uint, u, 16, 8); + VLOAD(vector, buffer, q, uint, u, 32, 4); + VLOAD(vector, buffer, , float, f, 32, 2); + VLOAD(vector, buffer, q, float, f, 32, 4); + + VDUP(vector2, , int, s, 16, 4, 0x55); + VDUP(vector2, , int, s, 32, 2, 0x55); + VDUP(vector2, , uint, u, 16, 4, 0x55); + VDUP(vector2, , uint, u, 32, 2, 0x55); + VDUP(vector2, , float, f, 32, 2, 55.3f); + VDUP(vector2, q, int, s, 16, 8, 0x55); + VDUP(vector2, q, int, s, 32, 4, 0x55); + VDUP(vector2, q, uint, u, 16, 8, 0x55); + VDUP(vector2, q, uint, u, 32, 4, 0x55); + VDUP(vector2, q, float, f, 32, 4, 55.8f); + + VDUP(vector3, , int, s, 16, 4, 0xBB); + VDUP(vector3, , int, s, 32, 2, 0xBB); + VDUP(vector3, , uint, u, 16, 4, 0xBB); + VDUP(vector3, , uint, u, 32, 2, 0xBB); + VDUP(vector3, , float, f, 32, 2, 11.34f); /* Choose lane arbitrarily */ TEST_VMLX_LANE(INSN_NAME, , int, s, 16, 4, 4, 2); diff --git a/ref_vmla_n.c b/ref_vmla_n.c index d67f610..9b9384f 100644 --- a/ref_vmla_n.c +++ b/ref_vmla_n.c @@ -74,27 +74,27 @@ FNNAME (INSN_NAME) clean_results (); - TEST_VLOAD(vector, buffer, , int, s, 16, 4); - TEST_VLOAD(vector, buffer, , int, s, 32, 2); - TEST_VLOAD(vector, buffer, , uint, u, 16, 4); - TEST_VLOAD(vector, buffer, , uint, u, 32, 2); - TEST_VLOAD(vector, buffer, , float, f, 32, 2); - TEST_VLOAD(vector, buffer, q, int, s, 16, 8); - TEST_VLOAD(vector, buffer, q, int, s, 32, 4); - TEST_VLOAD(vector, buffer, q, uint, u, 16, 8); - TEST_VLOAD(vector, buffer, q, uint, u, 32, 4); - TEST_VLOAD(vector, buffer, q, float, f, 32, 4); - - TEST_VDUP(vector2, , int, s, 16, 4, 0x55); - TEST_VDUP(vector2, , int, s, 32, 2, 0x55); - TEST_VDUP(vector2, , uint, u, 16, 4, 0x55); - TEST_VDUP(vector2, , uint, u, 32, 2, 0x55); - TEST_VDUP(vector2, , float, f, 32, 2, 55.2f); - TEST_VDUP(vector2, q, int, s, 16, 8, 0x55); - TEST_VDUP(vector2, q, int, s, 32, 4, 0x55); - TEST_VDUP(vector2, q, uint, u, 16, 8, 0x55); - TEST_VDUP(vector2, q, uint, u, 32, 4, 0x55); - TEST_VDUP(vector2, q, float, f, 32, 4, 55.9f); + VLOAD(vector, buffer, , int, s, 16, 4); + VLOAD(vector, buffer, , int, s, 32, 2); + VLOAD(vector, buffer, , uint, u, 16, 4); + VLOAD(vector, buffer, , uint, u, 32, 2); + VLOAD(vector, buffer, , float, f, 32, 2); + VLOAD(vector, buffer, q, int, s, 16, 8); + VLOAD(vector, buffer, q, int, s, 32, 4); + VLOAD(vector, buffer, q, uint, u, 16, 8); + VLOAD(vector, buffer, q, uint, u, 32, 4); + VLOAD(vector, buffer, q, float, f, 32, 4); + + VDUP(vector2, , int, s, 16, 4, 0x55); + VDUP(vector2, , int, s, 32, 2, 0x55); + VDUP(vector2, , uint, u, 16, 4, 0x55); + VDUP(vector2, , uint, u, 32, 2, 0x55); + VDUP(vector2, , float, f, 32, 2, 55.2f); + VDUP(vector2, q, int, s, 16, 8, 0x55); + VDUP(vector2, q, int, s, 32, 4, 0x55); + VDUP(vector2, q, uint, u, 16, 8, 0x55); + VDUP(vector2, q, uint, u, 32, 4, 0x55); + VDUP(vector2, q, float, f, 32, 4, 55.9f); /* Choose multiplier arbitrarily */ TEST_VMLX_N(INSN_NAME, , int, s, 16, 4, 0x11); diff --git a/ref_vmlal.c b/ref_vmlal.c index 68bddf6..bf0b03b 100644 --- a/ref_vmlal.c +++ b/ref_vmlal.c @@ -88,25 +88,25 @@ FNNAME (INSN_NAME) clean_results (); - TEST_VLOAD(vector, buffer, q, int, s, 16, 8); - TEST_VLOAD(vector, buffer, q, int, s, 32, 4); - TEST_VLOAD(vector, buffer, q, int, s, 64, 2); - TEST_VLOAD(vector, buffer, q, uint, u, 16, 8); - TEST_VLOAD(vector, buffer, q, uint, u, 32, 4); - TEST_VLOAD(vector, buffer, q, uint, u, 64, 2); - - TEST_VDUP(vector3, , int, s, 8, 8, 0x55); - TEST_VDUP(vector4, , int, s, 8, 8, 0xBB); - TEST_VDUP(vector3, , int, s, 16, 4, 0x55); - TEST_VDUP(vector4, , int, s, 16, 4, 0xBB); - TEST_VDUP(vector3, , int, s, 32, 2, 0x55); - TEST_VDUP(vector4, , int, s, 32, 2, 0xBB); - TEST_VDUP(vector3, , uint, u, 8, 8, 0x55); - TEST_VDUP(vector4, , uint, u, 8, 8, 0xBB); - TEST_VDUP(vector3, , uint, u, 16, 4, 0x55); - TEST_VDUP(vector4, , uint, u, 16, 4, 0xBB); - TEST_VDUP(vector3, , uint, u, 32, 2, 0x55); - TEST_VDUP(vector4, , uint, u, 32, 2, 0xBB); + VLOAD(vector, buffer, q, int, s, 16, 8); + VLOAD(vector, buffer, q, int, s, 32, 4); + VLOAD(vector, buffer, q, int, s, 64, 2); + VLOAD(vector, buffer, q, uint, u, 16, 8); + VLOAD(vector, buffer, q, uint, u, 32, 4); + VLOAD(vector, buffer, q, uint, u, 64, 2); + + VDUP(vector3, , int, s, 8, 8, 0x55); + VDUP(vector4, , int, s, 8, 8, 0xBB); + VDUP(vector3, , int, s, 16, 4, 0x55); + VDUP(vector4, , int, s, 16, 4, 0xBB); + VDUP(vector3, , int, s, 32, 2, 0x55); + VDUP(vector4, , int, s, 32, 2, 0xBB); + VDUP(vector3, , uint, u, 8, 8, 0x55); + VDUP(vector4, , uint, u, 8, 8, 0xBB); + VDUP(vector3, , uint, u, 16, 4, 0x55); + VDUP(vector4, , uint, u, 16, 4, 0xBB); + VDUP(vector3, , uint, u, 32, 2, 0x55); + VDUP(vector4, , uint, u, 32, 2, 0xBB); TEST_VMLXL(INSN_NAME, int, s, 16, 8, 8); TEST_VMLXL(INSN_NAME, int, s, 32, 16, 4); diff --git a/ref_vmlal_lane.c b/ref_vmlal_lane.c index f26adfb..c276fa8 100644 --- a/ref_vmlal_lane.c +++ b/ref_vmlal_lane.c @@ -78,19 +78,19 @@ FNNAME (INSN_NAME) clean_results (); - TEST_VLOAD(vector, buffer, q, int, s, 32, 4); - TEST_VLOAD(vector, buffer, q, int, s, 64, 2); - TEST_VLOAD(vector, buffer, q, uint, u, 32, 4); - TEST_VLOAD(vector, buffer, q, uint, u, 64, 2); - - TEST_VDUP(vector3, , int, s, 16, 4, 0x55); - TEST_VDUP(vector4, , int, s, 16, 4, 0xBB); - TEST_VDUP(vector3, , int, s, 32, 2, 0x55); - TEST_VDUP(vector4, , int, s, 32, 2, 0xBB); - TEST_VDUP(vector3, , uint, u, 16, 4, 0x55); - TEST_VDUP(vector4, , uint, u, 16, 4, 0xBB); - TEST_VDUP(vector3, , uint, u, 32, 2, 0x55); - TEST_VDUP(vector4, , uint, u, 32, 2, 0xBB); + VLOAD(vector, buffer, q, int, s, 32, 4); + VLOAD(vector, buffer, q, int, s, 64, 2); + VLOAD(vector, buffer, q, uint, u, 32, 4); + VLOAD(vector, buffer, q, uint, u, 64, 2); + + VDUP(vector3, , int, s, 16, 4, 0x55); + VDUP(vector4, , int, s, 16, 4, 0xBB); + VDUP(vector3, , int, s, 32, 2, 0x55); + VDUP(vector4, , int, s, 32, 2, 0xBB); + VDUP(vector3, , uint, u, 16, 4, 0x55); + VDUP(vector4, , uint, u, 16, 4, 0xBB); + VDUP(vector3, , uint, u, 32, 2, 0x55); + VDUP(vector4, , uint, u, 32, 2, 0xBB); TEST_VMLXL_LANE(INSN_NAME, int, s, 32, 16, 4, 2); TEST_VMLXL_LANE(INSN_NAME, int, s, 64, 32, 2, 1); diff --git a/ref_vmlal_n.c b/ref_vmlal_n.c index 5769a01..45979c7 100644 --- a/ref_vmlal_n.c +++ b/ref_vmlal_n.c @@ -72,15 +72,15 @@ FNNAME (INSN_NAME) clean_results (); - TEST_VLOAD(vector, buffer, q, int, s, 32, 4); - TEST_VLOAD(vector, buffer, q, int, s, 64, 2); - TEST_VLOAD(vector, buffer, q, uint, u, 32, 4); - TEST_VLOAD(vector, buffer, q, uint, u, 64, 2); - - TEST_VDUP(vector2, , int, s, 16, 4, 0x55); - TEST_VDUP(vector2, , int, s, 32, 2, 0x55); - TEST_VDUP(vector2, , uint, u, 16, 4, 0x55); - TEST_VDUP(vector2, , uint, u, 32, 2, 0x55); + VLOAD(vector, buffer, q, int, s, 32, 4); + VLOAD(vector, buffer, q, int, s, 64, 2); + VLOAD(vector, buffer, q, uint, u, 32, 4); + VLOAD(vector, buffer, q, uint, u, 64, 2); + + VDUP(vector2, , int, s, 16, 4, 0x55); + VDUP(vector2, , int, s, 32, 2, 0x55); + VDUP(vector2, , uint, u, 16, 4, 0x55); + VDUP(vector2, , uint, u, 32, 2, 0x55); /* Choose multiplier arbitrarily */ TEST_VMLXL_N(INSN_NAME, int, s, 32, 16, 4, 0x11); diff --git a/ref_vmovl.c b/ref_vmovl.c index 28172f9..af48791 100644 --- a/ref_vmovl.c +++ b/ref_vmovl.c @@ -45,7 +45,7 @@ void exec_vmovl (void) DECL_VARIABLE_64BITS_VARIANTS(vector64); DECL_VARIABLE_128BITS_VARIANTS(vector128); - TEST_MACRO_64BITS_VARIANTS_2_5(TEST_VLOAD, vector64, buffer); + TEST_MACRO_64BITS_VARIANTS_2_5(VLOAD, vector64, buffer); clean_results (); diff --git a/ref_vmovn.c b/ref_vmovn.c index 6d022e0..24aa0af 100644 --- a/ref_vmovn.c +++ b/ref_vmovn.c @@ -45,7 +45,7 @@ void exec_vmovn (void) DECL_VARIABLE_64BITS_VARIANTS(vector64); DECL_VARIABLE_128BITS_VARIANTS(vector128); - TEST_MACRO_128BITS_VARIANTS_2_5(TEST_VLOAD, vector128, buffer); + TEST_MACRO_128BITS_VARIANTS_2_5(VLOAD, vector128, buffer); clean_results (); diff --git a/ref_vmul.c b/ref_vmul.c index 5489c46..c7b1814 100644 --- a/ref_vmul.c +++ b/ref_vmul.c @@ -79,39 +79,39 @@ FNNAME (INSN_NAME) clean_results (); - TEST_VLOAD(vector1, buffer, , int, s, 8, 8); - TEST_VLOAD(vector1, buffer, , int, s, 16, 4); - TEST_VLOAD(vector1, buffer, , int, s, 32, 2); - TEST_VLOAD(vector1, buffer, , uint, u, 8, 8); - TEST_VLOAD(vector1, buffer, , uint, u, 16, 4); - TEST_VLOAD(vector1, buffer, , uint, u, 32, 2); - TEST_VLOAD(vector1, buffer, , poly, p, 8, 8); - TEST_VLOAD(vector1, buffer, , float, f, 32, 2); - TEST_VLOAD(vector1, buffer, q, int, s, 8, 16); - TEST_VLOAD(vector1, buffer, q, int, s, 16, 8); - TEST_VLOAD(vector1, buffer, q, int, s, 32, 4); - TEST_VLOAD(vector1, buffer, q, uint, u, 8, 16); - TEST_VLOAD(vector1, buffer, q, uint, u, 16, 8); - TEST_VLOAD(vector1, buffer, q, uint, u, 32, 4); - TEST_VLOAD(vector1, buffer, q, poly, p, 8, 16); - TEST_VLOAD(vector1, buffer, q, float, f, 32, 4); - - TEST_VDUP(vector2, , int, s, 8, 8, 0x11); - TEST_VDUP(vector2, , int, s, 16, 4, 0x22); - TEST_VDUP(vector2, , int, s, 32, 2, 0x33); - TEST_VDUP(vector2, , uint, u, 8, 8, 0x44); - TEST_VDUP(vector2, , uint, u, 16, 4, 0x55); - TEST_VDUP(vector2, , uint, u, 32, 2, 0x66); - TEST_VDUP(vector2, , poly, p, 8, 8, 0x44); - TEST_VDUP(vector2, , float, f, 32, 2, 33.3f); - TEST_VDUP(vector2, q, int, s, 8, 16, 0x77); - TEST_VDUP(vector2, q, int, s, 16, 8, 0x88); - TEST_VDUP(vector2, q, int, s, 32, 4, 0x99); - TEST_VDUP(vector2, q, uint, u, 8, 16, 0xAA); - TEST_VDUP(vector2, q, uint, u, 16, 8, 0xBB); - TEST_VDUP(vector2, q, uint, u, 32, 4, 0xCC); - TEST_VDUP(vector2, q, poly, p, 8, 16, 0xAA); - TEST_VDUP(vector2, q, float, f, 32, 4, 99.6f); + VLOAD(vector1, buffer, , int, s, 8, 8); + VLOAD(vector1, buffer, , int, s, 16, 4); + VLOAD(vector1, buffer, , int, s, 32, 2); + VLOAD(vector1, buffer, , uint, u, 8, 8); + VLOAD(vector1, buffer, , uint, u, 16, 4); + VLOAD(vector1, buffer, , uint, u, 32, 2); + VLOAD(vector1, buffer, , poly, p, 8, 8); + VLOAD(vector1, buffer, , float, f, 32, 2); + VLOAD(vector1, buffer, q, int, s, 8, 16); + VLOAD(vector1, buffer, q, int, s, 16, 8); + VLOAD(vector1, buffer, q, int, s, 32, 4); + VLOAD(vector1, buffer, q, uint, u, 8, 16); + VLOAD(vector1, buffer, q, uint, u, 16, 8); + VLOAD(vector1, buffer, q, uint, u, 32, 4); + VLOAD(vector1, buffer, q, poly, p, 8, 16); + VLOAD(vector1, buffer, q, float, f, 32, 4); + + VDUP(vector2, , int, s, 8, 8, 0x11); + VDUP(vector2, , int, s, 16, 4, 0x22); + VDUP(vector2, , int, s, 32, 2, 0x33); + VDUP(vector2, , uint, u, 8, 8, 0x44); + VDUP(vector2, , uint, u, 16, 4, 0x55); + VDUP(vector2, , uint, u, 32, 2, 0x66); + VDUP(vector2, , poly, p, 8, 8, 0x44); + VDUP(vector2, , float, f, 32, 2, 33.3f); + VDUP(vector2, q, int, s, 8, 16, 0x77); + VDUP(vector2, q, int, s, 16, 8, 0x88); + VDUP(vector2, q, int, s, 32, 4, 0x99); + VDUP(vector2, q, uint, u, 8, 16, 0xAA); + VDUP(vector2, q, uint, u, 16, 8, 0xBB); + VDUP(vector2, q, uint, u, 32, 4, 0xCC); + VDUP(vector2, q, poly, p, 8, 16, 0xAA); + VDUP(vector2, q, float, f, 32, 4, 99.6f); TEST_VMUL(INSN_NAME, , int, s, 8, 8); TEST_VMUL(INSN_NAME, , int, s, 16, 4); diff --git a/ref_vmul_lane.c b/ref_vmul_lane.c index b76bc01..f67d68e 100644 --- a/ref_vmul_lane.c +++ b/ref_vmul_lane.c @@ -69,23 +69,23 @@ void exec_vmul_lane (void) clean_results (); /* Initialize vector from pre-initialized values */ - TEST_VLOAD(vector, buffer, , int, s, 16, 4); - TEST_VLOAD(vector, buffer, , int, s, 32, 2); - TEST_VLOAD(vector, buffer, , uint, u, 16, 4); - TEST_VLOAD(vector, buffer, , uint, u, 32, 2); - TEST_VLOAD(vector, buffer, , float, f, 32, 2); - TEST_VLOAD(vector, buffer, q, int, s, 16, 8); - TEST_VLOAD(vector, buffer, q, int, s, 32, 4); - TEST_VLOAD(vector, buffer, q, uint, u, 16, 8); - TEST_VLOAD(vector, buffer, q, uint, u, 32, 4); - TEST_VLOAD(vector, buffer, q, float, f, 32, 4); + VLOAD(vector, buffer, , int, s, 16, 4); + VLOAD(vector, buffer, , int, s, 32, 2); + VLOAD(vector, buffer, , uint, u, 16, 4); + VLOAD(vector, buffer, , uint, u, 32, 2); + VLOAD(vector, buffer, , float, f, 32, 2); + VLOAD(vector, buffer, q, int, s, 16, 8); + VLOAD(vector, buffer, q, int, s, 32, 4); + VLOAD(vector, buffer, q, uint, u, 16, 8); + VLOAD(vector, buffer, q, uint, u, 32, 4); + VLOAD(vector, buffer, q, float, f, 32, 4); /* Initialize vector2 */ - TEST_VDUP(vector2, , int, s, 16, 4, 0x4); - TEST_VDUP(vector2, , int, s, 32, 2, 0x22); - TEST_VDUP(vector2, , uint, u, 16, 4, 0x444); - TEST_VDUP(vector2, , uint, u, 32, 2, 0x532); - TEST_VDUP(vector2, , float, f, 32, 2, 22.8f); + VDUP(vector2, , int, s, 16, 4, 0x4); + VDUP(vector2, , int, s, 32, 2, 0x22); + VDUP(vector2, , uint, u, 16, 4, 0x444); + VDUP(vector2, , uint, u, 32, 2, 0x532); + VDUP(vector2, , float, f, 32, 2, 22.8f); /* Choose lane arbitrarily */ TEST_VMUL_LANE(, int, s, 16, 4, 4, 2); diff --git a/ref_vmul_n.c b/ref_vmul_n.c index 390e657..1128377 100644 --- a/ref_vmul_n.c +++ b/ref_vmul_n.c @@ -62,16 +62,16 @@ void exec_vmul_n (void) clean_results (); /* Initialize vector from pre-initialized values */ - TEST_VLOAD(vector, buffer, , int, s, 16, 4); - TEST_VLOAD(vector, buffer, , int, s, 32, 2); - TEST_VLOAD(vector, buffer, , uint, u, 16, 4); - TEST_VLOAD(vector, buffer, , uint, u, 32, 2); - TEST_VLOAD(vector, buffer, , float, f, 32, 2); - TEST_VLOAD(vector, buffer, q, int, s, 16, 8); - TEST_VLOAD(vector, buffer, q, int, s, 32, 4); - TEST_VLOAD(vector, buffer, q, uint, u, 16, 8); - TEST_VLOAD(vector, buffer, q, uint, u, 32, 4); - TEST_VLOAD(vector, buffer, q, float, f, 32, 4); + VLOAD(vector, buffer, , int, s, 16, 4); + VLOAD(vector, buffer, , int, s, 32, 2); + VLOAD(vector, buffer, , uint, u, 16, 4); + VLOAD(vector, buffer, , uint, u, 32, 2); + VLOAD(vector, buffer, , float, f, 32, 2); + VLOAD(vector, buffer, q, int, s, 16, 8); + VLOAD(vector, buffer, q, int, s, 32, 4); + VLOAD(vector, buffer, q, uint, u, 16, 8); + VLOAD(vector, buffer, q, uint, u, 32, 4); + VLOAD(vector, buffer, q, float, f, 32, 4); /* Choose multiplier arbitrarily */ TEST_VMUL_N(, int, s, 16, 4, 0x11); diff --git a/ref_vmull.c b/ref_vmull.c index 0f92c9b..6fc5be6 100644 --- a/ref_vmull.c +++ b/ref_vmull.c @@ -60,13 +60,13 @@ void exec_vmull (void) clean_results (); - TEST_VLOAD(vector, buffer, , int, s, 8, 8); - TEST_VLOAD(vector, buffer, , int, s, 16, 4); - TEST_VLOAD(vector, buffer, , int, s, 32, 2); - TEST_VLOAD(vector, buffer, , uint, u, 8, 8); - TEST_VLOAD(vector, buffer, , uint, u, 16, 4); - TEST_VLOAD(vector, buffer, , uint, u, 32, 2); - TEST_VLOAD(vector, buffer, , poly, p, 8, 8); + VLOAD(vector, buffer, , int, s, 8, 8); + VLOAD(vector, buffer, , int, s, 16, 4); + VLOAD(vector, buffer, , int, s, 32, 2); + VLOAD(vector, buffer, , uint, u, 8, 8); + VLOAD(vector, buffer, , uint, u, 16, 4); + VLOAD(vector, buffer, , uint, u, 32, 2); + VLOAD(vector, buffer, , poly, p, 8, 8); TEST_VMULL(int, s, 8, 16, 8); TEST_VMULL(int, s, 16, 32, 4); diff --git a/ref_vmull_lane.c b/ref_vmull_lane.c index 1bfdf3f..769abc6 100644 --- a/ref_vmull_lane.c +++ b/ref_vmull_lane.c @@ -61,16 +61,16 @@ void exec_vmull_lane (void) clean_results (); /* Initialize vector */ - TEST_VDUP(vector, , int, s, 16, 4, 0x1000); - TEST_VDUP(vector, , int, s, 32, 2, 0x1000); - TEST_VDUP(vector, , uint, u, 16, 4, 0x1000); - TEST_VDUP(vector, , uint, u, 32, 2, 0x1000); + VDUP(vector, , int, s, 16, 4, 0x1000); + VDUP(vector, , int, s, 32, 2, 0x1000); + VDUP(vector, , uint, u, 16, 4, 0x1000); + VDUP(vector, , uint, u, 32, 2, 0x1000); /* Initialize vector2 */ - TEST_VDUP(vector2, , int, s, 16, 4, 0x4); - TEST_VDUP(vector2, , int, s, 32, 2, 0x2); - TEST_VDUP(vector2, , uint, u, 16, 4, 0x4); - TEST_VDUP(vector2, , uint, u, 32, 2, 0x2); + VDUP(vector2, , int, s, 16, 4, 0x4); + VDUP(vector2, , int, s, 32, 2, 0x2); + VDUP(vector2, , uint, u, 16, 4, 0x4); + VDUP(vector2, , uint, u, 32, 2, 0x2); /* Choose lane arbitrarily */ TEST_VMULL_LANE(int, s, 16, 32, 4, 2); diff --git a/ref_vmull_n.c b/ref_vmull_n.c index 193a6ab..200280e 100644 --- a/ref_vmull_n.c +++ b/ref_vmull_n.c @@ -62,10 +62,10 @@ void exec_vmull_n (void) clean_results (); /* Initialize vector */ - TEST_VDUP(vector, , int, s, 16, 4, 0x1000); - TEST_VDUP(vector, , int, s, 32, 2, 0x1000); - TEST_VDUP(vector, , uint, u, 16, 4, 0x1000); - TEST_VDUP(vector, , uint, u, 32, 2, 0x1000); + VDUP(vector, , int, s, 16, 4, 0x1000); + VDUP(vector, , int, s, 32, 2, 0x1000); + VDUP(vector, , uint, u, 16, 4, 0x1000); + VDUP(vector, , uint, u, 32, 2, 0x1000); /* Choose multiplier arbitrarily */ TEST_VMULL_N(INSN_NAME, int, s, 16, 32, 4, 0x11); diff --git a/ref_vmvn.c b/ref_vmvn.c index 56d784c..5ea6a33 100644 --- a/ref_vmvn.c +++ b/ref_vmvn.c @@ -85,20 +85,20 @@ FNNAME (INSN_NAME) clean_results (); /* Initialize input "vector" from "buffer" */ - TEST_VLOAD(vector, buffer, , int, s, 8, 8); - TEST_VLOAD(vector, buffer, , int, s, 16, 4); - TEST_VLOAD(vector, buffer, , int, s, 32, 2); - TEST_VLOAD(vector, buffer, , uint, u, 8, 8); - TEST_VLOAD(vector, buffer, , uint, u, 16, 4); - TEST_VLOAD(vector, buffer, , uint, u, 32, 2); - TEST_VLOAD(vector, buffer, , poly, p, 8, 8); - TEST_VLOAD(vector, buffer, q, int, s, 8, 16); - TEST_VLOAD(vector, buffer, q, int, s, 16, 8); - TEST_VLOAD(vector, buffer, q, int, s, 32, 4); - TEST_VLOAD(vector, buffer, q, uint, u, 8, 16); - TEST_VLOAD(vector, buffer, q, uint, u, 16, 8); - TEST_VLOAD(vector, buffer, q, uint, u, 32, 4); - TEST_VLOAD(vector, buffer, q, poly, p, 8, 16); + VLOAD(vector, buffer, , int, s, 8, 8); + VLOAD(vector, buffer, , int, s, 16, 4); + VLOAD(vector, buffer, , int, s, 32, 2); + VLOAD(vector, buffer, , uint, u, 8, 8); + VLOAD(vector, buffer, , uint, u, 16, 4); + VLOAD(vector, buffer, , uint, u, 32, 2); + VLOAD(vector, buffer, , poly, p, 8, 8); + VLOAD(vector, buffer, q, int, s, 8, 16); + VLOAD(vector, buffer, q, int, s, 16, 8); + VLOAD(vector, buffer, q, int, s, 32, 4); + VLOAD(vector, buffer, q, uint, u, 8, 16); + VLOAD(vector, buffer, q, uint, u, 16, 8); + VLOAD(vector, buffer, q, uint, u, 32, 4); + VLOAD(vector, buffer, q, poly, p, 8, 16); /* Apply a unary operator named INSN_NAME */ TEST_UNARY_OP(INSN_NAME, , int, s, 8, 8); diff --git a/ref_vneg.c b/ref_vneg.c index 8b2206d..1eabe20 100644 --- a/ref_vneg.c +++ b/ref_vneg.c @@ -42,8 +42,8 @@ void exec_vneg_f32(void) DECL_VARIABLE(vector_res, float, 32, 2); DECL_VARIABLE(vector_res, float, 32, 4); - TEST_VDUP(vector, , float, f, 32, 2, 2.3f); - TEST_VDUP(vector, q, float, f, 32, 4, 3.4f); + VDUP(vector, , float, f, 32, 2, 2.3f); + VDUP(vector, q, float, f, 32, 4, 3.4f); TEST_UNARY_OP(INSN_NAME, , float, f, 32, 2); TEST_UNARY_OP(INSN_NAME, q, float, f, 32, 4); diff --git a/ref_vpadal.c b/ref_vpadal.c index 1df3f26..fab5f05 100644 --- a/ref_vpadal.c +++ b/ref_vpadal.c @@ -95,32 +95,32 @@ FNNAME (INSN_NAME) clean_results (); /* Initialize input "vector" from "buffer" */ - TEST_VLOAD(vector, buffer, , int, s, 16, 4); - TEST_VLOAD(vector, buffer, , int, s, 32, 2); - TEST_VLOAD(vector, buffer, , int, s, 64, 1); - TEST_VLOAD(vector, buffer, , uint, u, 16, 4); - TEST_VLOAD(vector, buffer, , uint, u, 32, 2); - TEST_VLOAD(vector, buffer, , uint, u, 64, 1); - TEST_VLOAD(vector, buffer, q, int, s, 16, 8); - TEST_VLOAD(vector, buffer, q, int, s, 32, 4); - TEST_VLOAD(vector, buffer, q, int, s, 64, 2); - TEST_VLOAD(vector, buffer, q, uint, u, 16, 8); - TEST_VLOAD(vector, buffer, q, uint, u, 32, 4); - TEST_VLOAD(vector, buffer, q, uint, u, 64, 2); + VLOAD(vector, buffer, , int, s, 16, 4); + VLOAD(vector, buffer, , int, s, 32, 2); + VLOAD(vector, buffer, , int, s, 64, 1); + VLOAD(vector, buffer, , uint, u, 16, 4); + VLOAD(vector, buffer, , uint, u, 32, 2); + VLOAD(vector, buffer, , uint, u, 64, 1); + VLOAD(vector, buffer, q, int, s, 16, 8); + VLOAD(vector, buffer, q, int, s, 32, 4); + VLOAD(vector, buffer, q, int, s, 64, 2); + VLOAD(vector, buffer, q, uint, u, 16, 8); + VLOAD(vector, buffer, q, uint, u, 32, 4); + VLOAD(vector, buffer, q, uint, u, 64, 2); /* Initialize input "vector2" from "buffer" */ - TEST_VLOAD(vector2, buffer, , int, s, 8, 8); - TEST_VLOAD(vector2, buffer, , int, s, 16, 4); - TEST_VLOAD(vector2, buffer, , int, s, 32, 2); - TEST_VLOAD(vector2, buffer, , uint, u, 8, 8); - TEST_VLOAD(vector2, buffer, , uint, u, 16, 4); - TEST_VLOAD(vector2, buffer, , uint, u, 32, 2); - TEST_VLOAD(vector2, buffer, q, int, s, 8, 16); - TEST_VLOAD(vector2, buffer, q, int, s, 16, 8); - TEST_VLOAD(vector2, buffer, q, int, s, 32, 4); - TEST_VLOAD(vector2, buffer, q, uint, u, 8, 16); - TEST_VLOAD(vector2, buffer, q, uint, u, 16, 8); - TEST_VLOAD(vector2, buffer, q, uint, u, 32, 4); + VLOAD(vector2, buffer, , int, s, 8, 8); + VLOAD(vector2, buffer, , int, s, 16, 4); + VLOAD(vector2, buffer, , int, s, 32, 2); + VLOAD(vector2, buffer, , uint, u, 8, 8); + VLOAD(vector2, buffer, , uint, u, 16, 4); + VLOAD(vector2, buffer, , uint, u, 32, 2); + VLOAD(vector2, buffer, q, int, s, 8, 16); + VLOAD(vector2, buffer, q, int, s, 16, 8); + VLOAD(vector2, buffer, q, int, s, 32, 4); + VLOAD(vector2, buffer, q, uint, u, 8, 16); + VLOAD(vector2, buffer, q, uint, u, 16, 8); + VLOAD(vector2, buffer, q, uint, u, 32, 4); /* Apply a unary operator named INSN_NAME */ TEST_VPADAL(INSN_NAME, , int, s, 8, 8, 16, 4); diff --git a/ref_vpadd.c b/ref_vpadd.c index b1de699..d39d932 100644 --- a/ref_vpadd.c +++ b/ref_vpadd.c @@ -75,13 +75,13 @@ FNNAME (INSN_NAME) clean_results (); /* Initialize input "vector" from "buffer" */ - TEST_VLOAD(vector, buffer, , int, s, 8, 8); - TEST_VLOAD(vector, buffer, , int, s, 16, 4); - TEST_VLOAD(vector, buffer, , int, s, 32, 2); - TEST_VLOAD(vector, buffer, , uint, u, 8, 8); - TEST_VLOAD(vector, buffer, , uint, u, 16, 4); - TEST_VLOAD(vector, buffer, , uint, u, 32, 2); - TEST_VLOAD(vector, buffer, , float, f, 32, 2); + VLOAD(vector, buffer, , int, s, 8, 8); + VLOAD(vector, buffer, , int, s, 16, 4); + VLOAD(vector, buffer, , int, s, 32, 2); + VLOAD(vector, buffer, , uint, u, 8, 8); + VLOAD(vector, buffer, , uint, u, 16, 4); + VLOAD(vector, buffer, , uint, u, 32, 2); + VLOAD(vector, buffer, , float, f, 32, 2); /* Apply a unary operator named INSN_NAME */ TEST_VPADD(INSN_NAME, int, s, 8, 8); diff --git a/ref_vpaddl.c b/ref_vpaddl.c index 2194870..e3a4c5b 100644 --- a/ref_vpaddl.c +++ b/ref_vpaddl.c @@ -82,18 +82,18 @@ FNNAME (INSN_NAME) clean_results (); /* Initialize input "vector" from "buffer" */ - TEST_VLOAD(vector, buffer, , int, s, 8, 8); - TEST_VLOAD(vector, buffer, , int, s, 16, 4); - TEST_VLOAD(vector, buffer, , int, s, 32, 2); - TEST_VLOAD(vector, buffer, , uint, u, 8, 8); - TEST_VLOAD(vector, buffer, , uint, u, 16, 4); - TEST_VLOAD(vector, buffer, , uint, u, 32, 2); - TEST_VLOAD(vector, buffer, q, int, s, 8, 16); - TEST_VLOAD(vector, buffer, q, int, s, 16, 8); - TEST_VLOAD(vector, buffer, q, int, s, 32, 4); - TEST_VLOAD(vector, buffer, q, uint, u, 8, 16); - TEST_VLOAD(vector, buffer, q, uint, u, 16, 8); - TEST_VLOAD(vector, buffer, q, uint, u, 32, 4); + VLOAD(vector, buffer, , int, s, 8, 8); + VLOAD(vector, buffer, , int, s, 16, 4); + VLOAD(vector, buffer, , int, s, 32, 2); + VLOAD(vector, buffer, , uint, u, 8, 8); + VLOAD(vector, buffer, , uint, u, 16, 4); + VLOAD(vector, buffer, , uint, u, 32, 2); + VLOAD(vector, buffer, q, int, s, 8, 16); + VLOAD(vector, buffer, q, int, s, 16, 8); + VLOAD(vector, buffer, q, int, s, 32, 4); + VLOAD(vector, buffer, q, uint, u, 8, 16); + VLOAD(vector, buffer, q, uint, u, 16, 8); + VLOAD(vector, buffer, q, uint, u, 32, 4); /* Apply a unary operator named INSN_NAME */ TEST_VPADDL(INSN_NAME, , int, s, 8, 8, 16, 4); diff --git a/ref_vqabs.c b/ref_vqabs.c index a7a6466..e0ef53f 100644 --- a/ref_vqabs.c +++ b/ref_vqabs.c @@ -53,12 +53,12 @@ void vqabs_extra() /* Initialize input "vector" with max negative values to check saturation */ - TEST_VDUP(vector, , int, s, 8, 8, 0x80); - TEST_VDUP(vector, , int, s, 16, 4, 0x8000); - TEST_VDUP(vector, , int, s, 32, 2, 0x80000000); - TEST_VDUP(vector, q, int, s, 8, 16, 0x80); - TEST_VDUP(vector, q, int, s, 16, 8, 0x8000); - TEST_VDUP(vector, q, int, s, 32, 4, 0x80000000); + VDUP(vector, , int, s, 8, 8, 0x80); + VDUP(vector, , int, s, 16, 4, 0x8000); + VDUP(vector, , int, s, 32, 2, 0x80000000); + VDUP(vector, q, int, s, 8, 16, 0x80); + VDUP(vector, q, int, s, 16, 8, 0x8000); + VDUP(vector, q, int, s, 32, 4, 0x80000000); /* Apply a unary operator named INSN_NAME */ fprintf(ref_file, "\n%s cumulative saturation output:\n", TEST_MSG); diff --git a/ref_vqadd.c b/ref_vqadd.c index d8c38b4..6bf70bd 100644 --- a/ref_vqadd.c +++ b/ref_vqadd.c @@ -42,12 +42,12 @@ void vqadd_64(void) DECL_VARIABLE_ALL_VARIANTS(vector_res); /* Initialize input "vector1" from "buffer" */ - TEST_MACRO_ALL_VARIANTS_2_5(TEST_VLOAD, vector1, buffer); + TEST_MACRO_ALL_VARIANTS_2_5(VLOAD, vector1, buffer); - TEST_VDUP(vector2, , int, s, 64, 1, 0x0); - TEST_VDUP(vector2, , uint, u, 64, 1, 0x0); - TEST_VDUP(vector2, q, int, s, 64, 2, 0x0); - TEST_VDUP(vector2, q, uint, u, 64, 2, 0x0); + VDUP(vector2, , int, s, 64, 1, 0x0); + VDUP(vector2, , uint, u, 64, 1, 0x0); + VDUP(vector2, q, int, s, 64, 2, 0x0); + VDUP(vector2, q, uint, u, 64, 2, 0x0); fprintf(ref_file, "\n%s 64 bits saturation cumulative saturation output:\n", TEST_MSG); @@ -63,10 +63,10 @@ void vqadd_64(void) DUMP(TEST_MSG, uint, 64, 2, PRIx64); /* Another set of tests */ - TEST_VDUP(vector2, , int, s, 64, 1, 0x44); - TEST_VDUP(vector2, , uint, u, 64, 1, 0x88); - TEST_VDUP(vector2, q, int, s, 64, 2, 0x44); - TEST_VDUP(vector2, q, uint, u, 64, 2, 0x88); + VDUP(vector2, , int, s, 64, 1, 0x44); + VDUP(vector2, , uint, u, 64, 1, 0x88); + VDUP(vector2, q, int, s, 64, 2, 0x44); + VDUP(vector2, q, uint, u, 64, 2, 0x88); fprintf(ref_file, "\n%s 64 bits saturation cumulative saturation output:\n", TEST_MSG); @@ -81,13 +81,13 @@ void vqadd_64(void) DUMP(TEST_MSG, uint, 64, 2, PRIx64); /* Another set of tests */ - TEST_VDUP(vector2, , int, s, 64, 1, 0x8000000000000003LL); - TEST_VDUP(vector2, , uint, u, 64, 1, 0x88); + VDUP(vector2, , int, s, 64, 1, 0x8000000000000003LL); + VDUP(vector2, , uint, u, 64, 1, 0x88); - TEST_VDUP(vector1, q, int, s, 64, 2, 0x4000000000000000LL); - TEST_VDUP(vector2, q, int, s, 64, 2, 0x4000000000000000LL); + VDUP(vector1, q, int, s, 64, 2, 0x4000000000000000LL); + VDUP(vector2, q, int, s, 64, 2, 0x4000000000000000LL); - TEST_VDUP(vector2, q, uint, u, 64, 2, 0x22); + VDUP(vector2, q, uint, u, 64, 2, 0x22); fprintf(ref_file, "\n%s 64 bits saturation cumulative saturation output:\n", TEST_MSG); @@ -102,12 +102,12 @@ void vqadd_64(void) DUMP(TEST_MSG, uint, 64, 2, PRIx64); /* To improve coverage, check saturation with less than 64 bits too */ - TEST_VDUP(vector2, , int, s, 8, 8, 0x81); - TEST_VDUP(vector2, , int, s, 16, 4, 0x8001); - TEST_VDUP(vector2, , int, s, 32, 2, 0x80000001); - TEST_VDUP(vector2, q, int, s, 8, 16, 0x81); - TEST_VDUP(vector2, q, int, s, 16, 8, 0x8001); - TEST_VDUP(vector2, q, int, s, 32, 4, 0x80000001); + VDUP(vector2, , int, s, 8, 8, 0x81); + VDUP(vector2, , int, s, 16, 4, 0x8001); + VDUP(vector2, , int, s, 32, 2, 0x80000001); + VDUP(vector2, q, int, s, 8, 16, 0x81); + VDUP(vector2, q, int, s, 16, 8, 0x8001); + VDUP(vector2, q, int, s, 32, 4, 0x80000001); fprintf(ref_file, "\nless than 64 bits saturation:\n"); TEST_BINARY_SAT_OP(INSN_NAME, , int, s, 8, 8); @@ -124,19 +124,19 @@ void vqadd_64(void) DUMP(TEST_MSG, int, 16, 8, PRIx16); DUMP(TEST_MSG, int, 32, 4, PRIx32); - TEST_VDUP(vector1, , uint, u, 8, 8, 0xF0); - TEST_VDUP(vector1, , uint, u, 16, 4, 0xFFF0); - TEST_VDUP(vector1, , uint, u, 32, 2, 0xFFFFFFF0); - TEST_VDUP(vector1, q, uint, u, 8, 16, 0xF0); - TEST_VDUP(vector1, q, uint, u, 16, 8, 0xFFF0); - TEST_VDUP(vector1, q, uint, u, 32, 4, 0xFFFFFFF0); - - TEST_VDUP(vector2, , uint, u, 8, 8, 0x20); - TEST_VDUP(vector2, , uint, u, 16, 4, 0x20); - TEST_VDUP(vector2, , uint, u, 32, 2, 0x20); - TEST_VDUP(vector2, q, uint, u, 8, 16, 0x20); - TEST_VDUP(vector2, q, uint, u, 16, 8, 0x20); - TEST_VDUP(vector2, q, uint, u, 32, 4, 0x20); + VDUP(vector1, , uint, u, 8, 8, 0xF0); + VDUP(vector1, , uint, u, 16, 4, 0xFFF0); + VDUP(vector1, , uint, u, 32, 2, 0xFFFFFFF0); + VDUP(vector1, q, uint, u, 8, 16, 0xF0); + VDUP(vector1, q, uint, u, 16, 8, 0xFFF0); + VDUP(vector1, q, uint, u, 32, 4, 0xFFFFFFF0); + + VDUP(vector2, , uint, u, 8, 8, 0x20); + VDUP(vector2, , uint, u, 16, 4, 0x20); + VDUP(vector2, , uint, u, 32, 2, 0x20); + VDUP(vector2, q, uint, u, 8, 16, 0x20); + VDUP(vector2, q, uint, u, 16, 8, 0x20); + VDUP(vector2, q, uint, u, 32, 4, 0x20); fprintf(ref_file, "\n%s less than 64 bits saturation cumulative saturation output:\n", diff --git a/ref_vqdmlal.c b/ref_vqdmlal.c index c710ce1..d51d568 100644 --- a/ref_vqdmlal.c +++ b/ref_vqdmlal.c @@ -71,13 +71,13 @@ FNNAME (INSN_NAME) clean_results (); - TEST_VLOAD(vector, buffer, q, int, s, 32, 4); - TEST_VLOAD(vector, buffer, q, int, s, 64, 2); + VLOAD(vector, buffer, q, int, s, 32, 4); + VLOAD(vector, buffer, q, int, s, 64, 2); - TEST_VDUP(vector3, , int, s, 16, 4, 0x55); - TEST_VDUP(vector4, , int, s, 16, 4, 0xBB); - TEST_VDUP(vector3, , int, s, 32, 2, 0x55); - TEST_VDUP(vector4, , int, s, 32, 2, 0xBB); + VDUP(vector3, , int, s, 16, 4, 0x55); + VDUP(vector4, , int, s, 16, 4, 0xBB); + VDUP(vector3, , int, s, 32, 2, 0x55); + VDUP(vector4, , int, s, 32, 2, 0xBB); fprintf(ref_file, "\n%s cumulative saturation output:\n", TEST_MSG); TEST_VQDMLXL(INSN_NAME, int, s, 32, 16, 4); @@ -85,10 +85,10 @@ FNNAME (INSN_NAME) dump_results_hex (TEST_MSG); - TEST_VDUP(vector3, , int, s, 16, 4, 0x8000); - TEST_VDUP(vector4, , int, s, 16, 4, 0x8000); - TEST_VDUP(vector3, , int, s, 32, 2, 0x80000000); - TEST_VDUP(vector4, , int, s, 32, 2, 0x80000000); + VDUP(vector3, , int, s, 16, 4, 0x8000); + VDUP(vector4, , int, s, 16, 4, 0x8000); + VDUP(vector3, , int, s, 32, 2, 0x80000000); + VDUP(vector4, , int, s, 32, 2, 0x80000000); fprintf(ref_file, "\n%s cumulative saturation output:\n", TEST_MSG " (check mul cumulative saturation)"); diff --git a/ref_vqdmlal_lane.c b/ref_vqdmlal_lane.c index bfeb550..53073d8 100644 --- a/ref_vqdmlal_lane.c +++ b/ref_vqdmlal_lane.c @@ -72,31 +72,31 @@ FNNAME (INSN_NAME) clean_results (); - TEST_VLOAD(vector, buffer, q, int, s, 32, 4); - TEST_VLOAD(vector, buffer, q, int, s, 64, 2); + VLOAD(vector, buffer, q, int, s, 32, 4); + VLOAD(vector, buffer, q, int, s, 64, 2); - TEST_VDUP(vector3, , int, s, 16, 4, 0x55); - TEST_VDUP(vector4, , int, s, 16, 4, 0xBB); - TEST_VDUP(vector3, , int, s, 32, 2, 0x55); - TEST_VDUP(vector4, , int, s, 32, 2, 0xBB); + VDUP(vector3, , int, s, 16, 4, 0x55); + VDUP(vector4, , int, s, 16, 4, 0xBB); + VDUP(vector3, , int, s, 32, 2, 0x55); + VDUP(vector4, , int, s, 32, 2, 0xBB); fprintf(ref_file, "\n%s cumulative saturation output:\n", TEST_MSG); TEST_VQDMLXL_LANE(INSN_NAME, int, s, 32, 16, 4, 0); TEST_VQDMLXL_LANE(INSN_NAME, int, s, 64, 32, 2, 0); dump_results_hex (TEST_MSG); - TEST_VDUP(vector3, , int, s, 16, 4, 0); - TEST_VDUP(vector3, , int, s, 32, 2, 0); + VDUP(vector3, , int, s, 16, 4, 0); + VDUP(vector3, , int, s, 32, 2, 0); fprintf(ref_file, "\n%s cumulative saturation output:\n", TEST_MSG " (mul with input=0)"); TEST_VQDMLXL_LANE(INSN_NAME, int, s, 32, 16, 4, 0); TEST_VQDMLXL_LANE(INSN_NAME, int, s, 64, 32, 2, 0); dump_results_hex2 (TEST_MSG, " (mul with input=0)"); - TEST_VDUP(vector3, , int, s, 16, 4, 0x8000); - TEST_VDUP(vector3, , int, s, 32, 2, 0x80000000); - TEST_VDUP(vector4, , int, s, 16, 4, 0x8000); - TEST_VDUP(vector4, , int, s, 32, 2, 0x80000000); + VDUP(vector3, , int, s, 16, 4, 0x8000); + VDUP(vector3, , int, s, 32, 2, 0x80000000); + VDUP(vector4, , int, s, 16, 4, 0x8000); + VDUP(vector4, , int, s, 32, 2, 0x80000000); fprintf(ref_file, "\n%s cumulative saturation output:\n", TEST_MSG " (check mul cumulative saturation)"); TEST_VQDMLXL_LANE(INSN_NAME, int, s, 32, 16, 4, 0); diff --git a/ref_vqdmlal_n.c b/ref_vqdmlal_n.c index 156ad81..318a4ea 100644 --- a/ref_vqdmlal_n.c +++ b/ref_vqdmlal_n.c @@ -69,11 +69,11 @@ FNNAME (INSN_NAME) clean_results (); - TEST_VLOAD(vector, buffer, q, int, s, 32, 4); - TEST_VLOAD(vector, buffer, q, int, s, 64, 2); + VLOAD(vector, buffer, q, int, s, 32, 4); + VLOAD(vector, buffer, q, int, s, 64, 2); - TEST_VDUP(vector3, , int, s, 16, 4, 0x55); - TEST_VDUP(vector3, , int, s, 32, 2, 0x55); + VDUP(vector3, , int, s, 16, 4, 0x55); + VDUP(vector3, , int, s, 32, 2, 0x55); /* Choose val arbitrarily */ fprintf(ref_file, "\n%s cumulative saturation output:\n", TEST_MSG); @@ -82,8 +82,8 @@ FNNAME (INSN_NAME) dump_results_hex (TEST_MSG); - TEST_VDUP(vector3, , int, s, 16, 4, 0x8000); - TEST_VDUP(vector3, , int, s, 32, 2, 0x80000000); + VDUP(vector3, , int, s, 16, 4, 0x8000); + VDUP(vector3, , int, s, 32, 2, 0x80000000); fprintf(ref_file, "\n%s cumulative saturation output:\n", TEST_MSG " (check mul cumulative saturation)"); TEST_VQDMLXL_N(INSN_NAME, int, s, 32, 16, 4, 0x8000); diff --git a/ref_vqdmulh.c b/ref_vqdmulh.c index e913662..f78b649 100644 --- a/ref_vqdmulh.c +++ b/ref_vqdmulh.c @@ -76,16 +76,16 @@ FNNAME (INSN) clean_results (); - TEST_VLOAD(vector, buffer, , int, s, 16, 4); - TEST_VLOAD(vector, buffer, , int, s, 32, 2); - TEST_VLOAD(vector, buffer, q, int, s, 16, 8); - TEST_VLOAD(vector, buffer, q, int, s, 32, 4); + VLOAD(vector, buffer, , int, s, 16, 4); + VLOAD(vector, buffer, , int, s, 32, 2); + VLOAD(vector, buffer, q, int, s, 16, 8); + VLOAD(vector, buffer, q, int, s, 32, 4); /* Initialize vector2 */ - TEST_VDUP(vector2, , int, s, 16, 4, 0x55); - TEST_VDUP(vector2, , int, s, 32, 2, 0xBB); - TEST_VDUP(vector2, q, int, s, 16, 8, 0x33); - TEST_VDUP(vector2, q, int, s, 32, 4, 0x22); + VDUP(vector2, , int, s, 16, 4, 0x55); + VDUP(vector2, , int, s, 32, 2, 0xBB); + VDUP(vector2, q, int, s, 16, 8, 0x33); + VDUP(vector2, q, int, s, 32, 4, 0x22); fprintf(ref_file, "\n%s cumulative saturation output:\n", TEST_MSG); TEST_VQDMULH(, int, s, 16, 4); @@ -97,14 +97,14 @@ FNNAME (INSN) output all of them */ dump_results_hex (TEST_MSG); - TEST_VDUP(vector, , int, s, 16, 4, 0x8000); - TEST_VDUP(vector2, , int, s, 16, 4, 0x8000); - TEST_VDUP(vector, , int, s, 32, 2, 0x80000000); - TEST_VDUP(vector2, , int, s, 32, 2, 0x80000000); - TEST_VDUP(vector, q, int, s, 16, 8, 0x8000); - TEST_VDUP(vector2, q, int, s, 16, 8, 0x8000); - TEST_VDUP(vector, q, int, s, 32, 4, 0x80000000); - TEST_VDUP(vector2, q, int, s, 32, 4, 0x80000000); + VDUP(vector, , int, s, 16, 4, 0x8000); + VDUP(vector2, , int, s, 16, 4, 0x8000); + VDUP(vector, , int, s, 32, 2, 0x80000000); + VDUP(vector2, , int, s, 32, 2, 0x80000000); + VDUP(vector, q, int, s, 16, 8, 0x8000); + VDUP(vector2, q, int, s, 16, 8, 0x8000); + VDUP(vector, q, int, s, 32, 4, 0x80000000); + VDUP(vector2, q, int, s, 32, 4, 0x80000000); fprintf(ref_file, "\n%s cumulative saturation output:\n", TEST_MSG); TEST_VQDMULH(, int, s, 16, 4); diff --git a/ref_vqdmulh_lane.c b/ref_vqdmulh_lane.c index 219f51f..93db623 100644 --- a/ref_vqdmulh_lane.c +++ b/ref_vqdmulh_lane.c @@ -77,15 +77,15 @@ FNNAME (INSN) clean_results (); - TEST_VLOAD(vector, buffer, , int, s, 16, 4); - TEST_VLOAD(vector, buffer, , int, s, 32, 2); + VLOAD(vector, buffer, , int, s, 16, 4); + VLOAD(vector, buffer, , int, s, 32, 2); - TEST_VLOAD(vector, buffer, q, int, s, 16, 8); - TEST_VLOAD(vector, buffer, q, int, s, 32, 4); + VLOAD(vector, buffer, q, int, s, 16, 8); + VLOAD(vector, buffer, q, int, s, 32, 4); /* Initialize vector2 */ - TEST_VDUP(vector2, , int, s, 16, 4, 0x55); - TEST_VDUP(vector2, , int, s, 32, 2, 0xBB); + VDUP(vector2, , int, s, 16, 4, 0x55); + VDUP(vector2, , int, s, 32, 2, 0xBB); /* Choose lane arbitrarily */ fprintf(ref_file, "\n%s cumulative saturation output:\n", TEST_MSG); @@ -99,12 +99,12 @@ FNNAME (INSN) dump_results_hex (TEST_MSG); - TEST_VDUP(vector, , int, s, 16, 4, 0x8000); - TEST_VDUP(vector, , int, s, 32, 2, 0x80000000); - TEST_VDUP(vector, q, int, s, 16, 8, 0x8000); - TEST_VDUP(vector, q, int, s, 32, 4, 0x80000000); - TEST_VDUP(vector2, , int, s, 16, 4, 0x8000); - TEST_VDUP(vector2, , int, s, 32, 2, 0x80000000); + VDUP(vector, , int, s, 16, 4, 0x8000); + VDUP(vector, , int, s, 32, 2, 0x80000000); + VDUP(vector, q, int, s, 16, 8, 0x8000); + VDUP(vector, q, int, s, 32, 4, 0x80000000); + VDUP(vector2, , int, s, 16, 4, 0x8000); + VDUP(vector2, , int, s, 32, 2, 0x80000000); fprintf(ref_file, "\n%s cumulative saturation output:\n", TEST_MSG " (check mul cumulative saturation)"); diff --git a/ref_vqdmulh_n.c b/ref_vqdmulh_n.c index 81f7a31..60716f7 100644 --- a/ref_vqdmulh_n.c +++ b/ref_vqdmulh_n.c @@ -75,10 +75,10 @@ FNNAME (INSN) /* Initialize vector */ - TEST_VDUP(vector, , int, s, 16, 4, 0x1000); - TEST_VDUP(vector, , int, s, 32, 2, 0x100023); - TEST_VDUP(vector, q, int, s, 16, 8, 0x1000); - TEST_VDUP(vector, q, int, s, 32, 4, 0x100045); + VDUP(vector, , int, s, 16, 4, 0x1000); + VDUP(vector, , int, s, 32, 2, 0x100023); + VDUP(vector, q, int, s, 16, 8, 0x1000); + VDUP(vector, q, int, s, 32, 4, 0x100045); /* Choose multiplier arbitrarily */ fprintf(ref_file, "\n%s cumulative saturation output:\n", TEST_MSG); @@ -96,10 +96,10 @@ FNNAME (INSN) - TEST_VDUP(vector, , int, s, 16, 4, 0x8000); - TEST_VDUP(vector, , int, s, 32, 2, 0x80000000); - TEST_VDUP(vector, q, int, s, 16, 8, 0x8000); - TEST_VDUP(vector, q, int, s, 32, 4, 0x80000000); + VDUP(vector, , int, s, 16, 4, 0x8000); + VDUP(vector, , int, s, 32, 2, 0x80000000); + VDUP(vector, q, int, s, 16, 8, 0x8000); + VDUP(vector, q, int, s, 32, 4, 0x80000000); fprintf(ref_file, "\n%s cumulative saturation output:\n", TEST_MSG " (check mul cumulative saturation)"); TEST_VQDMULH_N(, int, s, 16, 4, 0x8000); diff --git a/ref_vqdmull.c b/ref_vqdmull.c index 2c044b4..f97a6c8 100644 --- a/ref_vqdmull.c +++ b/ref_vqdmull.c @@ -68,10 +68,10 @@ FNNAME (INSN) clean_results (); - TEST_VLOAD(vector, buffer, , int, s, 16, 4); - TEST_VLOAD(vector, buffer, , int, s, 32, 2); - TEST_VLOAD(vector2, buffer, , int, s, 16, 4); - TEST_VLOAD(vector2, buffer, , int, s, 32, 2); + VLOAD(vector, buffer, , int, s, 16, 4); + VLOAD(vector, buffer, , int, s, 32, 2); + VLOAD(vector2, buffer, , int, s, 16, 4); + VLOAD(vector2, buffer, , int, s, 32, 2); fprintf(ref_file, "\n%s cumulative saturation output:\n", TEST_MSG); TEST_VQDMULL(int, s, 16, 32, 4); @@ -81,10 +81,10 @@ FNNAME (INSN) dump_results_hex (TEST_MSG); - TEST_VDUP(vector, , int, s, 16, 4, 0x8000); - TEST_VDUP(vector2, , int, s, 16, 4, 0x8000); - TEST_VDUP(vector, , int, s, 32, 2, 0x80000000); - TEST_VDUP(vector2, , int, s, 32, 2, 0x80000000); + VDUP(vector, , int, s, 16, 4, 0x8000); + VDUP(vector2, , int, s, 16, 4, 0x8000); + VDUP(vector, , int, s, 32, 2, 0x80000000); + VDUP(vector2, , int, s, 32, 2, 0x80000000); fprintf(ref_file, "\n%s cumulative saturation output:\n", TEST_MSG " (check mul cumulative saturation)"); TEST_VQDMULL(int, s, 16, 32, 4); diff --git a/ref_vqdmull_lane.c b/ref_vqdmull_lane.c index 4935caf..b2ee183 100644 --- a/ref_vqdmull_lane.c +++ b/ref_vqdmull_lane.c @@ -73,12 +73,12 @@ FNNAME (INSN) clean_results (); /* Initialize vector */ - TEST_VDUP(vector, , int, s, 16, 4, 0x1000); - TEST_VDUP(vector, , int, s, 32, 2, 0x1000); + VDUP(vector, , int, s, 16, 4, 0x1000); + VDUP(vector, , int, s, 32, 2, 0x1000); /* Initialize vector2 */ - TEST_VDUP(vector2, , int, s, 16, 4, 0x4); - TEST_VDUP(vector2, , int, s, 32, 2, 0x2); + VDUP(vector2, , int, s, 16, 4, 0x4); + VDUP(vector2, , int, s, 32, 2, 0x2); /* Choose lane arbitrarily */ fprintf(ref_file, "\n%s cumulative saturation output:\n", TEST_MSG); @@ -93,10 +93,10 @@ FNNAME (INSN) - TEST_VDUP(vector, , int, s, 16, 4, 0x8000); - TEST_VDUP(vector2, , int, s, 16, 4, 0x8000); - TEST_VDUP(vector, , int, s, 32, 2, 0x80000000); - TEST_VDUP(vector2, , int, s, 32, 2, 0x80000000); + VDUP(vector, , int, s, 16, 4, 0x8000); + VDUP(vector2, , int, s, 16, 4, 0x8000); + VDUP(vector, , int, s, 32, 2, 0x80000000); + VDUP(vector2, , int, s, 32, 2, 0x80000000); fprintf(ref_file, "\n%s cumulative saturation output:\n", TEST_MSG " (check mul cumulative saturation)"); TEST_VQDMULL_LANE(int, s, 16, 32, 4, 2); diff --git a/ref_vqdmull_n.c b/ref_vqdmull_n.c index 079d1b5..92b1e48 100644 --- a/ref_vqdmull_n.c +++ b/ref_vqdmull_n.c @@ -72,12 +72,12 @@ FNNAME (INSN) clean_results (); /* Initialize vector */ - TEST_VDUP(vector, , int, s, 16, 4, 0x1000); - TEST_VDUP(vector, , int, s, 32, 2, 0x1000); + VDUP(vector, , int, s, 16, 4, 0x1000); + VDUP(vector, , int, s, 32, 2, 0x1000); /* Initialize vector2 */ - TEST_VDUP(vector2, , int, s, 16, 4, 0x4); - TEST_VDUP(vector2, , int, s, 32, 2, 0x2); + VDUP(vector2, , int, s, 16, 4, 0x4); + VDUP(vector2, , int, s, 32, 2, 0x2); /* Choose multiplier arbitrarily */ fprintf(ref_file, "\n%s cumulative saturation output:\n", TEST_MSG); @@ -90,8 +90,8 @@ FNNAME (INSN) DUMP(TEST_MSG, int, 64, 2, PRIx64); - TEST_VDUP(vector, , int, s, 16, 4, 0x8000); - TEST_VDUP(vector, , int, s, 32, 2, 0x80000000); + VDUP(vector, , int, s, 16, 4, 0x8000); + VDUP(vector, , int, s, 32, 2, 0x80000000); fprintf(ref_file, "\n%s cumulative saturation output:\n", TEST_MSG " (check mul cumulative saturation)"); TEST_VQDMULL_N(int, s, 16, 32, 4, 0x8000); diff --git a/ref_vqmovn.c b/ref_vqmovn.c index f05cc1a..87e119c 100644 --- a/ref_vqmovn.c +++ b/ref_vqmovn.c @@ -73,12 +73,12 @@ FNNAME (INSN_NAME) clean_results (); /* Fill input vector with arbitrary values */ - TEST_VDUP(vector, q, int, s, 16, 8, 0x12); - TEST_VDUP(vector, q, int, s, 32, 4, 0x1278); - TEST_VDUP(vector, q, int, s, 64, 2, 0x12345678); - TEST_VDUP(vector, q, uint, u, 16, 8, 0x82); - TEST_VDUP(vector, q, uint, u, 32, 4, 0x8765); - TEST_VDUP(vector, q, uint, u, 64, 2, 0x87654321); + VDUP(vector, q, int, s, 16, 8, 0x12); + VDUP(vector, q, int, s, 32, 4, 0x1278); + VDUP(vector, q, int, s, 64, 2, 0x12345678); + VDUP(vector, q, uint, u, 16, 8, 0x82); + VDUP(vector, q, uint, u, 32, 4, 0x8765); + VDUP(vector, q, uint, u, 64, 2, 0x87654321); /* Apply a unary operator named INSN_NAME */ fprintf(ref_file, "\n%s cumulative saturation output:\n", TEST_MSG); @@ -94,12 +94,12 @@ FNNAME (INSN_NAME) /* Fill input vector with arbitrary values which cause an cumulative saturation. */ - TEST_VDUP(vector, q, int, s, 16, 8, 0x1234); - TEST_VDUP(vector, q, int, s, 32, 4, 0x12345678); - TEST_VDUP(vector, q, int, s, 64, 2, 0x1234567890ABLL); - TEST_VDUP(vector, q, uint, u, 16, 8, 0x8234); - TEST_VDUP(vector, q, uint, u, 32, 4, 0x87654321); - TEST_VDUP(vector, q, uint, u, 64, 2, 0x8765432187654321ULL); + VDUP(vector, q, int, s, 16, 8, 0x1234); + VDUP(vector, q, int, s, 32, 4, 0x12345678); + VDUP(vector, q, int, s, 64, 2, 0x1234567890ABLL); + VDUP(vector, q, uint, u, 16, 8, 0x8234); + VDUP(vector, q, uint, u, 32, 4, 0x87654321); + VDUP(vector, q, uint, u, 64, 2, 0x8765432187654321ULL); /* Apply a unary operator named INSN_NAME */ fprintf(ref_file, "\n%s cumulative saturation output:\n", TEST_MSG); diff --git a/ref_vqmovun.c b/ref_vqmovun.c index 2dc2bdf..a898d77 100644 --- a/ref_vqmovun.c +++ b/ref_vqmovun.c @@ -67,9 +67,9 @@ FNNAME (INSN_NAME) clean_results (); /* Fill input vector with arbitrary values */ - TEST_VDUP(vector, q, int, s, 16, 8, 0x34); - TEST_VDUP(vector, q, int, s, 32, 4, 0x5678); - TEST_VDUP(vector, q, int, s, 64, 2, 0x12345678); + VDUP(vector, q, int, s, 16, 8, 0x34); + VDUP(vector, q, int, s, 32, 4, 0x5678); + VDUP(vector, q, int, s, 64, 2, 0x12345678); /* Apply a unary operator named INSN_NAME */ fprintf(ref_file, "\n%s cumulative saturation output:\n", TEST_MSG); @@ -80,9 +80,9 @@ FNNAME (INSN_NAME) dump_results_hex (TEST_MSG); /* Fill input vector with negative values */ - TEST_VDUP(vector, q, int, s, 16, 8, 0x8234); - TEST_VDUP(vector, q, int, s, 32, 4, 0x87654321); - TEST_VDUP(vector, q, int, s, 64, 2, 0x8765432187654321LL); + VDUP(vector, q, int, s, 16, 8, 0x8234); + VDUP(vector, q, int, s, 32, 4, 0x87654321); + VDUP(vector, q, int, s, 64, 2, 0x8765432187654321LL); /* Apply a unary operator named INSN_NAME */ fprintf(ref_file, "\n%s cumulative saturation output:\n", diff --git a/ref_vqneg.c b/ref_vqneg.c index b1c9402..49a685b 100644 --- a/ref_vqneg.c +++ b/ref_vqneg.c @@ -53,12 +53,12 @@ void vqneg_extra() /* Initialize input "vector" with max negative values to check saturation */ - TEST_VDUP(vector, , int, s, 8, 8, 0x80); - TEST_VDUP(vector, , int, s, 16, 4, 0x8000); - TEST_VDUP(vector, , int, s, 32, 2, 0x80000000); - TEST_VDUP(vector, q, int, s, 8, 16, 0x80); - TEST_VDUP(vector, q, int, s, 16, 8, 0x8000); - TEST_VDUP(vector, q, int, s, 32, 4, 0x80000000); + VDUP(vector, , int, s, 8, 8, 0x80); + VDUP(vector, , int, s, 16, 4, 0x8000); + VDUP(vector, , int, s, 32, 2, 0x80000000); + VDUP(vector, q, int, s, 8, 16, 0x80); + VDUP(vector, q, int, s, 16, 8, 0x8000); + VDUP(vector, q, int, s, 32, 4, 0x80000000); /* Apply a unary operator named INSN_NAME */ fprintf(ref_file, "\n%s cumulative saturation output:\n", TEST_MSG); diff --git a/ref_vqrdmulh.c b/ref_vqrdmulh.c index 7a3f26f..37193b7 100644 --- a/ref_vqrdmulh.c +++ b/ref_vqrdmulh.c @@ -77,16 +77,16 @@ FNNAME (INSN) clean_results (); - TEST_VLOAD(vector, buffer, , int, s, 16, 4); - TEST_VLOAD(vector, buffer, , int, s, 32, 2); - TEST_VLOAD(vector, buffer, q, int, s, 16, 8); - TEST_VLOAD(vector, buffer, q, int, s, 32, 4); + VLOAD(vector, buffer, , int, s, 16, 4); + VLOAD(vector, buffer, , int, s, 32, 2); + VLOAD(vector, buffer, q, int, s, 16, 8); + VLOAD(vector, buffer, q, int, s, 32, 4); /* Initialize vector2 */ - TEST_VDUP(vector2, , int, s, 16, 4, 0x5555); - TEST_VDUP(vector2, , int, s, 32, 2, 0xBB); - TEST_VDUP(vector2, q, int, s, 16, 8, 0x33); - TEST_VDUP(vector2, q, int, s, 32, 4, 0x22); + VDUP(vector2, , int, s, 16, 4, 0x5555); + VDUP(vector2, , int, s, 32, 2, 0xBB); + VDUP(vector2, q, int, s, 16, 8, 0x33); + VDUP(vector2, q, int, s, 32, 4, 0x22); fprintf(ref_file, "\n%s cumulative saturation output:\n", TEST_MSG); TEST_VQRDMULH(, int, s, 16, 4); @@ -98,14 +98,14 @@ FNNAME (INSN) output all of them */ dump_results_hex (TEST_MSG); - TEST_VDUP(vector, , int, s, 16, 4, 0x8000); - TEST_VDUP(vector, , int, s, 32, 2, 0x80000000); - TEST_VDUP(vector, q, int, s, 16, 8, 0x8000); - TEST_VDUP(vector, q, int, s, 32, 4, 0x80000000); - TEST_VDUP(vector2, , int, s, 16, 4, 0x8000); - TEST_VDUP(vector2, , int, s, 32, 2, 0x80000000); - TEST_VDUP(vector2, q, int, s, 16, 8, 0x8000); - TEST_VDUP(vector2, q, int, s, 32, 4, 0x80000000); + VDUP(vector, , int, s, 16, 4, 0x8000); + VDUP(vector, , int, s, 32, 2, 0x80000000); + VDUP(vector, q, int, s, 16, 8, 0x8000); + VDUP(vector, q, int, s, 32, 4, 0x80000000); + VDUP(vector2, , int, s, 16, 4, 0x8000); + VDUP(vector2, , int, s, 32, 2, 0x80000000); + VDUP(vector2, q, int, s, 16, 8, 0x8000); + VDUP(vector2, q, int, s, 32, 4, 0x80000000); fprintf(ref_file, "\n%s cumulative saturation output:\n", TEST_MSG " (check mul cumulative saturation)"); @@ -116,14 +116,14 @@ FNNAME (INSN) dump_results_hex2 (TEST_MSG, " (check mul cumulative saturation)"); - TEST_VDUP(vector, , int, s, 16, 4, 0x8000); - TEST_VDUP(vector, , int, s, 32, 2, 0x80000000); - TEST_VDUP(vector, q, int, s, 16, 8, 0x8000); - TEST_VDUP(vector, q, int, s, 32, 4, 0x80000000); - TEST_VDUP(vector2, , int, s, 16, 4, 0x8001); - TEST_VDUP(vector2, , int, s, 32, 2, 0x80000001); - TEST_VDUP(vector2, q, int, s, 16, 8, 0x8001); - TEST_VDUP(vector2, q, int, s, 32, 4, 0x80000001); + VDUP(vector, , int, s, 16, 4, 0x8000); + VDUP(vector, , int, s, 32, 2, 0x80000000); + VDUP(vector, q, int, s, 16, 8, 0x8000); + VDUP(vector, q, int, s, 32, 4, 0x80000000); + VDUP(vector2, , int, s, 16, 4, 0x8001); + VDUP(vector2, , int, s, 32, 2, 0x80000001); + VDUP(vector2, q, int, s, 16, 8, 0x8001); + VDUP(vector2, q, int, s, 32, 4, 0x80000001); fprintf(ref_file, "\n%s cumulative saturation output:\n", TEST_MSG " (check rounding cumulative saturation)"); diff --git a/ref_vqrdmulh_lane.c b/ref_vqrdmulh_lane.c index 1ecaaef..807f5c2 100644 --- a/ref_vqrdmulh_lane.c +++ b/ref_vqrdmulh_lane.c @@ -79,15 +79,15 @@ FNNAME (INSN) clean_results (); - TEST_VLOAD(vector, buffer, , int, s, 16, 4); - TEST_VLOAD(vector, buffer, , int, s, 32, 2); + VLOAD(vector, buffer, , int, s, 16, 4); + VLOAD(vector, buffer, , int, s, 32, 2); - TEST_VLOAD(vector, buffer, q, int, s, 16, 8); - TEST_VLOAD(vector, buffer, q, int, s, 32, 4); + VLOAD(vector, buffer, q, int, s, 16, 8); + VLOAD(vector, buffer, q, int, s, 32, 4); /* Initialize vector2 */ - TEST_VDUP(vector2, , int, s, 16, 4, 0x55); - TEST_VDUP(vector2, , int, s, 32, 2, 0xBB); + VDUP(vector2, , int, s, 16, 4, 0x55); + VDUP(vector2, , int, s, 32, 2, 0xBB); /* Choose lane arbitrarily */ fprintf(ref_file, "\n%s cumulative saturation output:\n", TEST_MSG); @@ -101,12 +101,12 @@ FNNAME (INSN) dump_results_hex (TEST_MSG); - TEST_VDUP(vector, , int, s, 16, 4, 0x8000); - TEST_VDUP(vector, , int, s, 32, 2, 0x80000000); - TEST_VDUP(vector, q, int, s, 16, 8, 0x8000); - TEST_VDUP(vector, q, int, s, 32, 4, 0x80000000); - TEST_VDUP(vector2, , int, s, 16, 4, 0x8000); - TEST_VDUP(vector2, , int, s, 32, 2, 0x80000000); + VDUP(vector, , int, s, 16, 4, 0x8000); + VDUP(vector, , int, s, 32, 2, 0x80000000); + VDUP(vector, q, int, s, 16, 8, 0x8000); + VDUP(vector, q, int, s, 32, 4, 0x80000000); + VDUP(vector2, , int, s, 16, 4, 0x8000); + VDUP(vector2, , int, s, 32, 2, 0x80000000); fprintf(ref_file, "\n%s cumulative saturation output:\n", TEST_MSG " (check mul cumulative saturation)"); @@ -117,12 +117,12 @@ FNNAME (INSN) dump_results_hex2 (TEST_MSG, " (check mul cumulative saturation)"); - TEST_VDUP(vector, , int, s, 16, 4, 0x8000); - TEST_VDUP(vector, , int, s, 32, 2, 0x80000000); - TEST_VDUP(vector, q, int, s, 16, 8, 0x8000); - TEST_VDUP(vector, q, int, s, 32, 4, 0x80000000); - TEST_VDUP(vector2, , int, s, 16, 4, 0x8001); - TEST_VDUP(vector2, , int, s, 32, 2, 0x80000001); + VDUP(vector, , int, s, 16, 4, 0x8000); + VDUP(vector, , int, s, 32, 2, 0x80000000); + VDUP(vector, q, int, s, 16, 8, 0x8000); + VDUP(vector, q, int, s, 32, 4, 0x80000000); + VDUP(vector2, , int, s, 16, 4, 0x8001); + VDUP(vector2, , int, s, 32, 2, 0x80000001); fprintf(ref_file, "\n%s cumulative saturation output:\n", TEST_MSG " (check rounding cumulative saturation)"); diff --git a/ref_vqrdmulh_n.c b/ref_vqrdmulh_n.c index 36f0aa1..92b79b6 100644 --- a/ref_vqrdmulh_n.c +++ b/ref_vqrdmulh_n.c @@ -74,11 +74,11 @@ FNNAME (INSN) clean_results (); - TEST_VLOAD(vector, buffer, , int, s, 16, 4); - TEST_VLOAD(vector, buffer, , int, s, 32, 2); + VLOAD(vector, buffer, , int, s, 16, 4); + VLOAD(vector, buffer, , int, s, 32, 2); - TEST_VLOAD(vector, buffer, q, int, s, 16, 8); - TEST_VLOAD(vector, buffer, q, int, s, 32, 4); + VLOAD(vector, buffer, q, int, s, 16, 8); + VLOAD(vector, buffer, q, int, s, 32, 4); /* Choose multiplier arbitrarily */ fprintf(ref_file, "\n%s cumulative saturation output:\n", TEST_MSG); @@ -95,10 +95,10 @@ FNNAME (INSN) DUMP(TEST_MSG, int, 32, 4, PRIx32); - TEST_VDUP(vector, , int, s, 16, 4, 0x8000); - TEST_VDUP(vector, , int, s, 32, 2, 0x80000000); - TEST_VDUP(vector, q, int, s, 16, 8, 0x8000); - TEST_VDUP(vector, q, int, s, 32, 4, 0x80000000); + VDUP(vector, , int, s, 16, 4, 0x8000); + VDUP(vector, , int, s, 32, 2, 0x80000000); + VDUP(vector, q, int, s, 16, 8, 0x8000); + VDUP(vector, q, int, s, 32, 4, 0x80000000); fprintf(ref_file, "\n%s cumulative saturation output:\n", TEST_MSG " (check mul cumulative saturation)"); @@ -109,10 +109,10 @@ FNNAME (INSN) dump_results_hex2 (TEST_MSG, " (check mul cumulative saturation)"); - TEST_VDUP(vector, , int, s, 16, 4, 0x8000); - TEST_VDUP(vector, , int, s, 32, 2, 0x80000000); - TEST_VDUP(vector, q, int, s, 16, 8, 0x8000); - TEST_VDUP(vector, q, int, s, 32, 4, 0x80000000); + VDUP(vector, , int, s, 16, 4, 0x8000); + VDUP(vector, , int, s, 32, 2, 0x80000000); + VDUP(vector, q, int, s, 16, 8, 0x8000); + VDUP(vector, q, int, s, 32, 4, 0x80000000); fprintf(ref_file, "\n%s cumulative saturation output:\n", TEST_MSG " (check rounding cumulative saturation)"); diff --git a/ref_vqrshl.c b/ref_vqrshl.c index 48605d8..5028bf9 100644 --- a/ref_vqrshl.c +++ b/ref_vqrshl.c @@ -68,34 +68,34 @@ FNNAME (INSN) clean_results (); /* Fill input vector with 0, to check saturation on limits */ - TEST_VDUP(vector, , int, s, 8, 8, 0); - TEST_VDUP(vector, , int, s, 16, 4, 0); - TEST_VDUP(vector, , int, s, 32, 2, 0); - TEST_VDUP(vector, , int, s, 64, 1, 0); - TEST_VDUP(vector, , uint, u, 8, 8, 0); - TEST_VDUP(vector, , uint, u, 16, 4, 0); - TEST_VDUP(vector, , uint, u, 32, 2, 0); - TEST_VDUP(vector, , uint, u, 64, 1, 0); - TEST_VDUP(vector, q, int, s, 8, 16, 0); - TEST_VDUP(vector, q, int, s, 16, 8, 0); - TEST_VDUP(vector, q, int, s, 32, 4, 0); - TEST_VDUP(vector, q, int, s, 64, 2, 0); - TEST_VDUP(vector, q, uint, u, 8, 16, 0); - TEST_VDUP(vector, q, uint, u, 16, 8, 0); - TEST_VDUP(vector, q, uint, u, 32, 4, 0); - TEST_VDUP(vector, q, uint, u, 64, 2, 0); + VDUP(vector, , int, s, 8, 8, 0); + VDUP(vector, , int, s, 16, 4, 0); + VDUP(vector, , int, s, 32, 2, 0); + VDUP(vector, , int, s, 64, 1, 0); + VDUP(vector, , uint, u, 8, 8, 0); + VDUP(vector, , uint, u, 16, 4, 0); + VDUP(vector, , uint, u, 32, 2, 0); + VDUP(vector, , uint, u, 64, 1, 0); + VDUP(vector, q, int, s, 8, 16, 0); + VDUP(vector, q, int, s, 16, 8, 0); + VDUP(vector, q, int, s, 32, 4, 0); + VDUP(vector, q, int, s, 64, 2, 0); + VDUP(vector, q, uint, u, 8, 16, 0); + VDUP(vector, q, uint, u, 16, 8, 0); + VDUP(vector, q, uint, u, 32, 4, 0); + VDUP(vector, q, uint, u, 64, 2, 0); /* Choose init value arbitrarily, will be used as shift amount */ /* Use values equal or one-less-than the type width to check behaviour on limits */ - TEST_VDUP(vector_shift, , int, s, 8, 8, 7); - TEST_VDUP(vector_shift, , int, s, 16, 4, 15); - TEST_VDUP(vector_shift, , int, s, 32, 2, 31); - TEST_VDUP(vector_shift, , int, s, 64, 1, 63); - TEST_VDUP(vector_shift, q, int, s, 8, 16, 8); - TEST_VDUP(vector_shift, q, int, s, 16, 8, 16); - TEST_VDUP(vector_shift, q, int, s, 32, 4, 32); - TEST_VDUP(vector_shift, q, int, s, 64, 2, 64); + VDUP(vector_shift, , int, s, 8, 8, 7); + VDUP(vector_shift, , int, s, 16, 4, 15); + VDUP(vector_shift, , int, s, 32, 2, 31); + VDUP(vector_shift, , int, s, 64, 1, 63); + VDUP(vector_shift, q, int, s, 8, 16, 8); + VDUP(vector_shift, q, int, s, 16, 8, 16); + VDUP(vector_shift, q, int, s, 32, 4, 32); + VDUP(vector_shift, q, int, s, 64, 2, 64); fprintf(ref_file, "\n%s cumulative saturation output:\n", TEST_MSG " (with input = 0)"); @@ -103,14 +103,14 @@ FNNAME (INSN) dump_results_hex2 (TEST_MSG, " (with input = 0)"); /* Use negative shift amounts */ - TEST_VDUP(vector_shift, , int, s, 8, 8, -1); - TEST_VDUP(vector_shift, , int, s, 16, 4, -2); - TEST_VDUP(vector_shift, , int, s, 32, 2, -3); - TEST_VDUP(vector_shift, , int, s, 64, 1, -4); - TEST_VDUP(vector_shift, q, int, s, 8, 16, -7); - TEST_VDUP(vector_shift, q, int, s, 16, 8, -11); - TEST_VDUP(vector_shift, q, int, s, 32, 4, -13); - TEST_VDUP(vector_shift, q, int, s, 64, 2, -20); + VDUP(vector_shift, , int, s, 8, 8, -1); + VDUP(vector_shift, , int, s, 16, 4, -2); + VDUP(vector_shift, , int, s, 32, 2, -3); + VDUP(vector_shift, , int, s, 64, 1, -4); + VDUP(vector_shift, q, int, s, 8, 16, -7); + VDUP(vector_shift, q, int, s, 16, 8, -11); + VDUP(vector_shift, q, int, s, 32, 4, -13); + VDUP(vector_shift, q, int, s, 64, 2, -20); fprintf(ref_file, "\n%s cumulative saturation output:\n", TEST_MSG " (input 0 and negative shift amount)"); @@ -118,31 +118,31 @@ FNNAME (INSN) dump_results_hex2 (TEST_MSG, " (input 0 and negative shift amount)"); /* Test again, with predefined input values */ - TEST_MACRO_ALL_VARIANTS_2_5(TEST_VLOAD, vector, buffer); + TEST_MACRO_ALL_VARIANTS_2_5(VLOAD, vector, buffer); /* Choose init value arbitrarily, will be used as shift amount */ - TEST_VDUP(vector_shift, , int, s, 8, 8, 1); - TEST_VDUP(vector_shift, , int, s, 16, 4, 3); - TEST_VDUP(vector_shift, , int, s, 32, 2, 8); - TEST_VDUP(vector_shift, , int, s, 64, 1, 3); - TEST_VDUP(vector_shift, q, int, s, 8, 16, 10); - TEST_VDUP(vector_shift, q, int, s, 16, 8, 12); - TEST_VDUP(vector_shift, q, int, s, 32, 4, 31); - TEST_VDUP(vector_shift, q, int, s, 64, 2, 63); + VDUP(vector_shift, , int, s, 8, 8, 1); + VDUP(vector_shift, , int, s, 16, 4, 3); + VDUP(vector_shift, , int, s, 32, 2, 8); + VDUP(vector_shift, , int, s, 64, 1, 3); + VDUP(vector_shift, q, int, s, 8, 16, 10); + VDUP(vector_shift, q, int, s, 16, 8, 12); + VDUP(vector_shift, q, int, s, 32, 4, 31); + VDUP(vector_shift, q, int, s, 64, 2, 63); fprintf(ref_file, "\n%s cumulative saturation output:\n", TEST_MSG); TEST_MACRO_ALL_VARIANTS_1_5(TEST_VQRSHL, int); dump_results_hex (TEST_MSG); /* Use negative shift amounts */ - TEST_VDUP(vector_shift, , int, s, 8, 8, -2); - TEST_VDUP(vector_shift, , int, s, 16, 4, -2); - TEST_VDUP(vector_shift, , int, s, 32, 2, -3); - TEST_VDUP(vector_shift, , int, s, 64, 1, -4); - TEST_VDUP(vector_shift, q, int, s, 8, 16, -7); - TEST_VDUP(vector_shift, q, int, s, 16, 8, -11); - TEST_VDUP(vector_shift, q, int, s, 32, 4, -13); - TEST_VDUP(vector_shift, q, int, s, 64, 2, -20); + VDUP(vector_shift, , int, s, 8, 8, -2); + VDUP(vector_shift, , int, s, 16, 4, -2); + VDUP(vector_shift, , int, s, 32, 2, -3); + VDUP(vector_shift, , int, s, 64, 1, -4); + VDUP(vector_shift, q, int, s, 8, 16, -7); + VDUP(vector_shift, q, int, s, 16, 8, -11); + VDUP(vector_shift, q, int, s, 32, 4, -13); + VDUP(vector_shift, q, int, s, 64, 2, -20); fprintf(ref_file, "\n%s cumulative saturation output:\n", TEST_MSG " (negative shift amount)"); @@ -151,32 +151,32 @@ FNNAME (INSN) /* Fill input vector with max value, to check saturation on limits */ - TEST_VDUP(vector, , int, s, 8, 8, 0x7F); - TEST_VDUP(vector, , int, s, 16, 4, 0x7FFF); - TEST_VDUP(vector, , int, s, 32, 2, 0x7FFFFFFF); - TEST_VDUP(vector, , int, s, 64, 1, 0x7FFFFFFFFFFFFFFFLL); - TEST_VDUP(vector, , uint, u, 8, 8, 0xFF); - TEST_VDUP(vector, , uint, u, 16, 4, 0xFFFF); - TEST_VDUP(vector, , uint, u, 32, 2, 0xFFFFFFFF); - TEST_VDUP(vector, , uint, u, 64, 1, 0xFFFFFFFFFFFFFFFFULL); - TEST_VDUP(vector, q, int, s, 8, 16, 0x7F); - TEST_VDUP(vector, q, int, s, 16, 8, 0x7FFF); - TEST_VDUP(vector, q, int, s, 32, 4, 0x7FFFFFFF); - TEST_VDUP(vector, q, int, s, 64, 2, 0x7FFFFFFFFFFFFFFFLL); - TEST_VDUP(vector, q, uint, u, 8, 16, 0xFF); - TEST_VDUP(vector, q, uint, u, 16, 8, 0xFFFF); - TEST_VDUP(vector, q, uint, u, 32, 4, 0xFFFFFFFF); - TEST_VDUP(vector, q, uint, u, 64, 2, 0xFFFFFFFFFFFFFFFFULL); + VDUP(vector, , int, s, 8, 8, 0x7F); + VDUP(vector, , int, s, 16, 4, 0x7FFF); + VDUP(vector, , int, s, 32, 2, 0x7FFFFFFF); + VDUP(vector, , int, s, 64, 1, 0x7FFFFFFFFFFFFFFFLL); + VDUP(vector, , uint, u, 8, 8, 0xFF); + VDUP(vector, , uint, u, 16, 4, 0xFFFF); + VDUP(vector, , uint, u, 32, 2, 0xFFFFFFFF); + VDUP(vector, , uint, u, 64, 1, 0xFFFFFFFFFFFFFFFFULL); + VDUP(vector, q, int, s, 8, 16, 0x7F); + VDUP(vector, q, int, s, 16, 8, 0x7FFF); + VDUP(vector, q, int, s, 32, 4, 0x7FFFFFFF); + VDUP(vector, q, int, s, 64, 2, 0x7FFFFFFFFFFFFFFFLL); + VDUP(vector, q, uint, u, 8, 16, 0xFF); + VDUP(vector, q, uint, u, 16, 8, 0xFFFF); + VDUP(vector, q, uint, u, 32, 4, 0xFFFFFFFF); + VDUP(vector, q, uint, u, 64, 2, 0xFFFFFFFFFFFFFFFFULL); /* Use -1 shift amount to check cumulative saturation with round_const */ - TEST_VDUP(vector_shift, , int, s, 8, 8, -1); - TEST_VDUP(vector_shift, , int, s, 16, 4, -1); - TEST_VDUP(vector_shift, , int, s, 32, 2, -1); - TEST_VDUP(vector_shift, , int, s, 64, 1, -1); - TEST_VDUP(vector_shift, q, int, s, 8, 16, -1); - TEST_VDUP(vector_shift, q, int, s, 16, 8, -1); - TEST_VDUP(vector_shift, q, int, s, 32, 4, -1); - TEST_VDUP(vector_shift, q, int, s, 64, 2, -1); + VDUP(vector_shift, , int, s, 8, 8, -1); + VDUP(vector_shift, , int, s, 16, 4, -1); + VDUP(vector_shift, , int, s, 32, 2, -1); + VDUP(vector_shift, , int, s, 64, 1, -1); + VDUP(vector_shift, q, int, s, 8, 16, -1); + VDUP(vector_shift, q, int, s, 16, 8, -1); + VDUP(vector_shift, q, int, s, 32, 4, -1); + VDUP(vector_shift, q, int, s, 64, 2, -1); fprintf(ref_file, "\n%s cumulative saturation output:\n", TEST_MSG " (checking cumulative saturation: shift by -1)"); @@ -186,14 +186,14 @@ FNNAME (INSN) /* Use -3 shift amount to check cumulative saturation with round_const */ - TEST_VDUP(vector_shift, , int, s, 8, 8, -3); - TEST_VDUP(vector_shift, , int, s, 16, 4, -3); - TEST_VDUP(vector_shift, , int, s, 32, 2, -3); - TEST_VDUP(vector_shift, , int, s, 64, 1, -3); - TEST_VDUP(vector_shift, q, int, s, 8, 16, -3); - TEST_VDUP(vector_shift, q, int, s, 16, 8, -3); - TEST_VDUP(vector_shift, q, int, s, 32, 4, -3); - TEST_VDUP(vector_shift, q, int, s, 64, 2, -3); + VDUP(vector_shift, , int, s, 8, 8, -3); + VDUP(vector_shift, , int, s, 16, 4, -3); + VDUP(vector_shift, , int, s, 32, 2, -3); + VDUP(vector_shift, , int, s, 64, 1, -3); + VDUP(vector_shift, q, int, s, 8, 16, -3); + VDUP(vector_shift, q, int, s, 16, 8, -3); + VDUP(vector_shift, q, int, s, 32, 4, -3); + VDUP(vector_shift, q, int, s, 64, 2, -3); fprintf(ref_file, "\n%s cumulative saturation output:\n", TEST_MSG " (checking cumulative saturation: shift by -3)"); @@ -203,14 +203,14 @@ FNNAME (INSN) /* Use large shift amount */ - TEST_VDUP(vector_shift, , int, s, 8, 8, 10); - TEST_VDUP(vector_shift, , int, s, 16, 4, 20); - TEST_VDUP(vector_shift, , int, s, 32, 2, 40); - TEST_VDUP(vector_shift, , int, s, 64, 1, 70); - TEST_VDUP(vector_shift, q, int, s, 8, 16, 10); - TEST_VDUP(vector_shift, q, int, s, 16, 8, 20); - TEST_VDUP(vector_shift, q, int, s, 32, 4, 40); - TEST_VDUP(vector_shift, q, int, s, 64, 2, 70); + VDUP(vector_shift, , int, s, 8, 8, 10); + VDUP(vector_shift, , int, s, 16, 4, 20); + VDUP(vector_shift, , int, s, 32, 2, 40); + VDUP(vector_shift, , int, s, 64, 1, 70); + VDUP(vector_shift, q, int, s, 8, 16, 10); + VDUP(vector_shift, q, int, s, 16, 8, 20); + VDUP(vector_shift, q, int, s, 32, 4, 40); + VDUP(vector_shift, q, int, s, 64, 2, 70); fprintf(ref_file, "\n%s cumulative saturation output:\n", TEST_MSG " (checking cumulative saturation: large shift amount)"); @@ -220,24 +220,24 @@ FNNAME (INSN) /* Fill input vector with negative values, to check saturation on limits */ - TEST_VDUP(vector, , int, s, 8, 8, 0x80); - TEST_VDUP(vector, , int, s, 16, 4, 0x8000); - TEST_VDUP(vector, , int, s, 32, 2, 0x80000000); - TEST_VDUP(vector, , int, s, 64, 1, 0x8000000000000000LL); - TEST_VDUP(vector, q, int, s, 8, 16, 0x80); - TEST_VDUP(vector, q, int, s, 16, 8, 0x8000); - TEST_VDUP(vector, q, int, s, 32, 4, 0x80000000); - TEST_VDUP(vector, q, int, s, 64, 2, 0x8000000000000000LL); + VDUP(vector, , int, s, 8, 8, 0x80); + VDUP(vector, , int, s, 16, 4, 0x8000); + VDUP(vector, , int, s, 32, 2, 0x80000000); + VDUP(vector, , int, s, 64, 1, 0x8000000000000000LL); + VDUP(vector, q, int, s, 8, 16, 0x80); + VDUP(vector, q, int, s, 16, 8, 0x8000); + VDUP(vector, q, int, s, 32, 4, 0x80000000); + VDUP(vector, q, int, s, 64, 2, 0x8000000000000000LL); /* Use large shift amount */ - TEST_VDUP(vector_shift, , int, s, 8, 8, 10); - TEST_VDUP(vector_shift, , int, s, 16, 4, 20); - TEST_VDUP(vector_shift, , int, s, 32, 2, 40); - TEST_VDUP(vector_shift, , int, s, 64, 1, 70); - TEST_VDUP(vector_shift, q, int, s, 8, 16, 10); - TEST_VDUP(vector_shift, q, int, s, 16, 8, 20); - TEST_VDUP(vector_shift, q, int, s, 32, 4, 40); - TEST_VDUP(vector_shift, q, int, s, 64, 2, 70); + VDUP(vector_shift, , int, s, 8, 8, 10); + VDUP(vector_shift, , int, s, 16, 4, 20); + VDUP(vector_shift, , int, s, 32, 2, 40); + VDUP(vector_shift, , int, s, 64, 1, 70); + VDUP(vector_shift, q, int, s, 8, 16, 10); + VDUP(vector_shift, q, int, s, 16, 8, 20); + VDUP(vector_shift, q, int, s, 32, 4, 40); + VDUP(vector_shift, q, int, s, 64, 2, 70); fprintf(ref_file, "\n%s cumulative saturation output:\n", TEST_MSG " (checking cumulative saturation: large shift amount with negative input)"); @@ -248,24 +248,24 @@ FNNAME (INSN) /* Fill input vector with negative and positive values, to check * saturation on limits */ - TEST_VDUP(vector, , int, s, 8, 8, 0x7F); - TEST_VDUP(vector, , int, s, 16, 4, 0x7FFF); - TEST_VDUP(vector, , int, s, 32, 2, 0x7FFFFFFF); - TEST_VDUP(vector, , int, s, 64, 1, 0x7FFFFFFFFFFFFFFFLL); - TEST_VDUP(vector, q, int, s, 8, 16, 0x80); - TEST_VDUP(vector, q, int, s, 16, 8, 0x8000); - TEST_VDUP(vector, q, int, s, 32, 4, 0x80000000); - TEST_VDUP(vector, q, int, s, 64, 2, 0x8000000000000000LL); + VDUP(vector, , int, s, 8, 8, 0x7F); + VDUP(vector, , int, s, 16, 4, 0x7FFF); + VDUP(vector, , int, s, 32, 2, 0x7FFFFFFF); + VDUP(vector, , int, s, 64, 1, 0x7FFFFFFFFFFFFFFFLL); + VDUP(vector, q, int, s, 8, 16, 0x80); + VDUP(vector, q, int, s, 16, 8, 0x8000); + VDUP(vector, q, int, s, 32, 4, 0x80000000); + VDUP(vector, q, int, s, 64, 2, 0x8000000000000000LL); /* Use large negative shift amount */ - TEST_VDUP(vector_shift, , int, s, 8, 8, -10); - TEST_VDUP(vector_shift, , int, s, 16, 4, -20); - TEST_VDUP(vector_shift, , int, s, 32, 2, -40); - TEST_VDUP(vector_shift, , int, s, 64, 1, -70); - TEST_VDUP(vector_shift, q, int, s, 8, 16, -10); - TEST_VDUP(vector_shift, q, int, s, 16, 8, -20); - TEST_VDUP(vector_shift, q, int, s, 32, 4, -40); - TEST_VDUP(vector_shift, q, int, s, 64, 2, -70); + VDUP(vector_shift, , int, s, 8, 8, -10); + VDUP(vector_shift, , int, s, 16, 4, -20); + VDUP(vector_shift, , int, s, 32, 2, -40); + VDUP(vector_shift, , int, s, 64, 1, -70); + VDUP(vector_shift, q, int, s, 8, 16, -10); + VDUP(vector_shift, q, int, s, 16, 8, -20); + VDUP(vector_shift, q, int, s, 32, 4, -40); + VDUP(vector_shift, q, int, s, 64, 2, -70); fprintf(ref_file, "\n%s cumulative saturation output:\n", TEST_MSG " (checking cumulative saturation: large negative shift amount)"); @@ -276,24 +276,24 @@ FNNAME (INSN) /* Fill input vector with 0, to check saturation in case of large * shift amount */ - TEST_VDUP(vector, , int, s, 8, 8, 0); - TEST_VDUP(vector, , int, s, 16, 4, 0); - TEST_VDUP(vector, , int, s, 32, 2, 0); - TEST_VDUP(vector, , int, s, 64, 1, 0); - TEST_VDUP(vector, q, int, s, 8, 16, 0); - TEST_VDUP(vector, q, int, s, 16, 8, 0); - TEST_VDUP(vector, q, int, s, 32, 4, 0); - TEST_VDUP(vector, q, int, s, 64, 2, 0); + VDUP(vector, , int, s, 8, 8, 0); + VDUP(vector, , int, s, 16, 4, 0); + VDUP(vector, , int, s, 32, 2, 0); + VDUP(vector, , int, s, 64, 1, 0); + VDUP(vector, q, int, s, 8, 16, 0); + VDUP(vector, q, int, s, 16, 8, 0); + VDUP(vector, q, int, s, 32, 4, 0); + VDUP(vector, q, int, s, 64, 2, 0); /* Use large shift amount */ - TEST_VDUP(vector_shift, , int, s, 8, 8, -10); - TEST_VDUP(vector_shift, , int, s, 16, 4, -20); - TEST_VDUP(vector_shift, , int, s, 32, 2, -40); - TEST_VDUP(vector_shift, , int, s, 64, 1, -70); - TEST_VDUP(vector_shift, q, int, s, 8, 16, -10); - TEST_VDUP(vector_shift, q, int, s, 16, 8, -20); - TEST_VDUP(vector_shift, q, int, s, 32, 4, -40); - TEST_VDUP(vector_shift, q, int, s, 64, 2, -70); + VDUP(vector_shift, , int, s, 8, 8, -10); + VDUP(vector_shift, , int, s, 16, 4, -20); + VDUP(vector_shift, , int, s, 32, 2, -40); + VDUP(vector_shift, , int, s, 64, 1, -70); + VDUP(vector_shift, q, int, s, 8, 16, -10); + VDUP(vector_shift, q, int, s, 16, 8, -20); + VDUP(vector_shift, q, int, s, 32, 4, -40); + VDUP(vector_shift, q, int, s, 64, 2, -70); fprintf(ref_file, "\n%s cumulative saturation output:\n", TEST_MSG " (checking cumulative saturation: large shift amount with 0 input)"); diff --git a/ref_vqrshrn_n.c b/ref_vqrshrn_n.c index 522d0e7..2126d3a 100644 --- a/ref_vqrshrn_n.c +++ b/ref_vqrshrn_n.c @@ -78,12 +78,12 @@ FNNAME (INSN) clean_results (); - TEST_VLOAD(vector, buffer, q, int, s, 16, 8); - TEST_VLOAD(vector, buffer, q, int, s, 32, 4); - TEST_VLOAD(vector, buffer, q, int, s, 64, 2); - TEST_VLOAD(vector, buffer, q, uint, u, 16, 8); - TEST_VLOAD(vector, buffer, q, uint, u, 32, 4); - TEST_VLOAD(vector, buffer, q, uint, u, 64, 2); + VLOAD(vector, buffer, q, int, s, 16, 8); + VLOAD(vector, buffer, q, int, s, 32, 4); + VLOAD(vector, buffer, q, int, s, 64, 2); + VLOAD(vector, buffer, q, uint, u, 16, 8); + VLOAD(vector, buffer, q, uint, u, 32, 4); + VLOAD(vector, buffer, q, uint, u, 64, 2); /* Choose shift amount arbitrarily */ fprintf(ref_file, "\n%s cumulative saturation output:\n", TEST_MSG); @@ -98,12 +98,12 @@ FNNAME (INSN) dump_results_hex (TEST_MSG); /* Another set of tests */ - TEST_VDUP(vector, q, int, s, 16, 8, 0x7FFF); - TEST_VDUP(vector, q, int, s, 32, 4, 0x7FFFFFFF); - TEST_VDUP(vector, q, int, s, 64, 2, 0x7FFFFFFFFFFFFFFFLL); - TEST_VDUP(vector, q, uint, u, 16, 8, 0xFFFF); - TEST_VDUP(vector, q, uint, u, 32, 4, 0xFFFFFFFF); - TEST_VDUP(vector, q, uint, u, 64, 2, 0xFFFFFFFFFFFFFFFFULL); + VDUP(vector, q, int, s, 16, 8, 0x7FFF); + VDUP(vector, q, int, s, 32, 4, 0x7FFFFFFF); + VDUP(vector, q, int, s, 64, 2, 0x7FFFFFFFFFFFFFFFLL); + VDUP(vector, q, uint, u, 16, 8, 0xFFFF); + VDUP(vector, q, uint, u, 32, 4, 0xFFFFFFFF); + VDUP(vector, q, uint, u, 64, 2, 0xFFFFFFFFFFFFFFFFULL); /* shift by 3 to exercise saturation code in the lib */ fprintf(ref_file, "\n%s cumulative saturation output:\n", diff --git a/ref_vqrshrun_n.c b/ref_vqrshrun_n.c index 405ef18..3ef1322 100644 --- a/ref_vqrshrun_n.c +++ b/ref_vqrshrun_n.c @@ -73,9 +73,9 @@ FNNAME (INSN) clean_results (); /* Fill input vector with negative values, to check saturation on limits */ - TEST_VDUP(vector, q, int, s, 16, 8, -2); - TEST_VDUP(vector, q, int, s, 32, 4, -3); - TEST_VDUP(vector, q, int, s, 64, 2, -4); + VDUP(vector, q, int, s, 16, 8, -2); + VDUP(vector, q, int, s, 32, 4, -3); + VDUP(vector, q, int, s, 64, 2, -4); /* Choose shift amount arbitrarily */ fprintf(ref_file, "\n%s cumulative saturation output:\n", @@ -88,9 +88,9 @@ FNNAME (INSN) dump_results_hex2 (TEST_MSG, " (negative input)"); /* Fill input vector with max value, to check saturation on limits */ - TEST_VDUP(vector, q, int, s, 16, 8, 0x7FFF); - TEST_VDUP(vector, q, int, s, 32, 4, 0x7FFFFFFF); - TEST_VDUP(vector, q, int, s, 64, 2, 0x7FFFFFFFFFFFFFFFLL); + VDUP(vector, q, int, s, 16, 8, 0x7FFF); + VDUP(vector, q, int, s, 32, 4, 0x7FFFFFFF); + VDUP(vector, q, int, s, 64, 2, 0x7FFFFFFFFFFFFFFFLL); /* shift by 1 */ fprintf(ref_file, "\n%s cumulative saturation output:\n", @@ -113,9 +113,9 @@ FNNAME (INSN) /* Fill input vector with min value, to check saturation on limits */ - TEST_VDUP(vector, q, int, s, 16, 8, 0x8000); - TEST_VDUP(vector, q, int, s, 32, 4, 0x80000000); - TEST_VDUP(vector, q, int, s, 64, 2, 0x8000000000000000LL); + VDUP(vector, q, int, s, 16, 8, 0x8000); + VDUP(vector, q, int, s, 32, 4, 0x80000000); + VDUP(vector, q, int, s, 64, 2, 0x8000000000000000LL); /* shift by max */ fprintf(ref_file, "\n%s cumulative saturation output:\n", @@ -128,9 +128,9 @@ FNNAME (INSN) " (check cumulative saturation: shift by max, negative input)"); /* Fill input vector with positive values, to check normal case */ - TEST_VDUP(vector, q, int, s, 16, 8, 0x1234); - TEST_VDUP(vector, q, int, s, 32, 4, 0x87654321); - TEST_VDUP(vector, q, int, s, 64, 2, 0xDEADBEEF); + VDUP(vector, q, int, s, 16, 8, 0x1234); + VDUP(vector, q, int, s, 32, 4, 0x87654321); + VDUP(vector, q, int, s, 64, 2, 0xDEADBEEF); /* shift arbitrary amount */ fprintf(ref_file, "\n%s cumulative saturation output:\n", TEST_MSG); diff --git a/ref_vqshl.c b/ref_vqshl.c index 203b837..84ca9a0 100644 --- a/ref_vqshl.c +++ b/ref_vqshl.c @@ -68,49 +68,49 @@ FNNAME (INSN) clean_results (); /* Fill input vector with 0, to check saturation on limits */ - TEST_VDUP(vector, , int, s, 8, 8, 0); - TEST_VDUP(vector, , int, s, 16, 4, 0); - TEST_VDUP(vector, , int, s, 32, 2, 0); - TEST_VDUP(vector, , int, s, 64, 1, 0); - TEST_VDUP(vector, , uint, u, 8, 8, 0); - TEST_VDUP(vector, , uint, u, 16, 4, 0); - TEST_VDUP(vector, , uint, u, 32, 2, 0); - TEST_VDUP(vector, , uint, u, 64, 1, 0); - TEST_VDUP(vector, q, int, s, 8, 16, 0); - TEST_VDUP(vector, q, int, s, 16, 8, 0); - TEST_VDUP(vector, q, int, s, 32, 4, 0); - TEST_VDUP(vector, q, int, s, 64, 2, 0); - TEST_VDUP(vector, q, uint, u, 8, 16, 0); - TEST_VDUP(vector, q, uint, u, 16, 8, 0); - TEST_VDUP(vector, q, uint, u, 32, 4, 0); - TEST_VDUP(vector, q, uint, u, 64, 2, 0); + VDUP(vector, , int, s, 8, 8, 0); + VDUP(vector, , int, s, 16, 4, 0); + VDUP(vector, , int, s, 32, 2, 0); + VDUP(vector, , int, s, 64, 1, 0); + VDUP(vector, , uint, u, 8, 8, 0); + VDUP(vector, , uint, u, 16, 4, 0); + VDUP(vector, , uint, u, 32, 2, 0); + VDUP(vector, , uint, u, 64, 1, 0); + VDUP(vector, q, int, s, 8, 16, 0); + VDUP(vector, q, int, s, 16, 8, 0); + VDUP(vector, q, int, s, 32, 4, 0); + VDUP(vector, q, int, s, 64, 2, 0); + VDUP(vector, q, uint, u, 8, 16, 0); + VDUP(vector, q, uint, u, 16, 8, 0); + VDUP(vector, q, uint, u, 32, 4, 0); + VDUP(vector, q, uint, u, 64, 2, 0); /* Choose init value arbitrarily, will be used as shift amount */ /* Use values equal or one-less-than the type width to check behaviour on limits */ /* Shift all lanes by 7 ... */ - TEST_VDUP(vector_shift, , int, s, 8, 8, 7); + VDUP(vector_shift, , int, s, 8, 8, 7); /* except: lane 0 (by 6), lane 1 (by 8) and lane 2 (by 9) */ TEST_VSET_LANE(vector_shift, , int, s, 8, 8, 0, 6); TEST_VSET_LANE(vector_shift, , int, s, 8, 8, 1, 8); TEST_VSET_LANE(vector_shift, , int, s, 8, 8, 2, 9); - TEST_VDUP(vector_shift, , int, s, 16, 4, 15); + VDUP(vector_shift, , int, s, 16, 4, 15); TEST_VSET_LANE(vector_shift, , int, s, 16, 4, 0, 14); TEST_VSET_LANE(vector_shift, , int, s, 16, 4, 1, 16); TEST_VSET_LANE(vector_shift, , int, s, 16, 4, 2, 17); - TEST_VDUP(vector_shift, , int, s, 32, 2, 31); + VDUP(vector_shift, , int, s, 32, 2, 31); TEST_VSET_LANE(vector_shift, , int, s, 32, 2, 1, 30); - TEST_VDUP(vector_shift, , int, s, 64, 1, 63); + VDUP(vector_shift, , int, s, 64, 1, 63); - TEST_VDUP(vector_shift, q, int, s, 8, 16, 8); - TEST_VDUP(vector_shift, q, int, s, 16, 8, 16); - TEST_VDUP(vector_shift, q, int, s, 32, 4, 32); + VDUP(vector_shift, q, int, s, 8, 16, 8); + VDUP(vector_shift, q, int, s, 16, 8, 16); + VDUP(vector_shift, q, int, s, 32, 4, 32); TEST_VSET_LANE(vector_shift, q, int, s, 32, 4, 1, 33); - TEST_VDUP(vector_shift, q, int, s, 64, 2, 64); + VDUP(vector_shift, q, int, s, 64, 2, 64); TEST_VSET_LANE(vector_shift, q, int, s, 64, 2, 1, 62); fprintf(ref_file, "\n%s cumulative saturation output:\n", @@ -120,14 +120,14 @@ FNNAME (INSN) /* Use negative shift amounts */ - TEST_VDUP(vector_shift, , int, s, 8, 8, -1); - TEST_VDUP(vector_shift, , int, s, 16, 4, -2); - TEST_VDUP(vector_shift, , int, s, 32, 2, -3); - TEST_VDUP(vector_shift, , int, s, 64, 1, -4); - TEST_VDUP(vector_shift, q, int, s, 8, 16, -7); - TEST_VDUP(vector_shift, q, int, s, 16, 8, -11); - TEST_VDUP(vector_shift, q, int, s, 32, 4, -13); - TEST_VDUP(vector_shift, q, int, s, 64, 2, -20); + VDUP(vector_shift, , int, s, 8, 8, -1); + VDUP(vector_shift, , int, s, 16, 4, -2); + VDUP(vector_shift, , int, s, 32, 2, -3); + VDUP(vector_shift, , int, s, 64, 1, -4); + VDUP(vector_shift, q, int, s, 8, 16, -7); + VDUP(vector_shift, q, int, s, 16, 8, -11); + VDUP(vector_shift, q, int, s, 32, 4, -13); + VDUP(vector_shift, q, int, s, 64, 2, -20); fprintf(ref_file, "\n%s cumulative saturation output:\n", TEST_MSG " (input 0 and negative shift amount)"); @@ -135,31 +135,31 @@ FNNAME (INSN) dump_results_hex2 (TEST_MSG, " (input 0 and negative shift amount)"); /* Test again, with predefined input values */ - TEST_MACRO_ALL_VARIANTS_2_5(TEST_VLOAD, vector, buffer); + TEST_MACRO_ALL_VARIANTS_2_5(VLOAD, vector, buffer); /* Choose init value arbitrarily, will be used as shift amount */ - TEST_VDUP(vector_shift, , int, s, 8, 8, 1); - TEST_VDUP(vector_shift, , int, s, 16, 4, 3); - TEST_VDUP(vector_shift, , int, s, 32, 2, 8); - TEST_VDUP(vector_shift, , int, s, 64, 1, -3); - TEST_VDUP(vector_shift, q, int, s, 8, 16, 10); - TEST_VDUP(vector_shift, q, int, s, 16, 8, 12); - TEST_VDUP(vector_shift, q, int, s, 32, 4, 32); - TEST_VDUP(vector_shift, q, int, s, 64, 2, 63); + VDUP(vector_shift, , int, s, 8, 8, 1); + VDUP(vector_shift, , int, s, 16, 4, 3); + VDUP(vector_shift, , int, s, 32, 2, 8); + VDUP(vector_shift, , int, s, 64, 1, -3); + VDUP(vector_shift, q, int, s, 8, 16, 10); + VDUP(vector_shift, q, int, s, 16, 8, 12); + VDUP(vector_shift, q, int, s, 32, 4, 32); + VDUP(vector_shift, q, int, s, 64, 2, 63); fprintf(ref_file, "\n%s cumulative saturation output:\n", TEST_MSG); TEST_MACRO_ALL_VARIANTS_1_5(TEST_VQSHL, int); dump_results_hex (TEST_MSG); /* Use negative shift amounts */ - TEST_VDUP(vector_shift, , int, s, 8, 8, -1); - TEST_VDUP(vector_shift, , int, s, 16, 4, -2); - TEST_VDUP(vector_shift, , int, s, 32, 2, -3); - TEST_VDUP(vector_shift, , int, s, 64, 1, -4); - TEST_VDUP(vector_shift, q, int, s, 8, 16, -7); - TEST_VDUP(vector_shift, q, int, s, 16, 8, -11); - TEST_VDUP(vector_shift, q, int, s, 32, 4, -13); - TEST_VDUP(vector_shift, q, int, s, 64, 2, -20); + VDUP(vector_shift, , int, s, 8, 8, -1); + VDUP(vector_shift, , int, s, 16, 4, -2); + VDUP(vector_shift, , int, s, 32, 2, -3); + VDUP(vector_shift, , int, s, 64, 1, -4); + VDUP(vector_shift, q, int, s, 8, 16, -7); + VDUP(vector_shift, q, int, s, 16, 8, -11); + VDUP(vector_shift, q, int, s, 32, 4, -13); + VDUP(vector_shift, q, int, s, 64, 2, -20); fprintf(ref_file, "\n%s cumulative saturation output:\n", TEST_MSG " (negative shift amount)"); @@ -167,14 +167,14 @@ FNNAME (INSN) dump_results_hex2 (TEST_MSG, " (negative shift amount)"); /* Use large shift amounts */ - TEST_VDUP(vector_shift, , int, s, 8, 8, 8); - TEST_VDUP(vector_shift, , int, s, 16, 4, 16); - TEST_VDUP(vector_shift, , int, s, 32, 2, 32); - TEST_VDUP(vector_shift, , int, s, 64, 1, 64); - TEST_VDUP(vector_shift, q, int, s, 8, 16, 8); - TEST_VDUP(vector_shift, q, int, s, 16, 8, 16); - TEST_VDUP(vector_shift, q, int, s, 32, 4, 32); - TEST_VDUP(vector_shift, q, int, s, 64, 2, 64); + VDUP(vector_shift, , int, s, 8, 8, 8); + VDUP(vector_shift, , int, s, 16, 4, 16); + VDUP(vector_shift, , int, s, 32, 2, 32); + VDUP(vector_shift, , int, s, 64, 1, 64); + VDUP(vector_shift, q, int, s, 8, 16, 8); + VDUP(vector_shift, q, int, s, 16, 8, 16); + VDUP(vector_shift, q, int, s, 32, 4, 32); + VDUP(vector_shift, q, int, s, 64, 2, 64); fprintf(ref_file, "\n%s cumulative saturation output:\n", TEST_MSG " (large shift amount, negative input)"); @@ -182,32 +182,32 @@ FNNAME (INSN) dump_results_hex2 (TEST_MSG, " (large shift amount, negative input)"); /* Fill input vector with max value, to check saturation on limits */ - TEST_VDUP(vector, , int, s, 8, 8, 0x7F); - TEST_VDUP(vector, , int, s, 16, 4, 0x7FFF); - TEST_VDUP(vector, , int, s, 32, 2, 0x7FFFFFFF); - TEST_VDUP(vector, , int, s, 64, 1, 0x7FFFFFFFFFFFFFFFLL); - TEST_VDUP(vector, , uint, u, 8, 8, 0xFF); - TEST_VDUP(vector, , uint, u, 16, 4, 0xFFFF); - TEST_VDUP(vector, , uint, u, 32, 2, 0xFFFFFFFF); - TEST_VDUP(vector, , uint, u, 64, 1, 0xFFFFFFFFFFFFFFFFULL); - TEST_VDUP(vector, q, int, s, 8, 16, 0x7F); - TEST_VDUP(vector, q, int, s, 16, 8, 0x7FFF); - TEST_VDUP(vector, q, int, s, 32, 4, 0x7FFFFFFF); - TEST_VDUP(vector, q, int, s, 64, 2, 0x7FFFFFFFFFFFFFFFLL); - TEST_VDUP(vector, q, uint, u, 8, 16, 0xFF); - TEST_VDUP(vector, q, uint, u, 16, 8, 0xFFFF); - TEST_VDUP(vector, q, uint, u, 32, 4, 0xFFFFFFFF); - TEST_VDUP(vector, q, uint, u, 64, 2, 0xFFFFFFFFFFFFFFFFULL); + VDUP(vector, , int, s, 8, 8, 0x7F); + VDUP(vector, , int, s, 16, 4, 0x7FFF); + VDUP(vector, , int, s, 32, 2, 0x7FFFFFFF); + VDUP(vector, , int, s, 64, 1, 0x7FFFFFFFFFFFFFFFLL); + VDUP(vector, , uint, u, 8, 8, 0xFF); + VDUP(vector, , uint, u, 16, 4, 0xFFFF); + VDUP(vector, , uint, u, 32, 2, 0xFFFFFFFF); + VDUP(vector, , uint, u, 64, 1, 0xFFFFFFFFFFFFFFFFULL); + VDUP(vector, q, int, s, 8, 16, 0x7F); + VDUP(vector, q, int, s, 16, 8, 0x7FFF); + VDUP(vector, q, int, s, 32, 4, 0x7FFFFFFF); + VDUP(vector, q, int, s, 64, 2, 0x7FFFFFFFFFFFFFFFLL); + VDUP(vector, q, uint, u, 8, 16, 0xFF); + VDUP(vector, q, uint, u, 16, 8, 0xFFFF); + VDUP(vector, q, uint, u, 32, 4, 0xFFFFFFFF); + VDUP(vector, q, uint, u, 64, 2, 0xFFFFFFFFFFFFFFFFULL); /* Shift by -1 */ - TEST_VDUP(vector_shift, , int, s, 8, 8, -1); - TEST_VDUP(vector_shift, , int, s, 16, 4, -1); - TEST_VDUP(vector_shift, , int, s, 32, 2, -1); - TEST_VDUP(vector_shift, , int, s, 64, 1, -1); - TEST_VDUP(vector_shift, q, int, s, 8, 16, -1); - TEST_VDUP(vector_shift, q, int, s, 16, 8, -1); - TEST_VDUP(vector_shift, q, int, s, 32, 4, -1); - TEST_VDUP(vector_shift, q, int, s, 64, 2, -1); + VDUP(vector_shift, , int, s, 8, 8, -1); + VDUP(vector_shift, , int, s, 16, 4, -1); + VDUP(vector_shift, , int, s, 32, 2, -1); + VDUP(vector_shift, , int, s, 64, 1, -1); + VDUP(vector_shift, q, int, s, 8, 16, -1); + VDUP(vector_shift, q, int, s, 16, 8, -1); + VDUP(vector_shift, q, int, s, 32, 4, -1); + VDUP(vector_shift, q, int, s, 64, 2, -1); fprintf(ref_file, "\n%s cumulative saturation output:\n", TEST_MSG " (check cumulative saturation)"); @@ -215,14 +215,14 @@ FNNAME (INSN) dump_results_hex2 (TEST_MSG, " (check cumulative saturation)"); /* Use large shift amounts */ - TEST_VDUP(vector_shift, , int, s, 8, 8, 8); - TEST_VDUP(vector_shift, , int, s, 16, 4, 16); - TEST_VDUP(vector_shift, , int, s, 32, 2, 32); - TEST_VDUP(vector_shift, , int, s, 64, 1, 64); - TEST_VDUP(vector_shift, q, int, s, 8, 16, 8); - TEST_VDUP(vector_shift, q, int, s, 16, 8, 16); - TEST_VDUP(vector_shift, q, int, s, 32, 4, 32); - TEST_VDUP(vector_shift, q, int, s, 64, 2, 64); + VDUP(vector_shift, , int, s, 8, 8, 8); + VDUP(vector_shift, , int, s, 16, 4, 16); + VDUP(vector_shift, , int, s, 32, 2, 32); + VDUP(vector_shift, , int, s, 64, 1, 64); + VDUP(vector_shift, q, int, s, 8, 16, 8); + VDUP(vector_shift, q, int, s, 16, 8, 16); + VDUP(vector_shift, q, int, s, 32, 4, 32); + VDUP(vector_shift, q, int, s, 64, 2, 64); fprintf(ref_file, "\n%s cumulative saturation output:\n", TEST_MSG " (large shift amount, positive input)"); @@ -230,10 +230,10 @@ FNNAME (INSN) dump_results_hex2 (TEST_MSG, " (large shift amount, positive input)"); /* Check 64 bits saturation */ - TEST_VDUP(vector, , int, s, 64, 1, -10); - TEST_VDUP(vector_shift, , int, s, 64, 1, 64); - TEST_VDUP(vector, q, int, s, 64, 2, 10); - TEST_VDUP(vector_shift, q, int, s, 64, 2, 64); + VDUP(vector, , int, s, 64, 1, -10); + VDUP(vector_shift, , int, s, 64, 1, 64); + VDUP(vector, q, int, s, 64, 2, 10); + VDUP(vector_shift, q, int, s, 64, 2, 64); fprintf(ref_file, "\n%s cumulative saturation output:\n", TEST_MSG " (check saturation on 64 bits)"); TEST_MACRO_ALL_VARIANTS_1_5(TEST_VQSHL, int); diff --git a/ref_vqshl_n.c b/ref_vqshl_n.c index d4a8f92..263e661 100644 --- a/ref_vqshl_n.c +++ b/ref_vqshl_n.c @@ -64,7 +64,7 @@ FNNAME (INSN) clean_results (); - TEST_MACRO_ALL_VARIANTS_2_5(TEST_VLOAD, vector, buffer); + TEST_MACRO_ALL_VARIANTS_2_5(VLOAD, vector, buffer); /* Choose shift amount arbitrarily */ fprintf(ref_file, "\n%s cumulative saturation output:\n", TEST_MSG); @@ -91,22 +91,22 @@ FNNAME (INSN) /* Fill input vector with max value, to check saturation on limits */ - TEST_VDUP(vector, , int, s, 8, 8, 0x7F); - TEST_VDUP(vector, , int, s, 16, 4, 0x7FFF); - TEST_VDUP(vector, , int, s, 32, 2, 0x7FFFFFFF); - TEST_VDUP(vector, , int, s, 64, 1, 0x7FFFFFFFFFFFFFFFLL); - TEST_VDUP(vector, , uint, u, 8, 8, 0xFF); - TEST_VDUP(vector, , uint, u, 16, 4, 0xFFFF); - TEST_VDUP(vector, , uint, u, 32, 2, 0xFFFFFFFF); - TEST_VDUP(vector, , uint, u, 64, 1, 0xFFFFFFFFFFFFFFFFULL); - TEST_VDUP(vector, q, int, s, 8, 16, 0x7F); - TEST_VDUP(vector, q, int, s, 16, 8, 0x7FFF); - TEST_VDUP(vector, q, int, s, 32, 4, 0x7FFFFFFF); - TEST_VDUP(vector, q, int, s, 64, 2, 0x7FFFFFFFFFFFFFFFLL); - TEST_VDUP(vector, q, uint, u, 8, 16, 0xFF); - TEST_VDUP(vector, q, uint, u, 16, 8, 0xFFFF); - TEST_VDUP(vector, q, uint, u, 32, 4, 0xFFFFFFFF); - TEST_VDUP(vector, q, uint, u, 64, 2, 0xFFFFFFFFFFFFFFFFULL); + VDUP(vector, , int, s, 8, 8, 0x7F); + VDUP(vector, , int, s, 16, 4, 0x7FFF); + VDUP(vector, , int, s, 32, 2, 0x7FFFFFFF); + VDUP(vector, , int, s, 64, 1, 0x7FFFFFFFFFFFFFFFLL); + VDUP(vector, , uint, u, 8, 8, 0xFF); + VDUP(vector, , uint, u, 16, 4, 0xFFFF); + VDUP(vector, , uint, u, 32, 2, 0xFFFFFFFF); + VDUP(vector, , uint, u, 64, 1, 0xFFFFFFFFFFFFFFFFULL); + VDUP(vector, q, int, s, 8, 16, 0x7F); + VDUP(vector, q, int, s, 16, 8, 0x7FFF); + VDUP(vector, q, int, s, 32, 4, 0x7FFFFFFF); + VDUP(vector, q, int, s, 64, 2, 0x7FFFFFFFFFFFFFFFLL); + VDUP(vector, q, uint, u, 8, 16, 0xFF); + VDUP(vector, q, uint, u, 16, 8, 0xFFFF); + VDUP(vector, q, uint, u, 32, 4, 0xFFFFFFFF); + VDUP(vector, q, uint, u, 64, 2, 0xFFFFFFFFFFFFFFFFULL); fprintf(ref_file, "\n%s cumulative saturation output:\n", TEST_MSG " (check saturation with large positive input)"); diff --git a/ref_vqshlu_n.c b/ref_vqshlu_n.c index f648d40..b72261c 100644 --- a/ref_vqshlu_n.c +++ b/ref_vqshlu_n.c @@ -66,14 +66,14 @@ FNNAME (INSN) clean_results (); /* Fill input vector with negative values, to check saturation on limits */ - TEST_VDUP(vector, , int, s, 8, 8, -1); - TEST_VDUP(vector, , int, s, 16, 4, -2); - TEST_VDUP(vector, , int, s, 32, 2, -3); - TEST_VDUP(vector, , int, s, 64, 1, -4); - TEST_VDUP(vector, q, int, s, 8, 16, -1); - TEST_VDUP(vector, q, int, s, 16, 8, -2); - TEST_VDUP(vector, q, int, s, 32, 4, -3); - TEST_VDUP(vector, q, int, s, 64, 2, -4); + VDUP(vector, , int, s, 8, 8, -1); + VDUP(vector, , int, s, 16, 4, -2); + VDUP(vector, , int, s, 32, 2, -3); + VDUP(vector, , int, s, 64, 1, -4); + VDUP(vector, q, int, s, 8, 16, -1); + VDUP(vector, q, int, s, 16, 8, -2); + VDUP(vector, q, int, s, 32, 4, -3); + VDUP(vector, q, int, s, 64, 2, -4); /* Choose shift amount arbitrarily */ fprintf(ref_file, "\n%s cumulative saturation output:\n", @@ -92,14 +92,14 @@ FNNAME (INSN) dump_results_hex2 (TEST_MSG, " (negative input)"); /* Fill input vector with max value, to check saturation on limits */ - TEST_VDUP(vector, , int, s, 8, 8, 0x7F); - TEST_VDUP(vector, , int, s, 16, 4, 0x7FFF); - TEST_VDUP(vector, , int, s, 32, 2, 0x7FFFFFFF); - TEST_VDUP(vector, , int, s, 64, 1, 0x7FFFFFFFFFFFFFFFLL); - TEST_VDUP(vector, q, int, s, 8, 16, 0x7F); - TEST_VDUP(vector, q, int, s, 16, 8, 0x7FFF); - TEST_VDUP(vector, q, int, s, 32, 4, 0x7FFFFFFF); - TEST_VDUP(vector, q, int, s, 64, 2, 0x7FFFFFFFFFFFFFFFULL); + VDUP(vector, , int, s, 8, 8, 0x7F); + VDUP(vector, , int, s, 16, 4, 0x7FFF); + VDUP(vector, , int, s, 32, 2, 0x7FFFFFFF); + VDUP(vector, , int, s, 64, 1, 0x7FFFFFFFFFFFFFFFLL); + VDUP(vector, q, int, s, 8, 16, 0x7F); + VDUP(vector, q, int, s, 16, 8, 0x7FFF); + VDUP(vector, q, int, s, 32, 4, 0x7FFFFFFF); + VDUP(vector, q, int, s, 64, 2, 0x7FFFFFFFFFFFFFFFULL); /* shift by 1 */ fprintf(ref_file, "\n%s cumulative saturation output:\n", @@ -132,14 +132,14 @@ FNNAME (INSN) dump_results_hex2 (TEST_MSG, " (check cumulative saturation: shift by 2)"); /* Fill input vector with positive values, to check normal case */ - TEST_VDUP(vector, , int, s, 8, 8, 1); - TEST_VDUP(vector, , int, s, 16, 4, 2); - TEST_VDUP(vector, , int, s, 32, 2, 3); - TEST_VDUP(vector, , int, s, 64, 1, 4); - TEST_VDUP(vector, q, int, s, 8, 16, 5); - TEST_VDUP(vector, q, int, s, 16, 8, 6); - TEST_VDUP(vector, q, int, s, 32, 4, 7); - TEST_VDUP(vector, q, int, s, 64, 2, 8); + VDUP(vector, , int, s, 8, 8, 1); + VDUP(vector, , int, s, 16, 4, 2); + VDUP(vector, , int, s, 32, 2, 3); + VDUP(vector, , int, s, 64, 1, 4); + VDUP(vector, q, int, s, 8, 16, 5); + VDUP(vector, q, int, s, 16, 8, 6); + VDUP(vector, q, int, s, 32, 4, 7); + VDUP(vector, q, int, s, 64, 2, 8); /* shift arbitrary amount */ fprintf(ref_file, "\n%s cumulative saturation output:\n", TEST_MSG); diff --git a/ref_vqshrn_n.c b/ref_vqshrn_n.c index fe5b127..9e61ccb 100644 --- a/ref_vqshrn_n.c +++ b/ref_vqshrn_n.c @@ -78,12 +78,12 @@ FNNAME (INSN) clean_results (); - TEST_VLOAD(vector, buffer, q, int, s, 16, 8); - TEST_VLOAD(vector, buffer, q, int, s, 32, 4); - TEST_VLOAD(vector, buffer, q, int, s, 64, 2); - TEST_VLOAD(vector, buffer, q, uint, u, 16, 8); - TEST_VLOAD(vector, buffer, q, uint, u, 32, 4); - TEST_VLOAD(vector, buffer, q, uint, u, 64, 2); + VLOAD(vector, buffer, q, int, s, 16, 8); + VLOAD(vector, buffer, q, int, s, 32, 4); + VLOAD(vector, buffer, q, int, s, 64, 2); + VLOAD(vector, buffer, q, uint, u, 16, 8); + VLOAD(vector, buffer, q, uint, u, 32, 4); + VLOAD(vector, buffer, q, uint, u, 64, 2); /* Choose shift amount arbitrarily */ fprintf(ref_file, "\n%s cumulative saturation output:\n", TEST_MSG); @@ -99,12 +99,12 @@ FNNAME (INSN) /* Another set of tests */ - TEST_VDUP(vector, q, int, s, 16, 8, 0x7FFF); - TEST_VDUP(vector, q, int, s, 32, 4, 0x7FFFFFFF); - TEST_VDUP(vector, q, int, s, 64, 2, 0x7FFFFFFFFFFFFFFFLL); - TEST_VDUP(vector, q, uint, u, 16, 8, 0xFFFF); - TEST_VDUP(vector, q, uint, u, 32, 4, 0xFFFFFFFF); - TEST_VDUP(vector, q, uint, u, 64, 2, 0xFFFFFFFFFFFFFFFFULL); + VDUP(vector, q, int, s, 16, 8, 0x7FFF); + VDUP(vector, q, int, s, 32, 4, 0x7FFFFFFF); + VDUP(vector, q, int, s, 64, 2, 0x7FFFFFFFFFFFFFFFLL); + VDUP(vector, q, uint, u, 16, 8, 0xFFFF); + VDUP(vector, q, uint, u, 32, 4, 0xFFFFFFFF); + VDUP(vector, q, uint, u, 64, 2, 0xFFFFFFFFFFFFFFFFULL); /* shift by 3 to exercise saturation code in the lib */ fprintf(ref_file, "\n%s cumulative saturation output:\n", diff --git a/ref_vqshrun_n.c b/ref_vqshrun_n.c index b30b394..c2a2e15 100644 --- a/ref_vqshrun_n.c +++ b/ref_vqshrun_n.c @@ -73,9 +73,9 @@ FNNAME (INSN) clean_results (); /* Fill input vector with negative values, to check saturation on limits */ - TEST_VDUP(vector, q, int, s, 16, 8, -2); - TEST_VDUP(vector, q, int, s, 32, 4, -3); - TEST_VDUP(vector, q, int, s, 64, 2, -4); + VDUP(vector, q, int, s, 16, 8, -2); + VDUP(vector, q, int, s, 32, 4, -3); + VDUP(vector, q, int, s, 64, 2, -4); /* Choose shift amount arbitrarily */ fprintf(ref_file, "\n%s cumulative saturation output:\n", @@ -88,9 +88,9 @@ FNNAME (INSN) dump_results_hex2 (TEST_MSG, " (negative input)"); /* Fill input vector with max value, to check saturation on limits */ - TEST_VDUP(vector, q, int, s, 16, 8, 0x7FFF); - TEST_VDUP(vector, q, int, s, 32, 4, 0x7FFFFFFF); - TEST_VDUP(vector, q, int, s, 64, 2, 0x7FFFFFFFFFFFFFFFLL); + VDUP(vector, q, int, s, 16, 8, 0x7FFF); + VDUP(vector, q, int, s, 32, 4, 0x7FFFFFFF); + VDUP(vector, q, int, s, 64, 2, 0x7FFFFFFFFFFFFFFFLL); /* shift by 1 */ fprintf(ref_file, "\n%s cumulative saturation output:\n", @@ -102,9 +102,9 @@ FNNAME (INSN) dump_results_hex2 (TEST_MSG, " (check cumulative saturation)"); /* Fill input vector with positive values, to check normal case */ - TEST_VDUP(vector, q, int, s, 16, 8, 0x1234); - TEST_VDUP(vector, q, int, s, 32, 4, 0x87654321); - TEST_VDUP(vector, q, int, s, 64, 2, 0xDEADBEEF); + VDUP(vector, q, int, s, 16, 8, 0x1234); + VDUP(vector, q, int, s, 32, 4, 0x87654321); + VDUP(vector, q, int, s, 64, 2, 0xDEADBEEF); /* shift arbitrary amount */ fprintf(ref_file, "\n%s cumulative saturation output:\n", TEST_MSG); diff --git a/ref_vqsub.c b/ref_vqsub.c index f765b27..dc44505 100644 --- a/ref_vqsub.c +++ b/ref_vqsub.c @@ -42,12 +42,12 @@ void vqsub_64(void) DECL_VARIABLE_ALL_VARIANTS(vector_res); /* Initialize input "vector1" from "buffer" */ - TEST_MACRO_ALL_VARIANTS_2_5(TEST_VLOAD, vector1, buffer); + TEST_MACRO_ALL_VARIANTS_2_5(VLOAD, vector1, buffer); - TEST_VDUP(vector2, , int, s, 64, 1, 0x0); - TEST_VDUP(vector2, , uint, u, 64, 1, 0x0); - TEST_VDUP(vector2, q, int, s, 64, 2, 0x0); - TEST_VDUP(vector2, q, uint, u, 64, 2, 0x0); + VDUP(vector2, , int, s, 64, 1, 0x0); + VDUP(vector2, , uint, u, 64, 1, 0x0); + VDUP(vector2, q, int, s, 64, 2, 0x0); + VDUP(vector2, q, uint, u, 64, 2, 0x0); fprintf(ref_file, "\n%s 64 bits saturation cumulative saturation output:\n", @@ -64,10 +64,10 @@ void vqsub_64(void) DUMP(TEST_MSG, uint, 64, 2, PRIx64); /* Another set of tests */ - TEST_VDUP(vector2, , int, s, 64, 1, 0x44); - TEST_VDUP(vector2, , uint, u, 64, 1, 0x88); - TEST_VDUP(vector2, q, int, s, 64, 2, 0x44); - TEST_VDUP(vector2, q, uint, u, 64, 2, 0x88); + VDUP(vector2, , int, s, 64, 1, 0x44); + VDUP(vector2, , uint, u, 64, 1, 0x88); + VDUP(vector2, q, int, s, 64, 2, 0x44); + VDUP(vector2, q, uint, u, 64, 2, 0x88); fprintf(ref_file, "\n%s 64 bits saturation cumulative saturation output:\n", @@ -83,15 +83,15 @@ void vqsub_64(void) DUMP(TEST_MSG, uint, 64, 2, PRIx64); /* Another set of tests */ - TEST_VDUP(vector2, , int, s, 64, 1, 0x7fffffffffffffffLL); - TEST_VDUP(vector2, , uint, u, 64, 1, 0xffffffffffffffffULL); + VDUP(vector2, , int, s, 64, 1, 0x7fffffffffffffffLL); + VDUP(vector2, , uint, u, 64, 1, 0xffffffffffffffffULL); /* To check positive saturation, we need to write a positive value in vector1 */ - TEST_VDUP(vector1, q, int, s, 64, 2, 0x3fffffffffffffffLL); - TEST_VDUP(vector2, q, int, s, 64, 2, 0x8000000000000000LL); + VDUP(vector1, q, int, s, 64, 2, 0x3fffffffffffffffLL); + VDUP(vector2, q, int, s, 64, 2, 0x8000000000000000LL); - TEST_VDUP(vector2, q, uint, u, 64, 2, 0xffffffffffffffffULL); + VDUP(vector2, q, uint, u, 64, 2, 0xffffffffffffffffULL); fprintf(ref_file, "\n%s 64 bits saturation cumulative saturation output:\n", @@ -108,12 +108,12 @@ void vqsub_64(void) /* To improve coverage, check saturation with less than 64 bits too */ fprintf(ref_file, "\nless than 64 bits saturation:\n"); - TEST_VDUP(vector2, , int, s, 8, 8, 0x7F); - TEST_VDUP(vector2, , int, s, 16, 4, 0x7FFF); - TEST_VDUP(vector2, , int, s, 32, 2, 0x7FFFFFFF); - TEST_VDUP(vector2, q, int, s, 8, 16, 0x7F); - TEST_VDUP(vector2, q, int, s, 16, 8, 0x7FFF); - TEST_VDUP(vector2, q, int, s, 32, 4, 0x7FFFFFFF); + VDUP(vector2, , int, s, 8, 8, 0x7F); + VDUP(vector2, , int, s, 16, 4, 0x7FFF); + VDUP(vector2, , int, s, 32, 2, 0x7FFFFFFF); + VDUP(vector2, q, int, s, 8, 16, 0x7F); + VDUP(vector2, q, int, s, 16, 8, 0x7FFF); + VDUP(vector2, q, int, s, 32, 4, 0x7FFFFFFF); TEST_BINARY_SAT_OP(INSN_NAME, , int, s, 8, 8); TEST_BINARY_SAT_OP(INSN_NAME, , int, s, 16, 4); @@ -130,19 +130,19 @@ void vqsub_64(void) DUMP(TEST_MSG, int, 32, 4, PRIx32); - TEST_VDUP(vector1, , uint, u, 8, 8, 0x10); - TEST_VDUP(vector1, , uint, u, 16, 4, 0x10); - TEST_VDUP(vector1, , uint, u, 32, 2, 0x10); - TEST_VDUP(vector1, q, uint, u, 8, 16, 0x10); - TEST_VDUP(vector1, q, uint, u, 16, 8, 0x10); - TEST_VDUP(vector1, q, uint, u, 32, 4, 0x10); + VDUP(vector1, , uint, u, 8, 8, 0x10); + VDUP(vector1, , uint, u, 16, 4, 0x10); + VDUP(vector1, , uint, u, 32, 2, 0x10); + VDUP(vector1, q, uint, u, 8, 16, 0x10); + VDUP(vector1, q, uint, u, 16, 8, 0x10); + VDUP(vector1, q, uint, u, 32, 4, 0x10); - TEST_VDUP(vector2, , uint, u, 8, 8, 0x20); - TEST_VDUP(vector2, , uint, u, 16, 4, 0x20); - TEST_VDUP(vector2, , uint, u, 32, 2, 0x20); - TEST_VDUP(vector2, q, uint, u, 8, 16, 0x20); - TEST_VDUP(vector2, q, uint, u, 16, 8, 0x20); - TEST_VDUP(vector2, q, uint, u, 32, 4, 0x20); + VDUP(vector2, , uint, u, 8, 8, 0x20); + VDUP(vector2, , uint, u, 16, 4, 0x20); + VDUP(vector2, , uint, u, 32, 2, 0x20); + VDUP(vector2, q, uint, u, 8, 16, 0x20); + VDUP(vector2, q, uint, u, 16, 8, 0x20); + VDUP(vector2, q, uint, u, 32, 4, 0x20); fprintf(ref_file, "\n%s less than 64 bits saturation cumulative saturation output:\n", diff --git a/ref_vrecpe.c b/ref_vrecpe.c index 32240a1..5bbbf7c 100644 --- a/ref_vrecpe.c +++ b/ref_vrecpe.c @@ -61,10 +61,10 @@ void exec_vrecpe(void) clean_results (); /* Choose init value arbitrarily */ - TEST_VDUP(vector, , uint, u, 32, 2, 0x12345678); - TEST_VDUP(vector, , float, f, 32, 2, 1.9f); - TEST_VDUP(vector, q, uint, u, 32, 4, 0xABCDEF10); - TEST_VDUP(vector, q, float, f, 32, 4, 125.0f); + VDUP(vector, , uint, u, 32, 2, 0x12345678); + VDUP(vector, , float, f, 32, 2, 1.9f); + VDUP(vector, q, uint, u, 32, 4, 0xABCDEF10); + VDUP(vector, q, float, f, 32, 4, 125.0f); /* Apply the operator */ TEST_VRECPE(, uint, u, 32, 2); @@ -79,10 +79,10 @@ void exec_vrecpe(void) DUMP_FP(TEST_MSG, float, 32, 4, PRIx32); /* Choose init value arbitrarily */ - TEST_VDUP(vector, , uint, u, 32, 2, 0xFFFFFFFF); - TEST_VDUP(vector, , float, f, 32, 2, -10.0f); - TEST_VDUP(vector, q, uint, u, 32, 4, 0x89081234); - TEST_VDUP(vector, q, float, f, 32, 4, -125.0f); + VDUP(vector, , uint, u, 32, 2, 0xFFFFFFFF); + VDUP(vector, , float, f, 32, 2, -10.0f); + VDUP(vector, q, uint, u, 32, 4, 0x89081234); + VDUP(vector, q, float, f, 32, 4, -125.0f); /* Apply the operator */ TEST_VRECPE(, uint, u, 32, 2); @@ -97,8 +97,8 @@ void exec_vrecpe(void) DUMP_FP(TEST_MSG, float, 32, 4, PRIx32); /* Test FP variants with special input values (NaN, infinity) */ - TEST_VDUP(vector, , float, f, 32, 2, NAN); - TEST_VDUP(vector, q, float, f, 32, 4, HUGE_VALF); + VDUP(vector, , float, f, 32, 2, NAN); + VDUP(vector, q, float, f, 32, 4, HUGE_VALF); /* Apply the operator */ TEST_VRECPE(, float, f, 32, 2); @@ -109,8 +109,8 @@ void exec_vrecpe(void) DUMP_FP(TEST_MSG, float, 32, 4, PRIx32); /* Test FP variants with special input values (zero, large value) */ - TEST_VDUP(vector, , float, f, 32, 2, 0.0f); - TEST_VDUP(vector, q, float, f, 32, 4, 9.0e37f); + VDUP(vector, , float, f, 32, 2, 0.0f); + VDUP(vector, q, float, f, 32, 4, 9.0e37f); /* Apply the operator */ TEST_VRECPE(, float, f, 32, 2); @@ -121,8 +121,8 @@ void exec_vrecpe(void) DUMP_FP(TEST_MSG, float, 32, 4, PRIx32); /* Test FP variants with special input values (-0, -infinity) */ - TEST_VDUP(vector, , float, f, 32, 2, -0.0f); - TEST_VDUP(vector, q, float, f, 32, 4, -HUGE_VALF); + VDUP(vector, , float, f, 32, 2, -0.0f); + VDUP(vector, q, float, f, 32, 4, -HUGE_VALF); /* Apply the operator */ TEST_VRECPE(, float, f, 32, 2); @@ -133,7 +133,7 @@ void exec_vrecpe(void) DUMP_FP(TEST_MSG, float, 32, 4, PRIx32); /* Test FP variants with special input values (large negative value) */ - TEST_VDUP(vector, , float, f, 32, 2, -9.0e37f); + VDUP(vector, , float, f, 32, 2, -9.0e37f); /* Apply the operator */ TEST_VRECPE(, float, f, 32, 2); diff --git a/ref_vrecps.c b/ref_vrecps.c index 0d3461c..15f841e 100644 --- a/ref_vrecps.c +++ b/ref_vrecps.c @@ -61,11 +61,11 @@ void exec_vrecps(void) clean_results (); /* Choose init value arbitrarily */ - TEST_VDUP(vector, , float, f, 32, 2, 12.9f); - TEST_VDUP(vector, q, float, f, 32, 4, 9.2f); + VDUP(vector, , float, f, 32, 2, 12.9f); + VDUP(vector, q, float, f, 32, 4, 9.2f); - TEST_VDUP(vector2, , float, f, 32, 2, 8.9f); - TEST_VDUP(vector2, q, float, f, 32, 4, 3.2f); + VDUP(vector2, , float, f, 32, 2, 8.9f); + VDUP(vector2, q, float, f, 32, 4, 3.2f); /* Apply the operator */ TEST_VRECPS(, float, f, 32, 2); @@ -78,8 +78,8 @@ void exec_vrecps(void) /* Test FP variants with special input values (NaN) */ - TEST_VDUP(vector, , float, f, 32, 2, NAN); - TEST_VDUP(vector2, q, float, f, 32, 4, NAN); + VDUP(vector, , float, f, 32, 2, NAN); + VDUP(vector2, q, float, f, 32, 4, NAN); /* Apply the operator */ TEST_VRECPS(, float, f, 32, 2); @@ -91,9 +91,9 @@ void exec_vrecps(void) /* Test FP variants with special input values (infinity, 0) */ - TEST_VDUP(vector, , float, f, 32, 2, HUGE_VALF); - TEST_VDUP(vector, q, float, f, 32, 4, 0.0f); - TEST_VDUP(vector2, q, float, f, 32, 4, 3.2f); /* Restore a normal value */ + VDUP(vector, , float, f, 32, 2, HUGE_VALF); + VDUP(vector, q, float, f, 32, 4, 0.0f); + VDUP(vector2, q, float, f, 32, 4, 3.2f); /* Restore a normal value */ /* Apply the operator */ TEST_VRECPS(, float, f, 32, 2); @@ -105,10 +105,10 @@ void exec_vrecps(void) /* Test FP variants with only special input values (infinity, 0) */ - TEST_VDUP(vector, , float, f, 32, 2, HUGE_VALF); - TEST_VDUP(vector, q, float, f, 32, 4, 0.0f); - TEST_VDUP(vector2, , float, f, 32, 2, 0.0f); - TEST_VDUP(vector2, q, float, f, 32, 4, HUGE_VALF); + VDUP(vector, , float, f, 32, 2, HUGE_VALF); + VDUP(vector, q, float, f, 32, 4, 0.0f); + VDUP(vector2, , float, f, 32, 2, 0.0f); + VDUP(vector2, q, float, f, 32, 4, HUGE_VALF); /* Apply the operator */ TEST_VRECPS(, float, f, 32, 2); diff --git a/ref_vreinterpret.c b/ref_vreinterpret.c index 894431d..02b3e82 100644 --- a/ref_vreinterpret.c +++ b/ref_vreinterpret.c @@ -83,12 +83,12 @@ void exec_vreinterpret (void) /* Initialize input "vector" from "buffer" */ - TEST_MACRO_ALL_VARIANTS_2_5(TEST_VLOAD, vector, buffer); - TEST_VLOAD(vector, buffer, , float, f, 32, 2); - TEST_VLOAD(vector, buffer, q, float, f, 32, 4); + TEST_MACRO_ALL_VARIANTS_2_5(VLOAD, vector, buffer); + VLOAD(vector, buffer, , float, f, 32, 2); + VLOAD(vector, buffer, q, float, f, 32, 4); #if defined(__ARM_FP16_FORMAT_IEEE) - TEST_VLOAD(vector, buffer, , float, f, 16, 4); - TEST_VLOAD(vector, buffer, q, float, f, 16, 8); + VLOAD(vector, buffer, , float, f, 16, 4); + VLOAD(vector, buffer, q, float, f, 16, 8); #endif /* The same result buffers are used multiple times, so output them diff --git a/ref_vrev.c b/ref_vrev.c index a0ebd94..f639182 100644 --- a/ref_vrev.c +++ b/ref_vrev.c @@ -50,9 +50,9 @@ void exec_vrev (void) clean_results (); /* Initialize input "vector" from "buffer" */ - TEST_MACRO_ALL_VARIANTS_2_5(TEST_VLOAD, vector, buffer); - TEST_VLOAD(vector, buffer, , float, f, 32, 2); - TEST_VLOAD(vector, buffer, q, float, f, 32, 4); + TEST_MACRO_ALL_VARIANTS_2_5(VLOAD, vector, buffer); + VLOAD(vector, buffer, , float, f, 32, 2); + VLOAD(vector, buffer, q, float, f, 32, 4); /* Check vrev in each of the existing combinations */ #define TEST_MSG "VREV16" diff --git a/ref_vrshl.c b/ref_vrshl.c index 205f8d2..8790619 100644 --- a/ref_vrshl.c +++ b/ref_vrshl.c @@ -51,65 +51,65 @@ void exec_vrshl (void) clean_results (); /* Fill input vector with 0, to check behavior on limits */ - TEST_VDUP(vector, , int, s, 8, 8, 0); - TEST_VDUP(vector, , int, s, 16, 4, 0); - TEST_VDUP(vector, , int, s, 32, 2, 0); - TEST_VDUP(vector, , int, s, 64, 1, 0); - TEST_VDUP(vector, , uint, u, 8, 8, 0); - TEST_VDUP(vector, , uint, u, 16, 4, 0); - TEST_VDUP(vector, , uint, u, 32, 2, 0); - TEST_VDUP(vector, , uint, u, 64, 1, 0); - TEST_VDUP(vector, q, int, s, 8, 16, 0); - TEST_VDUP(vector, q, int, s, 16, 8, 0); - TEST_VDUP(vector, q, int, s, 32, 4, 0); - TEST_VDUP(vector, q, int, s, 64, 2, 0); - TEST_VDUP(vector, q, uint, u, 8, 16, 0); - TEST_VDUP(vector, q, uint, u, 16, 8, 0); - TEST_VDUP(vector, q, uint, u, 32, 4, 0); - TEST_VDUP(vector, q, uint, u, 64, 2, 0); + VDUP(vector, , int, s, 8, 8, 0); + VDUP(vector, , int, s, 16, 4, 0); + VDUP(vector, , int, s, 32, 2, 0); + VDUP(vector, , int, s, 64, 1, 0); + VDUP(vector, , uint, u, 8, 8, 0); + VDUP(vector, , uint, u, 16, 4, 0); + VDUP(vector, , uint, u, 32, 2, 0); + VDUP(vector, , uint, u, 64, 1, 0); + VDUP(vector, q, int, s, 8, 16, 0); + VDUP(vector, q, int, s, 16, 8, 0); + VDUP(vector, q, int, s, 32, 4, 0); + VDUP(vector, q, int, s, 64, 2, 0); + VDUP(vector, q, uint, u, 8, 16, 0); + VDUP(vector, q, uint, u, 16, 8, 0); + VDUP(vector, q, uint, u, 32, 4, 0); + VDUP(vector, q, uint, u, 64, 2, 0); /* Choose init value arbitrarily, will be used as shift amount */ /* Use values equal to one-less-than the type width to check behaviour on limits */ - TEST_VDUP(vector_shift, , int, s, 8, 8, 7); - TEST_VDUP(vector_shift, , int, s, 16, 4, 15); - TEST_VDUP(vector_shift, , int, s, 32, 2, 31); - TEST_VDUP(vector_shift, , int, s, 64, 1, 63); - TEST_VDUP(vector_shift, q, int, s, 8, 16, 7); - TEST_VDUP(vector_shift, q, int, s, 16, 8, 15); - TEST_VDUP(vector_shift, q, int, s, 32, 4, 31); - TEST_VDUP(vector_shift, q, int, s, 64, 2, 63); + VDUP(vector_shift, , int, s, 8, 8, 7); + VDUP(vector_shift, , int, s, 16, 4, 15); + VDUP(vector_shift, , int, s, 32, 2, 31); + VDUP(vector_shift, , int, s, 64, 1, 63); + VDUP(vector_shift, q, int, s, 8, 16, 7); + VDUP(vector_shift, q, int, s, 16, 8, 15); + VDUP(vector_shift, q, int, s, 32, 4, 31); + VDUP(vector_shift, q, int, s, 64, 2, 63); TEST_MACRO_ALL_VARIANTS_1_5(TEST_VRSHL, int); dump_results_hex2 (TEST_MSG, " (with input = 0)"); /* Use negative shift amounts */ - TEST_VDUP(vector_shift, , int, s, 8, 8, -1); - TEST_VDUP(vector_shift, , int, s, 16, 4, -2); - TEST_VDUP(vector_shift, , int, s, 32, 2, -3); - TEST_VDUP(vector_shift, , int, s, 64, 1, -4); - TEST_VDUP(vector_shift, q, int, s, 8, 16, -7); - TEST_VDUP(vector_shift, q, int, s, 16, 8, -11); - TEST_VDUP(vector_shift, q, int, s, 32, 4, -13); - TEST_VDUP(vector_shift, q, int, s, 64, 2, -20); + VDUP(vector_shift, , int, s, 8, 8, -1); + VDUP(vector_shift, , int, s, 16, 4, -2); + VDUP(vector_shift, , int, s, 32, 2, -3); + VDUP(vector_shift, , int, s, 64, 1, -4); + VDUP(vector_shift, q, int, s, 8, 16, -7); + VDUP(vector_shift, q, int, s, 16, 8, -11); + VDUP(vector_shift, q, int, s, 32, 4, -13); + VDUP(vector_shift, q, int, s, 64, 2, -20); TEST_MACRO_ALL_VARIANTS_1_5(TEST_VRSHL, int); dump_results_hex2 (TEST_MSG, " (input 0 and negative shift amount)"); /* Test again, with predefined input values */ - TEST_MACRO_ALL_VARIANTS_2_5(TEST_VLOAD, vector, buffer); + TEST_MACRO_ALL_VARIANTS_2_5(VLOAD, vector, buffer); /* Choose init value arbitrarily, will be used as shift amount */ - TEST_VDUP(vector_shift, , int, s, 8, 8, 1); - TEST_VDUP(vector_shift, , int, s, 16, 4, 3); - TEST_VDUP(vector_shift, , int, s, 32, 2, 8); - TEST_VDUP(vector_shift, , int, s, 64, 1, -3); - TEST_VDUP(vector_shift, q, int, s, 8, 16, 10); - TEST_VDUP(vector_shift, q, int, s, 16, 8, 12); - TEST_VDUP(vector_shift, q, int, s, 32, 4, 32); - TEST_VDUP(vector_shift, q, int, s, 64, 2, 63); + VDUP(vector_shift, , int, s, 8, 8, 1); + VDUP(vector_shift, , int, s, 16, 4, 3); + VDUP(vector_shift, , int, s, 32, 2, 8); + VDUP(vector_shift, , int, s, 64, 1, -3); + VDUP(vector_shift, q, int, s, 8, 16, 10); + VDUP(vector_shift, q, int, s, 16, 8, 12); + VDUP(vector_shift, q, int, s, 32, 4, 32); + VDUP(vector_shift, q, int, s, 64, 2, 63); TEST_MACRO_ALL_VARIANTS_1_5(TEST_VRSHL, int); @@ -117,102 +117,102 @@ void exec_vrshl (void) /* Use negative shift amounts */ - TEST_VDUP(vector_shift, , int, s, 8, 8, -1); - TEST_VDUP(vector_shift, , int, s, 16, 4, -2); - TEST_VDUP(vector_shift, , int, s, 32, 2, -3); - TEST_VDUP(vector_shift, , int, s, 64, 1, -4); - TEST_VDUP(vector_shift, q, int, s, 8, 16, -7); - TEST_VDUP(vector_shift, q, int, s, 16, 8, -11); - TEST_VDUP(vector_shift, q, int, s, 32, 4, -13); - TEST_VDUP(vector_shift, q, int, s, 64, 2, -20); + VDUP(vector_shift, , int, s, 8, 8, -1); + VDUP(vector_shift, , int, s, 16, 4, -2); + VDUP(vector_shift, , int, s, 32, 2, -3); + VDUP(vector_shift, , int, s, 64, 1, -4); + VDUP(vector_shift, q, int, s, 8, 16, -7); + VDUP(vector_shift, q, int, s, 16, 8, -11); + VDUP(vector_shift, q, int, s, 32, 4, -13); + VDUP(vector_shift, q, int, s, 64, 2, -20); TEST_MACRO_ALL_VARIANTS_1_5(TEST_VRSHL, int); dump_results_hex2 (TEST_MSG, " (negative shift amount)"); /* Fill input vector with max value, to check behavior on limits */ - TEST_VDUP(vector, , int, s, 8, 8, 0x7F); - TEST_VDUP(vector, , int, s, 16, 4, 0x7FFF); - TEST_VDUP(vector, , int, s, 32, 2, 0x7FFFFFFF); - TEST_VDUP(vector, , int, s, 64, 1, 0x7FFFFFFFFFFFFFFFLL); - TEST_VDUP(vector, , uint, u, 8, 8, 0xFF); - TEST_VDUP(vector, , uint, u, 16, 4, 0xFFFF); - TEST_VDUP(vector, , uint, u, 32, 2, 0xFFFFFFFF); - TEST_VDUP(vector, , uint, u, 64, 1, 0xFFFFFFFFFFFFFFFFULL); - TEST_VDUP(vector, q, int, s, 8, 16, 0x7F); - TEST_VDUP(vector, q, int, s, 16, 8, 0x7FFF); - TEST_VDUP(vector, q, int, s, 32, 4, 0x7FFFFFFF); - TEST_VDUP(vector, q, int, s, 64, 2, 0x7FFFFFFFFFFFFFFFLL); - TEST_VDUP(vector, q, uint, u, 8, 16, 0xFF); - TEST_VDUP(vector, q, uint, u, 16, 8, 0xFFFF); - TEST_VDUP(vector, q, uint, u, 32, 4, 0xFFFFFFFF); - TEST_VDUP(vector, q, uint, u, 64, 2, 0xFFFFFFFFFFFFFFFFULL); + VDUP(vector, , int, s, 8, 8, 0x7F); + VDUP(vector, , int, s, 16, 4, 0x7FFF); + VDUP(vector, , int, s, 32, 2, 0x7FFFFFFF); + VDUP(vector, , int, s, 64, 1, 0x7FFFFFFFFFFFFFFFLL); + VDUP(vector, , uint, u, 8, 8, 0xFF); + VDUP(vector, , uint, u, 16, 4, 0xFFFF); + VDUP(vector, , uint, u, 32, 2, 0xFFFFFFFF); + VDUP(vector, , uint, u, 64, 1, 0xFFFFFFFFFFFFFFFFULL); + VDUP(vector, q, int, s, 8, 16, 0x7F); + VDUP(vector, q, int, s, 16, 8, 0x7FFF); + VDUP(vector, q, int, s, 32, 4, 0x7FFFFFFF); + VDUP(vector, q, int, s, 64, 2, 0x7FFFFFFFFFFFFFFFLL); + VDUP(vector, q, uint, u, 8, 16, 0xFF); + VDUP(vector, q, uint, u, 16, 8, 0xFFFF); + VDUP(vector, q, uint, u, 32, 4, 0xFFFFFFFF); + VDUP(vector, q, uint, u, 64, 2, 0xFFFFFFFFFFFFFFFFULL); /* Use -1 shift amount to check overflow with round_const */ - TEST_VDUP(vector_shift, , int, s, 8, 8, -1); - TEST_VDUP(vector_shift, , int, s, 16, 4, -1); - TEST_VDUP(vector_shift, , int, s, 32, 2, -1); - TEST_VDUP(vector_shift, , int, s, 64, 1, -1); - TEST_VDUP(vector_shift, q, int, s, 8, 16, -1); - TEST_VDUP(vector_shift, q, int, s, 16, 8, -1); - TEST_VDUP(vector_shift, q, int, s, 32, 4, -1); - TEST_VDUP(vector_shift, q, int, s, 64, 2, -1); + VDUP(vector_shift, , int, s, 8, 8, -1); + VDUP(vector_shift, , int, s, 16, 4, -1); + VDUP(vector_shift, , int, s, 32, 2, -1); + VDUP(vector_shift, , int, s, 64, 1, -1); + VDUP(vector_shift, q, int, s, 8, 16, -1); + VDUP(vector_shift, q, int, s, 16, 8, -1); + VDUP(vector_shift, q, int, s, 32, 4, -1); + VDUP(vector_shift, q, int, s, 64, 2, -1); TEST_MACRO_ALL_VARIANTS_1_5(TEST_VRSHL, int); dump_results_hex2 (TEST_MSG, " (checking round_const overflow: shift by -1)"); /* Use -3 shift amount to check overflow with round_const */ - TEST_VDUP(vector_shift, , int, s, 8, 8, -3); - TEST_VDUP(vector_shift, , int, s, 16, 4, -3); - TEST_VDUP(vector_shift, , int, s, 32, 2, -3); - TEST_VDUP(vector_shift, , int, s, 64, 1, -3); - TEST_VDUP(vector_shift, q, int, s, 8, 16, -3); - TEST_VDUP(vector_shift, q, int, s, 16, 8, -3); - TEST_VDUP(vector_shift, q, int, s, 32, 4, -3); - TEST_VDUP(vector_shift, q, int, s, 64, 2, -3); + VDUP(vector_shift, , int, s, 8, 8, -3); + VDUP(vector_shift, , int, s, 16, 4, -3); + VDUP(vector_shift, , int, s, 32, 2, -3); + VDUP(vector_shift, , int, s, 64, 1, -3); + VDUP(vector_shift, q, int, s, 8, 16, -3); + VDUP(vector_shift, q, int, s, 16, 8, -3); + VDUP(vector_shift, q, int, s, 32, 4, -3); + VDUP(vector_shift, q, int, s, 64, 2, -3); TEST_MACRO_ALL_VARIANTS_1_5(TEST_VRSHL, int); dump_results_hex2 (TEST_MSG, " (checking round_const overflow: shift by -3)"); /* Use negative shift amount as large as input vector width */ - TEST_VDUP(vector_shift, , int, s, 8, 8, -8); - TEST_VDUP(vector_shift, , int, s, 16, 4, -16); - TEST_VDUP(vector_shift, , int, s, 32, 2, -32); - TEST_VDUP(vector_shift, , int, s, 64, 1, -64); - TEST_VDUP(vector_shift, q, int, s, 8, 16, -8); - TEST_VDUP(vector_shift, q, int, s, 16, 8, -16); - TEST_VDUP(vector_shift, q, int, s, 32, 4, -32); - TEST_VDUP(vector_shift, q, int, s, 64, 2, -64); + VDUP(vector_shift, , int, s, 8, 8, -8); + VDUP(vector_shift, , int, s, 16, 4, -16); + VDUP(vector_shift, , int, s, 32, 2, -32); + VDUP(vector_shift, , int, s, 64, 1, -64); + VDUP(vector_shift, q, int, s, 8, 16, -8); + VDUP(vector_shift, q, int, s, 16, 8, -16); + VDUP(vector_shift, q, int, s, 32, 4, -32); + VDUP(vector_shift, q, int, s, 64, 2, -64); TEST_MACRO_ALL_VARIANTS_1_5(TEST_VRSHL, int); dump_results_hex2 (TEST_MSG, " (checking negative shift amount as large as input vector width)"); /* Test large shift amount */ - TEST_VDUP(vector_shift, , int, s, 8, 8, 10); - TEST_VDUP(vector_shift, , int, s, 16, 4, 20); - TEST_VDUP(vector_shift, , int, s, 32, 2, 33); - TEST_VDUP(vector_shift, , int, s, 64, 1, 65); - TEST_VDUP(vector_shift, q, int, s, 8, 16, 9); - TEST_VDUP(vector_shift, q, int, s, 16, 8, 16); - TEST_VDUP(vector_shift, q, int, s, 32, 4, 32); - TEST_VDUP(vector_shift, q, int, s, 64, 2, 64); + VDUP(vector_shift, , int, s, 8, 8, 10); + VDUP(vector_shift, , int, s, 16, 4, 20); + VDUP(vector_shift, , int, s, 32, 2, 33); + VDUP(vector_shift, , int, s, 64, 1, 65); + VDUP(vector_shift, q, int, s, 8, 16, 9); + VDUP(vector_shift, q, int, s, 16, 8, 16); + VDUP(vector_shift, q, int, s, 32, 4, 32); + VDUP(vector_shift, q, int, s, 64, 2, 64); TEST_MACRO_ALL_VARIANTS_1_5(TEST_VRSHL, int); dump_results_hex2 (TEST_MSG, " (large shift amount)"); /* Test large negative shift amount */ - TEST_VDUP(vector_shift, , int, s, 8, 8, -10); - TEST_VDUP(vector_shift, , int, s, 16, 4, -20); - TEST_VDUP(vector_shift, , int, s, 32, 2, -33); - TEST_VDUP(vector_shift, , int, s, 64, 1, -65); - TEST_VDUP(vector_shift, q, int, s, 8, 16, -9); - TEST_VDUP(vector_shift, q, int, s, 16, 8, -16); - TEST_VDUP(vector_shift, q, int, s, 32, 4, -32); - TEST_VDUP(vector_shift, q, int, s, 64, 2, -64); + VDUP(vector_shift, , int, s, 8, 8, -10); + VDUP(vector_shift, , int, s, 16, 4, -20); + VDUP(vector_shift, , int, s, 32, 2, -33); + VDUP(vector_shift, , int, s, 64, 1, -65); + VDUP(vector_shift, q, int, s, 8, 16, -9); + VDUP(vector_shift, q, int, s, 16, 8, -16); + VDUP(vector_shift, q, int, s, 32, 4, -32); + VDUP(vector_shift, q, int, s, 64, 2, -64); TEST_MACRO_ALL_VARIANTS_1_5(TEST_VRSHL, int); diff --git a/ref_vrshr_n.c b/ref_vrshr_n.c index 761d500..c19c7a4 100644 --- a/ref_vrshr_n.c +++ b/ref_vrshr_n.c @@ -50,7 +50,7 @@ void exec_vrshr_n (void) clean_results (); /* Initialize input "vector" from "buffer" */ - TEST_MACRO_ALL_VARIANTS_2_5(TEST_VLOAD, vector, buffer); + TEST_MACRO_ALL_VARIANTS_2_5(VLOAD, vector, buffer); /* Choose shift amount arbitrarily */ TEST_VRSHR_N(, int, s, 8, 8, 1); @@ -75,22 +75,22 @@ void exec_vrshr_n (void) dump_results_hex (TEST_MSG); /* Another set of tests */ - TEST_VDUP(vector, , int, s, 8, 8, 0x7F); - TEST_VDUP(vector, , int, s, 16, 4, 0x7FFF); - TEST_VDUP(vector, , int, s, 32, 2, 0x7FFFFFFF); - TEST_VDUP(vector, , int, s, 64, 1, 0x7FFFFFFFFFFFFFFFLL); - TEST_VDUP(vector, , uint, u, 8, 8, 0xFF); - TEST_VDUP(vector, , uint, u, 16, 4, 0xFFFF); - TEST_VDUP(vector, , uint, u, 32, 2, 0xFFFFFFFF); - TEST_VDUP(vector, , uint, u, 64, 1, 0xFFFFFFFFFFFFFFFFULL); - TEST_VDUP(vector, q, int, s, 8, 16, 0x7F); - TEST_VDUP(vector, q, int, s, 16, 8, 0x7FFF); - TEST_VDUP(vector, q, int, s, 32, 4, 0x7FFFFFFF); - TEST_VDUP(vector, q, int, s, 64, 2, 0x7FFFFFFFFFFFFFFFLL); - TEST_VDUP(vector, q, uint, u, 8, 16, 0xFF); - TEST_VDUP(vector, q, uint, u, 16, 8, 0xFFFF); - TEST_VDUP(vector, q, uint, u, 32, 4, 0xFFFFFFFF); - TEST_VDUP(vector, q, uint, u, 64, 2, 0xFFFFFFFFFFFFFFFFULL); + VDUP(vector, , int, s, 8, 8, 0x7F); + VDUP(vector, , int, s, 16, 4, 0x7FFF); + VDUP(vector, , int, s, 32, 2, 0x7FFFFFFF); + VDUP(vector, , int, s, 64, 1, 0x7FFFFFFFFFFFFFFFLL); + VDUP(vector, , uint, u, 8, 8, 0xFF); + VDUP(vector, , uint, u, 16, 4, 0xFFFF); + VDUP(vector, , uint, u, 32, 2, 0xFFFFFFFF); + VDUP(vector, , uint, u, 64, 1, 0xFFFFFFFFFFFFFFFFULL); + VDUP(vector, q, int, s, 8, 16, 0x7F); + VDUP(vector, q, int, s, 16, 8, 0x7FFF); + VDUP(vector, q, int, s, 32, 4, 0x7FFFFFFF); + VDUP(vector, q, int, s, 64, 2, 0x7FFFFFFFFFFFFFFFLL); + VDUP(vector, q, uint, u, 8, 16, 0xFF); + VDUP(vector, q, uint, u, 16, 8, 0xFFFF); + VDUP(vector, q, uint, u, 32, 4, 0xFFFFFFFF); + VDUP(vector, q, uint, u, 64, 2, 0xFFFFFFFFFFFFFFFFULL); /* Use max shift amount, to exercise saturation code in the lib */ TEST_VRSHR_N(, int, s, 8, 8, 8); @@ -155,22 +155,22 @@ void exec_vrshr_n (void) /* FIXME: only a few result buffers are used, but we output all of them */ dump_results_hex2 (TEST_MSG, " (overflow test: shift by 3, positive input)"); - TEST_VDUP(vector, , int, s, 8, 8, 0x80); - TEST_VDUP(vector, , int, s, 16, 4, 0x8000); - TEST_VDUP(vector, , int, s, 32, 2, 0x80000000); - TEST_VDUP(vector, , int, s, 64, 1, 0x8000000000000000LL); - TEST_VDUP(vector, , uint, u, 8, 8, 0xFF); - TEST_VDUP(vector, , uint, u, 16, 4, 0xFFFF); - TEST_VDUP(vector, , uint, u, 32, 2, 0xFFFFFFFF); - TEST_VDUP(vector, , uint, u, 64, 1, 0xFFFFFFFFFFFFFFFFULL); - TEST_VDUP(vector, q, int, s, 8, 16, 0x80); - TEST_VDUP(vector, q, int, s, 16, 8, 0x8000); - TEST_VDUP(vector, q, int, s, 32, 4, 0x80000000); - TEST_VDUP(vector, q, int, s, 64, 2, 0x8000000000000000LL); - TEST_VDUP(vector, q, uint, u, 8, 16, 0xFF); - TEST_VDUP(vector, q, uint, u, 16, 8, 0xFFFF); - TEST_VDUP(vector, q, uint, u, 32, 4, 0xFFFFFFFF); - TEST_VDUP(vector, q, uint, u, 64, 2, 0xFFFFFFFFFFFFFFFFULL); + VDUP(vector, , int, s, 8, 8, 0x80); + VDUP(vector, , int, s, 16, 4, 0x8000); + VDUP(vector, , int, s, 32, 2, 0x80000000); + VDUP(vector, , int, s, 64, 1, 0x8000000000000000LL); + VDUP(vector, , uint, u, 8, 8, 0xFF); + VDUP(vector, , uint, u, 16, 4, 0xFFFF); + VDUP(vector, , uint, u, 32, 2, 0xFFFFFFFF); + VDUP(vector, , uint, u, 64, 1, 0xFFFFFFFFFFFFFFFFULL); + VDUP(vector, q, int, s, 8, 16, 0x80); + VDUP(vector, q, int, s, 16, 8, 0x8000); + VDUP(vector, q, int, s, 32, 4, 0x80000000); + VDUP(vector, q, int, s, 64, 2, 0x8000000000000000LL); + VDUP(vector, q, uint, u, 8, 16, 0xFF); + VDUP(vector, q, uint, u, 16, 8, 0xFFFF); + VDUP(vector, q, uint, u, 32, 4, 0xFFFFFFFF); + VDUP(vector, q, uint, u, 64, 2, 0xFFFFFFFFFFFFFFFFULL); /* Use 1 as shift amount, to exercise saturation code in the lib */ diff --git a/ref_vrshrn_n.c b/ref_vrshrn_n.c index 9ed24d5..94f42b0 100644 --- a/ref_vrshrn_n.c +++ b/ref_vrshrn_n.c @@ -62,12 +62,12 @@ void exec_vrshrn_n (void) clean_results (); /* Fill input vector with 0, to check behavior on limits */ - TEST_VDUP(vector, q, int, s, 16, 8, 0); - TEST_VDUP(vector, q, int, s, 32, 4, 0); - TEST_VDUP(vector, q, int, s, 64, 2, 0); - TEST_VDUP(vector, q, uint, u, 16, 8, 0); - TEST_VDUP(vector, q, uint, u, 32, 4, 0); - TEST_VDUP(vector, q, uint, u, 64, 2, 0); + VDUP(vector, q, int, s, 16, 8, 0); + VDUP(vector, q, int, s, 32, 4, 0); + VDUP(vector, q, int, s, 64, 2, 0); + VDUP(vector, q, uint, u, 16, 8, 0); + VDUP(vector, q, uint, u, 32, 4, 0); + VDUP(vector, q, uint, u, 64, 2, 0); /* Choose shift amount arbitrarily */ TEST_VRSHRN_N(int, s, 16, 8, 8, 1); @@ -80,12 +80,12 @@ void exec_vrshrn_n (void) dump_results_hex2 (TEST_MSG, " (with input = 0)"); /* Test again, with predefined input values */ - TEST_VLOAD(vector, buffer, q, int, s, 16, 8); - TEST_VLOAD(vector, buffer, q, int, s, 32, 4); - TEST_VLOAD(vector, buffer, q, int, s, 64, 2); - TEST_VLOAD(vector, buffer, q, uint, u, 16, 8); - TEST_VLOAD(vector, buffer, q, uint, u, 32, 4); - TEST_VLOAD(vector, buffer, q, uint, u, 64, 2); + VLOAD(vector, buffer, q, int, s, 16, 8); + VLOAD(vector, buffer, q, int, s, 32, 4); + VLOAD(vector, buffer, q, int, s, 64, 2); + VLOAD(vector, buffer, q, uint, u, 16, 8); + VLOAD(vector, buffer, q, uint, u, 32, 4); + VLOAD(vector, buffer, q, uint, u, 64, 2); /* Choose shift amount arbitrarily */ TEST_VRSHRN_N(int, s, 16, 8, 8, 1); @@ -99,12 +99,12 @@ void exec_vrshrn_n (void) dump_results_hex (TEST_MSG); /* Fill input arbitrary values */ - TEST_VDUP(vector, q, int, s, 16, 8, 30); - TEST_VDUP(vector, q, int, s, 32, 4, 0); - TEST_VDUP(vector, q, int, s, 64, 2, 0); - TEST_VDUP(vector, q, uint, u, 16, 8, 0xFFF0); - TEST_VDUP(vector, q, uint, u, 32, 4, 0xFFFFFFF0); - TEST_VDUP(vector, q, uint, u, 64, 2, 0); + VDUP(vector, q, int, s, 16, 8, 30); + VDUP(vector, q, int, s, 32, 4, 0); + VDUP(vector, q, int, s, 64, 2, 0); + VDUP(vector, q, uint, u, 16, 8, 0xFFF0); + VDUP(vector, q, uint, u, 32, 4, 0xFFFFFFF0); + VDUP(vector, q, uint, u, 64, 2, 0); /* Choose shift amount arbitrarily */ TEST_VRSHRN_N(int, s, 16, 8, 8, 7); diff --git a/ref_vrsqrte.c b/ref_vrsqrte.c index b163089..d96f9d2 100644 --- a/ref_vrsqrte.c +++ b/ref_vrsqrte.c @@ -61,10 +61,10 @@ void exec_vrsqrte(void) clean_results (); /* Choose init value arbitrarily */ - TEST_VDUP(vector, , uint, u, 32, 2, 0x12345678); - TEST_VDUP(vector, , float, f, 32, 2, 25.799999f); - TEST_VDUP(vector, q, uint, u, 32, 4, 0xABCDEF10); - TEST_VDUP(vector, q, float, f, 32, 4, 18.2f); + VDUP(vector, , uint, u, 32, 2, 0x12345678); + VDUP(vector, , float, f, 32, 2, 25.799999f); + VDUP(vector, q, uint, u, 32, 4, 0xABCDEF10); + VDUP(vector, q, float, f, 32, 4, 18.2f); /* Apply the operator */ TEST_VRSQRTE(, uint, u, 32, 2); @@ -82,8 +82,8 @@ void exec_vrsqrte(void) /* Don't test FP variants with negative inputs: the result depends on the platform */ /* Choose init value arbitrarily */ - TEST_VDUP(vector, , uint, u, 32, 2, 0xFFFFFFFF); - TEST_VDUP(vector, q, uint, u, 32, 4, 0x89081234); + VDUP(vector, , uint, u, 32, 2, 0xFFFFFFFF); + VDUP(vector, q, uint, u, 32, 4, 0x89081234); /* Apply the operator */ TEST_VRSQRTE(, uint, u, 32, 2); @@ -94,8 +94,8 @@ void exec_vrsqrte(void) DUMP(TEST_MSG, uint, 32, 4, PRIx32); /* Choose init value arbitrarily */ - TEST_VDUP(vector, , uint, u, 32, 2, 0x80000000); - TEST_VDUP(vector, q, uint, u, 32, 4, 0x4ABCDEF0); + VDUP(vector, , uint, u, 32, 2, 0x80000000); + VDUP(vector, q, uint, u, 32, 4, 0x4ABCDEF0); /* Apply the operator */ TEST_VRSQRTE(, uint, u, 32, 2); @@ -106,8 +106,8 @@ void exec_vrsqrte(void) DUMP(TEST_MSG, uint, 32, 4, PRIx32); /* Test FP variants with special input values (NaNs, ...) */ - TEST_VDUP(vector, , float, f, 32, 2, NAN); - TEST_VDUP(vector, q, float, f, 32, 4, 0.0f); + VDUP(vector, , float, f, 32, 2, NAN); + VDUP(vector, q, float, f, 32, 4, 0.0f); /* Apply the operator */ TEST_VRSQRTE(, float, f, 32, 2); @@ -118,8 +118,8 @@ void exec_vrsqrte(void) DUMP_FP(TEST_MSG, float, 32, 4, PRIx32); /* Test FP variants with special input values (negative, infinity) */ - TEST_VDUP(vector, , float, f, 32, 2, -1.0f); - TEST_VDUP(vector, q, float, f, 32, 4, HUGE_VALF); + VDUP(vector, , float, f, 32, 2, -1.0f); + VDUP(vector, q, float, f, 32, 4, HUGE_VALF); /* Apply the operator */ TEST_VRSQRTE(, float, f, 32, 2); @@ -130,8 +130,8 @@ void exec_vrsqrte(void) DUMP_FP(TEST_MSG, float, 32, 4, PRIx32); /* Test FP variants with special input values (-0, -infinity) */ - TEST_VDUP(vector, , float, f, 32, 2, -0.0f); - TEST_VDUP(vector, q, float, f, 32, 4, -HUGE_VALF); + VDUP(vector, , float, f, 32, 2, -0.0f); + VDUP(vector, q, float, f, 32, 4, -HUGE_VALF); /* Apply the operator */ TEST_VRSQRTE(, float, f, 32, 2); diff --git a/ref_vrsqrts.c b/ref_vrsqrts.c index 002693a..4e355b9 100644 --- a/ref_vrsqrts.c +++ b/ref_vrsqrts.c @@ -61,11 +61,11 @@ void exec_vrsqrts(void) clean_results (); /* Choose init value arbitrarily */ - TEST_VDUP(vector, , float, f, 32, 2, 12.9f); - TEST_VDUP(vector, q, float, f, 32, 4, 9.1f); + VDUP(vector, , float, f, 32, 2, 12.9f); + VDUP(vector, q, float, f, 32, 4, 9.1f); - TEST_VDUP(vector2, , float, f, 32, 2, 9.9f); - TEST_VDUP(vector2, q, float, f, 32, 4, 1.9f); + VDUP(vector2, , float, f, 32, 2, 9.9f); + VDUP(vector2, q, float, f, 32, 4, 1.9f); /* Apply the operator */ TEST_VRSQRTS(, float, f, 32, 2); @@ -78,8 +78,8 @@ void exec_vrsqrts(void) /* Test FP variants with special input values (NaN) */ - TEST_VDUP(vector, , float, f, 32, 2, NAN); - TEST_VDUP(vector2, q, float, f, 32, 4, NAN); + VDUP(vector, , float, f, 32, 2, NAN); + VDUP(vector2, q, float, f, 32, 4, NAN); /* Apply the operator */ TEST_VRSQRTS(, float, f, 32, 2); @@ -91,9 +91,9 @@ void exec_vrsqrts(void) /* Test FP variants with special input values (infinity, 0) */ - TEST_VDUP(vector, , float, f, 32, 2, HUGE_VALF); - TEST_VDUP(vector, q, float, f, 32, 4, 0.0f); - TEST_VDUP(vector2, q, float, f, 32, 4, 3.2f); /* Restore a normal value */ + VDUP(vector, , float, f, 32, 2, HUGE_VALF); + VDUP(vector, q, float, f, 32, 4, 0.0f); + VDUP(vector2, q, float, f, 32, 4, 3.2f); /* Restore a normal value */ /* Apply the operator */ TEST_VRSQRTS(, float, f, 32, 2); @@ -105,10 +105,10 @@ void exec_vrsqrts(void) /* Test FP variants with only special input values (infinity, 0) */ - TEST_VDUP(vector, , float, f, 32, 2, HUGE_VALF); - TEST_VDUP(vector, q, float, f, 32, 4, 0.0f); - TEST_VDUP(vector2, , float, f, 32, 2, -0.0f); - TEST_VDUP(vector2, q, float, f, 32, 4, HUGE_VALF); + VDUP(vector, , float, f, 32, 2, HUGE_VALF); + VDUP(vector, q, float, f, 32, 4, 0.0f); + VDUP(vector2, , float, f, 32, 2, -0.0f); + VDUP(vector2, q, float, f, 32, 4, HUGE_VALF); /* Apply the operator */ TEST_VRSQRTS(, float, f, 32, 2); diff --git a/ref_vrsra_n.c b/ref_vrsra_n.c index b98ac34..1546ff2 100644 --- a/ref_vrsra_n.c +++ b/ref_vrsra_n.c @@ -52,26 +52,26 @@ void exec_vrsra_n (void) clean_results (); /* Initialize input "vector" from "buffer" */ - TEST_MACRO_ALL_VARIANTS_2_5(TEST_VLOAD, vector, buffer); + TEST_MACRO_ALL_VARIANTS_2_5(VLOAD, vector, buffer); /* Choose arbitrary initialization values */ - TEST_VDUP(vector2, , int, s, 8, 8, 0x11); - TEST_VDUP(vector2, , int, s, 16, 4, 0x22); - TEST_VDUP(vector2, , int, s, 32, 2, 0x33); - TEST_VDUP(vector2, , int, s, 64, 1, 0x44); - TEST_VDUP(vector2, , uint, u, 8, 8, 0x55); - TEST_VDUP(vector2, , uint, u, 16, 4, 0x66); - TEST_VDUP(vector2, , uint, u, 32, 2, 0x77); - TEST_VDUP(vector2, , uint, u, 64, 1, 0x88); - - TEST_VDUP(vector2, q, int, s, 8, 16, 0x11); - TEST_VDUP(vector2, q, int, s, 16, 8, 0x22); - TEST_VDUP(vector2, q, int, s, 32, 4, 0x33); - TEST_VDUP(vector2, q, int, s, 64, 2, 0x44); - TEST_VDUP(vector2, q, uint, u, 8, 16, 0x55); - TEST_VDUP(vector2, q, uint, u, 16, 8, 0x66); - TEST_VDUP(vector2, q, uint, u, 32, 4, 0x77); - TEST_VDUP(vector2, q, uint, u, 64, 2, 0x88); + VDUP(vector2, , int, s, 8, 8, 0x11); + VDUP(vector2, , int, s, 16, 4, 0x22); + VDUP(vector2, , int, s, 32, 2, 0x33); + VDUP(vector2, , int, s, 64, 1, 0x44); + VDUP(vector2, , uint, u, 8, 8, 0x55); + VDUP(vector2, , uint, u, 16, 4, 0x66); + VDUP(vector2, , uint, u, 32, 2, 0x77); + VDUP(vector2, , uint, u, 64, 1, 0x88); + + VDUP(vector2, q, int, s, 8, 16, 0x11); + VDUP(vector2, q, int, s, 16, 8, 0x22); + VDUP(vector2, q, int, s, 32, 4, 0x33); + VDUP(vector2, q, int, s, 64, 2, 0x44); + VDUP(vector2, q, uint, u, 8, 16, 0x55); + VDUP(vector2, q, uint, u, 16, 8, 0x66); + VDUP(vector2, q, uint, u, 32, 4, 0x77); + VDUP(vector2, q, uint, u, 64, 2, 0x88); /* Choose shift amount arbitrarily */ TEST_VRSRA_N(, int, s, 8, 8, 1); @@ -96,40 +96,40 @@ void exec_vrsra_n (void) dump_results_hex (TEST_MSG); /* Initialize the accumulator with 0 */ - TEST_VDUP(vector, , int, s, 8, 8, 0); - TEST_VDUP(vector, , int, s, 16, 4, 0); - TEST_VDUP(vector, , int, s, 32, 2, 0); - TEST_VDUP(vector, , int, s, 64, 1, 0); - TEST_VDUP(vector, , uint, u, 8, 8, 0); - TEST_VDUP(vector, , uint, u, 16, 4, 0); - TEST_VDUP(vector, , uint, u, 32, 2, 0); - TEST_VDUP(vector, , uint, u, 64, 1, 0); - TEST_VDUP(vector, q, int, s, 8, 16, 0); - TEST_VDUP(vector, q, int, s, 16, 8, 0); - TEST_VDUP(vector, q, int, s, 32, 4, 0); - TEST_VDUP(vector, q, int, s, 64, 2, 0); - TEST_VDUP(vector, q, uint, u, 8, 16, 0); - TEST_VDUP(vector, q, uint, u, 16, 8, 0); - TEST_VDUP(vector, q, uint, u, 32, 4, 0); - TEST_VDUP(vector, q, uint, u, 64, 2, 0); + VDUP(vector, , int, s, 8, 8, 0); + VDUP(vector, , int, s, 16, 4, 0); + VDUP(vector, , int, s, 32, 2, 0); + VDUP(vector, , int, s, 64, 1, 0); + VDUP(vector, , uint, u, 8, 8, 0); + VDUP(vector, , uint, u, 16, 4, 0); + VDUP(vector, , uint, u, 32, 2, 0); + VDUP(vector, , uint, u, 64, 1, 0); + VDUP(vector, q, int, s, 8, 16, 0); + VDUP(vector, q, int, s, 16, 8, 0); + VDUP(vector, q, int, s, 32, 4, 0); + VDUP(vector, q, int, s, 64, 2, 0); + VDUP(vector, q, uint, u, 8, 16, 0); + VDUP(vector, q, uint, u, 16, 8, 0); + VDUP(vector, q, uint, u, 32, 4, 0); + VDUP(vector, q, uint, u, 64, 2, 0); /* Initialize with max values to check overflow */ - TEST_VDUP(vector2, , int, s, 8, 8, 0x7F); - TEST_VDUP(vector2, , int, s, 16, 4, 0x7FFF); - TEST_VDUP(vector2, , int, s, 32, 2, 0x7FFFFFFF); - TEST_VDUP(vector2, , int, s, 64, 1, 0x7FFFFFFFFFFFFFFFLL); - TEST_VDUP(vector2, , uint, u, 8, 8, 0xFF); - TEST_VDUP(vector2, , uint, u, 16, 4, 0xFFFF); - TEST_VDUP(vector2, , uint, u, 32, 2, 0xFFFFFFFF); - TEST_VDUP(vector2, , uint, u, 64, 1, 0xFFFFFFFFFFFFFFFFULL); - TEST_VDUP(vector2, q, int, s, 8, 16, 0x7F); - TEST_VDUP(vector2, q, int, s, 16, 8, 0x7FFF); - TEST_VDUP(vector2, q, int, s, 32, 4, 0x7FFFFFFF); - TEST_VDUP(vector2, q, int, s, 64, 2, 0x7FFFFFFFFFFFFFFFLL); - TEST_VDUP(vector2, q, uint, u, 8, 16, 0xFF); - TEST_VDUP(vector2, q, uint, u, 16, 8, 0xFFFF); - TEST_VDUP(vector2, q, uint, u, 32, 4, 0xFFFFFFFF); - TEST_VDUP(vector2, q, uint, u, 64, 2, 0xFFFFFFFFFFFFFFFFULL); + VDUP(vector2, , int, s, 8, 8, 0x7F); + VDUP(vector2, , int, s, 16, 4, 0x7FFF); + VDUP(vector2, , int, s, 32, 2, 0x7FFFFFFF); + VDUP(vector2, , int, s, 64, 1, 0x7FFFFFFFFFFFFFFFLL); + VDUP(vector2, , uint, u, 8, 8, 0xFF); + VDUP(vector2, , uint, u, 16, 4, 0xFFFF); + VDUP(vector2, , uint, u, 32, 2, 0xFFFFFFFF); + VDUP(vector2, , uint, u, 64, 1, 0xFFFFFFFFFFFFFFFFULL); + VDUP(vector2, q, int, s, 8, 16, 0x7F); + VDUP(vector2, q, int, s, 16, 8, 0x7FFF); + VDUP(vector2, q, int, s, 32, 4, 0x7FFFFFFF); + VDUP(vector2, q, int, s, 64, 2, 0x7FFFFFFFFFFFFFFFLL); + VDUP(vector2, q, uint, u, 8, 16, 0xFF); + VDUP(vector2, q, uint, u, 16, 8, 0xFFFF); + VDUP(vector2, q, uint, u, 32, 4, 0xFFFFFFFF); + VDUP(vector2, q, uint, u, 64, 2, 0xFFFFFFFFFFFFFFFFULL); /* Shift by 1 to check overflow with rounding constant */ TEST_VRSRA_N(, int, s, 8, 8, 1); @@ -191,14 +191,14 @@ void exec_vrsra_n (void) dump_results_hex2 (TEST_MSG, " (checking overflow: shift by max, positive input)"); /* Initialize with min values to check overflow */ - TEST_VDUP(vector2, , int, s, 8, 8, 0x80); - TEST_VDUP(vector2, , int, s, 16, 4, 0x8000); - TEST_VDUP(vector2, , int, s, 32, 2, 0x80000000); - TEST_VDUP(vector2, , int, s, 64, 1, 0x8000000000000000LL); - TEST_VDUP(vector2, q, int, s, 8, 16, 0x80); - TEST_VDUP(vector2, q, int, s, 16, 8, 0x8000); - TEST_VDUP(vector2, q, int, s, 32, 4, 0x80000000); - TEST_VDUP(vector2, q, int, s, 64, 2, 0x8000000000000000ULL); + VDUP(vector2, , int, s, 8, 8, 0x80); + VDUP(vector2, , int, s, 16, 4, 0x8000); + VDUP(vector2, , int, s, 32, 2, 0x80000000); + VDUP(vector2, , int, s, 64, 1, 0x8000000000000000LL); + VDUP(vector2, q, int, s, 8, 16, 0x80); + VDUP(vector2, q, int, s, 16, 8, 0x8000); + VDUP(vector2, q, int, s, 32, 4, 0x80000000); + VDUP(vector2, q, int, s, 64, 2, 0x8000000000000000ULL); /* Shift by 1 to check overflow with rounding constant */ TEST_VRSRA_N(, int, s, 8, 8, 1); diff --git a/ref_vsXi_n.c b/ref_vsXi_n.c index b991781..f710a67 100644 --- a/ref_vsXi_n.c +++ b/ref_vsXi_n.c @@ -62,29 +62,29 @@ FNNAME (INSN_NAME) clean_results (); /* Initialize input "vector" from "buffer" */ - TEST_MACRO_ALL_VARIANTS_2_5(TEST_VLOAD, vector, buffer); + TEST_MACRO_ALL_VARIANTS_2_5(VLOAD, vector, buffer); /* Fill input vector2 with arbitrary values */ - TEST_VDUP(vector2, , int, s, 8, 8, 2); - TEST_VDUP(vector2, , int, s, 16, 4, -4); - TEST_VDUP(vector2, , int, s, 32, 2, 3); - TEST_VDUP(vector2, , int, s, 64, 1, 100); - TEST_VDUP(vector2, , uint, u, 8, 8, 20); - TEST_VDUP(vector2, , uint, u, 16, 4, 30); - TEST_VDUP(vector2, , uint, u, 32, 2, 40); - TEST_VDUP(vector2, , uint, u, 64, 1, 2); - TEST_VDUP(vector2, , poly, p, 8, 8, 20); - TEST_VDUP(vector2, , poly, p, 16, 4, 30); - TEST_VDUP(vector2, q, int, s, 8, 16, -10); - TEST_VDUP(vector2, q, int, s, 16, 8, -20); - TEST_VDUP(vector2, q, int, s, 32, 4, -30); - TEST_VDUP(vector2, q, int, s, 64, 2, 24); - TEST_VDUP(vector2, q, uint, u, 8, 16, 12); - TEST_VDUP(vector2, q, uint, u, 16, 8, 3); - TEST_VDUP(vector2, q, uint, u, 32, 4, 55); - TEST_VDUP(vector2, q, uint, u, 64, 2, 3); - TEST_VDUP(vector2, q, poly, p, 8, 16, 12); - TEST_VDUP(vector2, q, poly, p, 16, 8, 3); + VDUP(vector2, , int, s, 8, 8, 2); + VDUP(vector2, , int, s, 16, 4, -4); + VDUP(vector2, , int, s, 32, 2, 3); + VDUP(vector2, , int, s, 64, 1, 100); + VDUP(vector2, , uint, u, 8, 8, 20); + VDUP(vector2, , uint, u, 16, 4, 30); + VDUP(vector2, , uint, u, 32, 2, 40); + VDUP(vector2, , uint, u, 64, 1, 2); + VDUP(vector2, , poly, p, 8, 8, 20); + VDUP(vector2, , poly, p, 16, 4, 30); + VDUP(vector2, q, int, s, 8, 16, -10); + VDUP(vector2, q, int, s, 16, 8, -20); + VDUP(vector2, q, int, s, 32, 4, -30); + VDUP(vector2, q, int, s, 64, 2, 24); + VDUP(vector2, q, uint, u, 8, 16, 12); + VDUP(vector2, q, uint, u, 16, 8, 3); + VDUP(vector2, q, uint, u, 32, 4, 55); + VDUP(vector2, q, uint, u, 64, 2, 3); + VDUP(vector2, q, poly, p, 8, 16, 12); + VDUP(vector2, q, poly, p, 16, 8, 3); /* Choose shift amount arbitrarily */ TEST_VSXI_N(INSN_NAME, , int, s, 8, 8, 4); diff --git a/ref_vset_lane.c b/ref_vset_lane.c index 8e34715..cd04bf8 100644 --- a/ref_vset_lane.c +++ b/ref_vset_lane.c @@ -49,9 +49,9 @@ void exec_vset_lane (void) clean_results (); /* Initialize input "vector" from "buffer" */ - TEST_MACRO_ALL_VARIANTS_2_5(TEST_VLOAD, vector, buffer); - TEST_VLOAD(vector, buffer, , float, f, 32, 2); - TEST_VLOAD(vector, buffer, q, float, f, 32, 4); + TEST_MACRO_ALL_VARIANTS_2_5(VLOAD, vector, buffer); + VLOAD(vector, buffer, , float, f, 32, 2); + VLOAD(vector, buffer, q, float, f, 32, 4); /* Choose value and lane arbitrarily */ TEST_VSET_LANE_HERE(, int, s, 8, 8, 0x11, 7); diff --git a/ref_vshl.c b/ref_vshl.c index 8391c25..048fecd 100644 --- a/ref_vshl.c +++ b/ref_vshl.c @@ -51,31 +51,31 @@ void exec_vshl (void) clean_results (); /* Initialize input "vector" from "buffer" */ - TEST_MACRO_ALL_VARIANTS_2_5(TEST_VLOAD, vector, buffer); + TEST_MACRO_ALL_VARIANTS_2_5(VLOAD, vector, buffer); /* Choose init value arbitrarily, will be used as shift amount */ - TEST_VDUP(vector_shift, , int, s, 8, 8, 1); - TEST_VDUP(vector_shift, , int, s, 16, 4, 3); - TEST_VDUP(vector_shift, , int, s, 32, 2, 8); - TEST_VDUP(vector_shift, , int, s, 64, 1, 3); - TEST_VDUP(vector_shift, q, int, s, 8, 16, 5); - TEST_VDUP(vector_shift, q, int, s, 16, 8, 12); - TEST_VDUP(vector_shift, q, int, s, 32, 4, 30); - TEST_VDUP(vector_shift, q, int, s, 64, 2, 63); + VDUP(vector_shift, , int, s, 8, 8, 1); + VDUP(vector_shift, , int, s, 16, 4, 3); + VDUP(vector_shift, , int, s, 32, 2, 8); + VDUP(vector_shift, , int, s, 64, 1, 3); + VDUP(vector_shift, q, int, s, 8, 16, 5); + VDUP(vector_shift, q, int, s, 16, 8, 12); + VDUP(vector_shift, q, int, s, 32, 4, 30); + VDUP(vector_shift, q, int, s, 64, 2, 63); TEST_MACRO_ALL_VARIANTS_1_5(TEST_VSHL, int); dump_results_hex (TEST_MSG); /* Test large shift amount */ - TEST_VDUP(vector_shift, , int, s, 8, 8, 8); - TEST_VDUP(vector_shift, , int, s, 16, 4, 16); - TEST_VDUP(vector_shift, , int, s, 32, 2, 32); - TEST_VDUP(vector_shift, , int, s, 64, 1, 64); - TEST_VDUP(vector_shift, q, int, s, 8, 16, 8); - TEST_VDUP(vector_shift, q, int, s, 16, 8, 17); - TEST_VDUP(vector_shift, q, int, s, 32, 4, 33); - TEST_VDUP(vector_shift, q, int, s, 64, 2, 65); + VDUP(vector_shift, , int, s, 8, 8, 8); + VDUP(vector_shift, , int, s, 16, 4, 16); + VDUP(vector_shift, , int, s, 32, 2, 32); + VDUP(vector_shift, , int, s, 64, 1, 64); + VDUP(vector_shift, q, int, s, 8, 16, 8); + VDUP(vector_shift, q, int, s, 16, 8, 17); + VDUP(vector_shift, q, int, s, 32, 4, 33); + VDUP(vector_shift, q, int, s, 64, 2, 65); TEST_MACRO_ALL_VARIANTS_1_5(TEST_VSHL, int); @@ -83,14 +83,14 @@ void exec_vshl (void) /* Test negative shift amount */ - TEST_VDUP(vector_shift, , int, s, 8, 8, -1); - TEST_VDUP(vector_shift, , int, s, 16, 4, -1); - TEST_VDUP(vector_shift, , int, s, 32, 2, -2); - TEST_VDUP(vector_shift, , int, s, 64, 1, -4); - TEST_VDUP(vector_shift, q, int, s, 8, 16, -2); - TEST_VDUP(vector_shift, q, int, s, 16, 8, -5); - TEST_VDUP(vector_shift, q, int, s, 32, 4, -3); - TEST_VDUP(vector_shift, q, int, s, 64, 2, -5); + VDUP(vector_shift, , int, s, 8, 8, -1); + VDUP(vector_shift, , int, s, 16, 4, -1); + VDUP(vector_shift, , int, s, 32, 2, -2); + VDUP(vector_shift, , int, s, 64, 1, -4); + VDUP(vector_shift, q, int, s, 8, 16, -2); + VDUP(vector_shift, q, int, s, 16, 8, -5); + VDUP(vector_shift, q, int, s, 32, 4, -3); + VDUP(vector_shift, q, int, s, 64, 2, -5); TEST_MACRO_ALL_VARIANTS_1_5(TEST_VSHL, int); diff --git a/ref_vshl_n.c b/ref_vshl_n.c index 848528f..87c914b 100644 --- a/ref_vshl_n.c +++ b/ref_vshl_n.c @@ -50,7 +50,7 @@ void exec_vshl_n (void) clean_results (); /* Initialize input "vector" from "buffer" */ - TEST_MACRO_ALL_VARIANTS_2_5(TEST_VLOAD, vector, buffer); + TEST_MACRO_ALL_VARIANTS_2_5(VLOAD, vector, buffer); /* Choose shift amount arbitrarily */ TEST_VSHL_N(, int, s, 8, 8, 1); diff --git a/ref_vshll_n.c b/ref_vshll_n.c index 35914cc..341f321 100644 --- a/ref_vshll_n.c +++ b/ref_vshll_n.c @@ -50,7 +50,7 @@ void exec_vshll_n (void) clean_results (); /* Initialize input "vector" from "buffer" */ - TEST_MACRO_ALL_VARIANTS_2_5(TEST_VLOAD, vector, buffer); + TEST_MACRO_ALL_VARIANTS_2_5(VLOAD, vector, buffer); /* Choose shift amount arbitrarily */ TEST_VSHLL_N(int, s, 8, 16, 8, 1); diff --git a/ref_vshr_n.c b/ref_vshr_n.c index c5bde59..bff0f7b 100644 --- a/ref_vshr_n.c +++ b/ref_vshr_n.c @@ -50,7 +50,7 @@ void exec_vshr_n (void) clean_results (); /* Initialize input "vector" from "buffer" */ - TEST_MACRO_ALL_VARIANTS_2_5(TEST_VLOAD, vector, buffer); + TEST_MACRO_ALL_VARIANTS_2_5(VLOAD, vector, buffer); /* Choose shift amount arbitrarily */ TEST_VSHR_N(, int, s, 8, 8, 1); diff --git a/ref_vshrn_n.c b/ref_vshrn_n.c index 1c3c1a8..f9b8041 100644 --- a/ref_vshrn_n.c +++ b/ref_vshrn_n.c @@ -61,12 +61,12 @@ void exec_vshrn_n (void) clean_results (); - TEST_VLOAD(vector, buffer, q, int, s, 16, 8); - TEST_VLOAD(vector, buffer, q, int, s, 32, 4); - TEST_VLOAD(vector, buffer, q, int, s, 64, 2); - TEST_VLOAD(vector, buffer, q, uint, u, 16, 8); - TEST_VLOAD(vector, buffer, q, uint, u, 32, 4); - TEST_VLOAD(vector, buffer, q, uint, u, 64, 2); + VLOAD(vector, buffer, q, int, s, 16, 8); + VLOAD(vector, buffer, q, int, s, 32, 4); + VLOAD(vector, buffer, q, int, s, 64, 2); + VLOAD(vector, buffer, q, uint, u, 16, 8); + VLOAD(vector, buffer, q, uint, u, 32, 4); + VLOAD(vector, buffer, q, uint, u, 64, 2); /* Choose shift amount arbitrarily */ TEST_VSHRN_N(int, s, 16, 8, 8, 1); diff --git a/ref_vsli_n.c b/ref_vsli_n.c index 997ea06..b53a10b 100644 --- a/ref_vsli_n.c +++ b/ref_vsli_n.c @@ -46,29 +46,29 @@ void vsli_extra(void) clean_results (); /* Initialize input "vector" from "buffer" */ - TEST_MACRO_ALL_VARIANTS_2_5(TEST_VLOAD, vector, buffer); + TEST_MACRO_ALL_VARIANTS_2_5(VLOAD, vector, buffer); /* Fill input vector2 with arbitrary values */ - TEST_VDUP(vector2, , int, s, 8, 8, 2); - TEST_VDUP(vector2, , int, s, 16, 4, -4); - TEST_VDUP(vector2, , int, s, 32, 2, 3); - TEST_VDUP(vector2, , int, s, 64, 1, 100); - TEST_VDUP(vector2, , uint, u, 8, 8, 20); - TEST_VDUP(vector2, , uint, u, 16, 4, 30); - TEST_VDUP(vector2, , uint, u, 32, 2, 40); - TEST_VDUP(vector2, , uint, u, 64, 1, 2); - TEST_VDUP(vector2, , poly, p, 8, 8, 20); - TEST_VDUP(vector2, , poly, p, 16, 4, 30); - TEST_VDUP(vector2, q, int, s, 8, 16, -10); - TEST_VDUP(vector2, q, int, s, 16, 8, -20); - TEST_VDUP(vector2, q, int, s, 32, 4, -30); - TEST_VDUP(vector2, q, int, s, 64, 2, 24); - TEST_VDUP(vector2, q, uint, u, 8, 16, 12); - TEST_VDUP(vector2, q, uint, u, 16, 8, 3); - TEST_VDUP(vector2, q, uint, u, 32, 4, 55); - TEST_VDUP(vector2, q, uint, u, 64, 2, 3); - TEST_VDUP(vector2, q, poly, p, 8, 16, 12); - TEST_VDUP(vector2, q, poly, p, 16, 8, 3); + VDUP(vector2, , int, s, 8, 8, 2); + VDUP(vector2, , int, s, 16, 4, -4); + VDUP(vector2, , int, s, 32, 2, 3); + VDUP(vector2, , int, s, 64, 1, 100); + VDUP(vector2, , uint, u, 8, 8, 20); + VDUP(vector2, , uint, u, 16, 4, 30); + VDUP(vector2, , uint, u, 32, 2, 40); + VDUP(vector2, , uint, u, 64, 1, 2); + VDUP(vector2, , poly, p, 8, 8, 20); + VDUP(vector2, , poly, p, 16, 4, 30); + VDUP(vector2, q, int, s, 8, 16, -10); + VDUP(vector2, q, int, s, 16, 8, -20); + VDUP(vector2, q, int, s, 32, 4, -30); + VDUP(vector2, q, int, s, 64, 2, 24); + VDUP(vector2, q, uint, u, 8, 16, 12); + VDUP(vector2, q, uint, u, 16, 8, 3); + VDUP(vector2, q, uint, u, 32, 4, 55); + VDUP(vector2, q, uint, u, 64, 2, 3); + VDUP(vector2, q, poly, p, 8, 16, 12); + VDUP(vector2, q, poly, p, 16, 8, 3); /* Use maximum allowed shift amount */ TEST_VSXI_N(INSN_NAME, , int, s, 8, 8, 7); diff --git a/ref_vsra_n.c b/ref_vsra_n.c index 5d46eaf..bbbed14 100644 --- a/ref_vsra_n.c +++ b/ref_vsra_n.c @@ -52,26 +52,26 @@ void exec_vsra_n (void) clean_results (); /* Initialize input "vector" from "buffer" */ - TEST_MACRO_ALL_VARIANTS_2_5(TEST_VLOAD, vector, buffer); + TEST_MACRO_ALL_VARIANTS_2_5(VLOAD, vector, buffer); /* Choose arbitrary initialization values */ - TEST_VDUP(vector2, , int, s, 8, 8, 0x11); - TEST_VDUP(vector2, , int, s, 16, 4, 0x22); - TEST_VDUP(vector2, , int, s, 32, 2, 0x33); - TEST_VDUP(vector2, , int, s, 64, 1, 0x44); - TEST_VDUP(vector2, , uint, u, 8, 8, 0x55); - TEST_VDUP(vector2, , uint, u, 16, 4, 0x66); - TEST_VDUP(vector2, , uint, u, 32, 2, 0x77); - TEST_VDUP(vector2, , uint, u, 64, 1, 0x88); - - TEST_VDUP(vector2, q, int, s, 8, 16, 0x11); - TEST_VDUP(vector2, q, int, s, 16, 8, 0x22); - TEST_VDUP(vector2, q, int, s, 32, 4, 0x33); - TEST_VDUP(vector2, q, int, s, 64, 2, 0x44); - TEST_VDUP(vector2, q, uint, u, 8, 16, 0x55); - TEST_VDUP(vector2, q, uint, u, 16, 8, 0x66); - TEST_VDUP(vector2, q, uint, u, 32, 4, 0x77); - TEST_VDUP(vector2, q, uint, u, 64, 2, 0x88); + VDUP(vector2, , int, s, 8, 8, 0x11); + VDUP(vector2, , int, s, 16, 4, 0x22); + VDUP(vector2, , int, s, 32, 2, 0x33); + VDUP(vector2, , int, s, 64, 1, 0x44); + VDUP(vector2, , uint, u, 8, 8, 0x55); + VDUP(vector2, , uint, u, 16, 4, 0x66); + VDUP(vector2, , uint, u, 32, 2, 0x77); + VDUP(vector2, , uint, u, 64, 1, 0x88); + + VDUP(vector2, q, int, s, 8, 16, 0x11); + VDUP(vector2, q, int, s, 16, 8, 0x22); + VDUP(vector2, q, int, s, 32, 4, 0x33); + VDUP(vector2, q, int, s, 64, 2, 0x44); + VDUP(vector2, q, uint, u, 8, 16, 0x55); + VDUP(vector2, q, uint, u, 16, 8, 0x66); + VDUP(vector2, q, uint, u, 32, 4, 0x77); + VDUP(vector2, q, uint, u, 64, 2, 0x88); /* Choose shift amount arbitrarily */ TEST_VSRA_N(, int, s, 8, 8, 1); diff --git a/ref_vsri_n.c b/ref_vsri_n.c index 78a4670..4c0dda0 100644 --- a/ref_vsri_n.c +++ b/ref_vsri_n.c @@ -46,29 +46,29 @@ void vsri_extra(void) clean_results (); /* Initialize input "vector" from "buffer" */ - TEST_MACRO_ALL_VARIANTS_2_5(TEST_VLOAD, vector, buffer); + TEST_MACRO_ALL_VARIANTS_2_5(VLOAD, vector, buffer); /* Fill input vector2 with arbitrary values */ - TEST_VDUP(vector2, , int, s, 8, 8, 2); - TEST_VDUP(vector2, , int, s, 16, 4, -4); - TEST_VDUP(vector2, , int, s, 32, 2, 3); - TEST_VDUP(vector2, , int, s, 64, 1, 100); - TEST_VDUP(vector2, , uint, u, 8, 8, 20); - TEST_VDUP(vector2, , uint, u, 16, 4, 30); - TEST_VDUP(vector2, , uint, u, 32, 2, 40); - TEST_VDUP(vector2, , uint, u, 64, 1, 2); - TEST_VDUP(vector2, , poly, p, 8, 8, 20); - TEST_VDUP(vector2, , poly, p, 16, 4, 30); - TEST_VDUP(vector2, q, int, s, 8, 16, -10); - TEST_VDUP(vector2, q, int, s, 16, 8, -20); - TEST_VDUP(vector2, q, int, s, 32, 4, -30); - TEST_VDUP(vector2, q, int, s, 64, 2, 24); - TEST_VDUP(vector2, q, uint, u, 8, 16, 12); - TEST_VDUP(vector2, q, uint, u, 16, 8, 3); - TEST_VDUP(vector2, q, uint, u, 32, 4, 55); - TEST_VDUP(vector2, q, uint, u, 64, 2, 3); - TEST_VDUP(vector2, q, poly, p, 8, 16, 12); - TEST_VDUP(vector2, q, poly, p, 16, 8, 3); + VDUP(vector2, , int, s, 8, 8, 2); + VDUP(vector2, , int, s, 16, 4, -4); + VDUP(vector2, , int, s, 32, 2, 3); + VDUP(vector2, , int, s, 64, 1, 100); + VDUP(vector2, , uint, u, 8, 8, 20); + VDUP(vector2, , uint, u, 16, 4, 30); + VDUP(vector2, , uint, u, 32, 2, 40); + VDUP(vector2, , uint, u, 64, 1, 2); + VDUP(vector2, , poly, p, 8, 8, 20); + VDUP(vector2, , poly, p, 16, 4, 30); + VDUP(vector2, q, int, s, 8, 16, -10); + VDUP(vector2, q, int, s, 16, 8, -20); + VDUP(vector2, q, int, s, 32, 4, -30); + VDUP(vector2, q, int, s, 64, 2, 24); + VDUP(vector2, q, uint, u, 8, 16, 12); + VDUP(vector2, q, uint, u, 16, 8, 3); + VDUP(vector2, q, uint, u, 32, 4, 55); + VDUP(vector2, q, uint, u, 64, 2, 3); + VDUP(vector2, q, poly, p, 8, 16, 12); + VDUP(vector2, q, poly, p, 16, 8, 3); /* Use maximum allowed shift amount */ TEST_VSXI_N(INSN_NAME, , int, s, 8, 8, 8); diff --git a/ref_vsub.c b/ref_vsub.c index 4b697d4..b83c8c6 100644 --- a/ref_vsub.c +++ b/ref_vsub.c @@ -45,11 +45,11 @@ void exec_vsub_f32(void) DECL_VARIABLE(vector_res, float, 32, 2); DECL_VARIABLE(vector_res, float, 32, 4); - TEST_VDUP(vector, , float, f, 32, 2, 2.3f); - TEST_VDUP(vector, q, float, f, 32, 4, 3.4f); + VDUP(vector, , float, f, 32, 2, 2.3f); + VDUP(vector, q, float, f, 32, 4, 3.4f); - TEST_VDUP(vector2, , float, f, 32, 2, 4.5f); - TEST_VDUP(vector2, q, float, f, 32, 4, 5.6f); + VDUP(vector2, , float, f, 32, 2, 4.5f); + VDUP(vector2, q, float, f, 32, 4, 5.6f); TEST_BINARY_OP(INSN_NAME, , float, f, 32, 2); TEST_BINARY_OP(INSN_NAME, q, float, f, 32, 4); diff --git a/ref_vtbX.c b/ref_vtbX.c index 6ada907..6f87d1a 100644 --- a/ref_vtbX.c +++ b/ref_vtbX.c @@ -111,9 +111,9 @@ void exec_vtbX (void) } /* Choose init value arbitrarily, will be used as table index */ - TEST_VDUP(vector, , int, s, 8, 8, 1); - TEST_VDUP(vector, , uint, u, 8, 8, 2); - TEST_VDUP(vector, , poly, p, 8, 8, 2); + VDUP(vector, , int, s, 8, 8, 1); + VDUP(vector, , uint, u, 8, 8, 2); + VDUP(vector, , poly, p, 8, 8, 2); /* To ensure code coverage of lib, add some indexes larger than 8,16 and 32 */ /* except: lane 0 (by 6), lane 1 (by 8) and lane 2 (by 9) */ @@ -193,9 +193,9 @@ void exec_vtbX (void) TEST_VTBXX(poly, p, uint, 8, 8, X) /* Choose init value arbitrarily, will be used as default value */ - TEST_VDUP(default_vector, , int, s, 8, 8, 0x33); - TEST_VDUP(default_vector, , uint, u, 8, 8, 0xCC); - TEST_VDUP(default_vector, , poly, p, 8, 8, 0xCC); + VDUP(default_vector, , int, s, 8, 8, 0x33); + VDUP(default_vector, , uint, u, 8, 8, 0xCC); + VDUP(default_vector, , poly, p, 8, 8, 0xCC); /* Check vtbx1 */ clean_results (); diff --git a/ref_vtst.c b/ref_vtst.c index 916fc92..a273a3a 100644 --- a/ref_vtst.c +++ b/ref_vtst.c @@ -64,21 +64,21 @@ FNNAME (INSN_NAME) clean_results (); /* Initialize input "vector" from "buffer" */ - TEST_MACRO_ALL_VARIANTS_2_5(TEST_VLOAD, vector, buffer); + TEST_MACRO_ALL_VARIANTS_2_5(VLOAD, vector, buffer); /* Choose init value arbitrarily, will be used as comparison value */ - TEST_VDUP(vector2, , int, s, 8, 8, 15); - TEST_VDUP(vector2, , int, s, 16, 4, 5); - TEST_VDUP(vector2, , int, s, 32, 2, 1); - TEST_VDUP(vector2, , uint, u, 8, 8, 15); - TEST_VDUP(vector2, , uint, u, 16, 4, 5); - TEST_VDUP(vector2, , uint, u, 32, 2, 1); - TEST_VDUP(vector2, q, int, s, 8, 16, 15); - TEST_VDUP(vector2, q, int, s, 16, 8, 5); - TEST_VDUP(vector2, q, int, s, 32, 4, 1); - TEST_VDUP(vector2, q, uint, u, 8, 16, 15); - TEST_VDUP(vector2, q, uint, u, 16, 8, 5); - TEST_VDUP(vector2, q, uint, u, 32, 4, 1); + VDUP(vector2, , int, s, 8, 8, 15); + VDUP(vector2, , int, s, 16, 4, 5); + VDUP(vector2, , int, s, 32, 2, 1); + VDUP(vector2, , uint, u, 8, 8, 15); + VDUP(vector2, , uint, u, 16, 4, 5); + VDUP(vector2, , uint, u, 32, 2, 1); + VDUP(vector2, q, int, s, 8, 16, 15); + VDUP(vector2, q, int, s, 16, 8, 5); + VDUP(vector2, q, int, s, 32, 4, 1); + VDUP(vector2, q, uint, u, 8, 16, 15); + VDUP(vector2, q, uint, u, 16, 8, 5); + VDUP(vector2, q, uint, u, 32, 4, 1); #define TEST_MACRO_NO64BIT_VARIANT_1_5(MACRO, VAR, T1, T2) \ MACRO(VAR, , T1, T2, 8, 8); \ diff --git a/ref_vuzp.c b/ref_vuzp.c index 866a432..0e6f1d8 100644 --- a/ref_vuzp.c +++ b/ref_vuzp.c @@ -95,30 +95,30 @@ FNNAME (INSN_NAME) DECL_ALL_VUZP(); /* Initialize input "vector" from "buffer" */ - TEST_MACRO_ALL_VARIANTS_2_5(TEST_VLOAD, vector1, buffer); - TEST_VLOAD(vector1, buffer, , float, f, 32, 2); - TEST_VLOAD(vector1, buffer, q, float, f, 32, 4); + TEST_MACRO_ALL_VARIANTS_2_5(VLOAD, vector1, buffer); + VLOAD(vector1, buffer, , float, f, 32, 2); + VLOAD(vector1, buffer, q, float, f, 32, 4); /* Choose arbitrary initialization values */ - TEST_VDUP(vector2, , int, s, 8, 8, 0x11); - TEST_VDUP(vector2, , int, s, 16, 4, 0x22); - TEST_VDUP(vector2, , int, s, 32, 2, 0x33); - TEST_VDUP(vector2, , uint, u, 8, 8, 0x55); - TEST_VDUP(vector2, , uint, u, 16, 4, 0x66); - TEST_VDUP(vector2, , uint, u, 32, 2, 0x77); - TEST_VDUP(vector2, , poly, p, 8, 8, 0x55); - TEST_VDUP(vector2, , poly, p, 16, 4, 0x66); - TEST_VDUP(vector2, , float, f, 32, 2, 33.6f); - - TEST_VDUP(vector2, q, int, s, 8, 16, 0x11); - TEST_VDUP(vector2, q, int, s, 16, 8, 0x22); - TEST_VDUP(vector2, q, int, s, 32, 4, 0x33); - TEST_VDUP(vector2, q, uint, u, 8, 16, 0x55); - TEST_VDUP(vector2, q, uint, u, 16, 8, 0x66); - TEST_VDUP(vector2, q, uint, u, 32, 4, 0x77); - TEST_VDUP(vector2, q, poly, p, 8, 16, 0x55); - TEST_VDUP(vector2, q, poly, p, 16, 8, 0x66); - TEST_VDUP(vector2, q, float, f, 32, 4, 33.8f); + VDUP(vector2, , int, s, 8, 8, 0x11); + VDUP(vector2, , int, s, 16, 4, 0x22); + VDUP(vector2, , int, s, 32, 2, 0x33); + VDUP(vector2, , uint, u, 8, 8, 0x55); + VDUP(vector2, , uint, u, 16, 4, 0x66); + VDUP(vector2, , uint, u, 32, 2, 0x77); + VDUP(vector2, , poly, p, 8, 8, 0x55); + VDUP(vector2, , poly, p, 16, 4, 0x66); + VDUP(vector2, , float, f, 32, 2, 33.6f); + + VDUP(vector2, q, int, s, 8, 16, 0x11); + VDUP(vector2, q, int, s, 16, 8, 0x22); + VDUP(vector2, q, int, s, 32, 4, 0x33); + VDUP(vector2, q, uint, u, 8, 16, 0x55); + VDUP(vector2, q, uint, u, 16, 8, 0x66); + VDUP(vector2, q, uint, u, 32, 4, 0x77); + VDUP(vector2, q, poly, p, 8, 16, 0x55); + VDUP(vector2, q, poly, p, 16, 8, 0x66); + VDUP(vector2, q, float, f, 32, 4, 33.8f); #define TEST_ALL_VUZP(INSN) \ TEST_VUZP(INSN, , int, s, 8, 8); \ diff --git a/stm-arm-neon-ref.h b/stm-arm-neon-ref.h index b06b23f..33677fd 100644 --- a/stm-arm-neon-ref.h +++ b/stm-arm-neon-ref.h @@ -709,7 +709,7 @@ static void clean_results (void) DECL_VARIABLE_128BITS_UNSIGNED_VARIANTS(VAR) /* Helpers to initialize vectors */ -#define TEST_VDUP(VAR, Q, T1, T2, W, N, V) \ +#define VDUP(VAR, Q, T1, T2, W, N, V) \ VECT_VAR(VAR, T1, W, N) = vdup##Q##_n_##T2##W(V) #define TEST_VSET_LANE(VAR, Q, T1, T2, W, N, L, V) \ @@ -718,7 +718,7 @@ static void clean_results (void) L) /* We need to load initial values first, so rely on VLD1 */ -#define TEST_VLOAD(VAR, BUF, Q, T1, T2, W, N) \ +#define VLOAD(VAR, BUF, Q, T1, T2, W, N) \ VECT_VAR(VAR, T1, W, N) = vld1##Q##_##T2##W(VECT_VAR(BUF, T1, W, N)) /* Helpers for macros with 1 constant and 5 variable arguments */ -- cgit v1.2.3