Skip to content

Commit

Permalink
neon: add enable vmlaq_laneq_f32 and vcvtq_n_f64_u64
Browse files Browse the repository at this point in the history
* [NEON] Add -ffloat-store to test/arm/neon/meson.build
  • Loading branch information
yyctw authored Nov 17, 2023
1 parent 018ba24 commit c7d314b
Show file tree
Hide file tree
Showing 5 changed files with 9 additions and 12 deletions.
2 changes: 0 additions & 2 deletions simde/arm/neon/cvt_n.h
Original file line number Diff line number Diff line change
Expand Up @@ -766,7 +766,6 @@ simde_vcvt_n_f64_u64(simde_uint64x1_t a, const int n)
#define vcvt_n_f64_u64(a, n) simde_vcvt_n_f64_u64((a), (n))
#endif

/* Eric: Skip this function since it will trigger a compiler error when using i686-linux-gnu-g++-11.
SIMDE_FUNCTION_ATTRIBUTES
simde_float64x2_t
simde_vcvtq_n_f64_u64(simde_uint64x2_t a, const int n)
Expand All @@ -788,7 +787,6 @@ simde_vcvtq_n_f64_u64(simde_uint64x2_t a, const int n)
#undef vcvtq_n_f64_u64
#define vcvtq_n_f64_u64(a, n) simde_vcvtq_n_f64_u64((a), (n))
#endif
*/

SIMDE_FUNCTION_ATTRIBUTES
simde_float64x1_t
Expand Down
2 changes: 0 additions & 2 deletions simde/arm/neon/mla_lane.h
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,6 @@ SIMDE_BEGIN_DECLS_
#define vmla_laneq_f32(a, b, v, lane) simde_vmla_laneq_f32((a), (b), (v), (lane))
#endif

/* Eric: Skip this function since it will trigger a compiler error when using i686-linux-gnu-g++-11.
#if defined(SIMDE_ARM_NEON_A64V8_NATIVE)
#define simde_vmlaq_laneq_f32(a, b, v, lane) vmlaq_laneq_f32((a), (b), (v), (lane))
#else
Expand All @@ -65,7 +64,6 @@ SIMDE_BEGIN_DECLS_
#undef vmlaq_laneq_f32
#define vmlaq_laneq_f32(a, b, v, lane) simde_vmlaq_laneq_f32((a), (b), (v), (lane))
#endif
*/

#if defined(SIMDE_ARM_NEON_A32V7_NATIVE)
#define simde_vmla_lane_s16(a, b, v, lane) vmla_lane_s16((a), (b), (v), (lane))
Expand Down
4 changes: 1 addition & 3 deletions test/arm/neon/cvt_n.c
Original file line number Diff line number Diff line change
Expand Up @@ -2953,7 +2953,6 @@ test_simde_vcvt_n_f64_u64 (SIMDE_MUNIT_TEST_ARGS) {
#endif
}

/* Eric: Skip this function since it will trigger a compiler error when using i686-linux-gnu-g++-11.
static int
test_simde_vcvtq_n_f64_u64 (SIMDE_MUNIT_TEST_ARGS) {
#if 1
Expand Down Expand Up @@ -3023,7 +3022,6 @@ test_simde_vcvtq_n_f64_u64 (SIMDE_MUNIT_TEST_ARGS) {
return 1;
#endif
}
*/

static int
test_simde_vcvt_n_f64_s64 (SIMDE_MUNIT_TEST_ARGS) {
Expand Down Expand Up @@ -3323,7 +3321,7 @@ SIMDE_TEST_FUNC_LIST_ENTRY(vcvtq_n_f16_u16)
SIMDE_TEST_FUNC_LIST_ENTRY(vcvtq_n_f32_s32)
SIMDE_TEST_FUNC_LIST_ENTRY(vcvtq_n_f32_u32)
SIMDE_TEST_FUNC_LIST_ENTRY(vcvtq_n_f64_s64)
//SIMDE_TEST_FUNC_LIST_ENTRY(vcvtq_n_f64_u64)
SIMDE_TEST_FUNC_LIST_ENTRY(vcvtq_n_f64_u64)

SIMDE_TEST_FUNC_LIST_ENTRY(vcvtq_n_s16_f16)
SIMDE_TEST_FUNC_LIST_ENTRY(vcvtq_n_s32_f32)
Expand Down
9 changes: 7 additions & 2 deletions test/arm/neon/meson.build
Original file line number Diff line number Diff line change
@@ -1,4 +1,9 @@
simde_test_arm_neon_sources = []
# Disable the Intel FPU with 80-bit precision.
disable_fpu_flags = []
if (host_machine.cpu() == 'prescott') or (host_machine.cpu().endswith('86') and host_machine.cpu().startswith('i'))
disable_fpu_flags += '-ffloat-store'
endif
foreach name : simde_neon_families
if (name != 'ld3') and (name != 'ld4') and (name != 'st1') and (name != 'ld1')
foreach lang : ['c', 'cpp']
Expand All @@ -15,8 +20,8 @@ foreach name : simde_neon_families
endif

x = executable(name + '-' + emul + '-' + lang, source_file,
c_args: simde_c_args + simde_c_defs + simde_native_c_flags + extra_flags,
cpp_args: simde_c_args + simde_c_defs + simde_native_c_flags + extra_flags,
c_args: simde_c_args + simde_c_defs + simde_native_c_flags + extra_flags + disable_fpu_flags,
cpp_args: simde_c_args + simde_c_defs + simde_native_c_flags + extra_flags + disable_fpu_flags,
include_directories: simde_include_dir,
dependencies: simde_deps)

Expand Down
4 changes: 1 addition & 3 deletions test/arm/neon/mla_lane.c
Original file line number Diff line number Diff line change
Expand Up @@ -1279,7 +1279,6 @@ test_simde_vmlaq_lane_u32 (SIMDE_MUNIT_TEST_ARGS) {
#endif
}

/* Eric: Skip this function since it will trigger a compiler error when using i686-linux-gnu-g++-11.
static int
test_simde_vmlaq_laneq_f32 (SIMDE_MUNIT_TEST_ARGS) {
static const struct {
Expand Down Expand Up @@ -1349,7 +1348,6 @@ test_simde_vmlaq_laneq_f32 (SIMDE_MUNIT_TEST_ARGS) {

return 0;
}
*/

static int
test_simde_vmlaq_laneq_s16 (SIMDE_MUNIT_TEST_ARGS) {
Expand Down Expand Up @@ -1722,7 +1720,7 @@ SIMDE_TEST_FUNC_LIST_ENTRY(vmlaq_lane_s32)
SIMDE_TEST_FUNC_LIST_ENTRY(vmlaq_lane_u16)
SIMDE_TEST_FUNC_LIST_ENTRY(vmlaq_lane_u32)

//SIMDE_TEST_FUNC_LIST_ENTRY(vmlaq_laneq_f32)
SIMDE_TEST_FUNC_LIST_ENTRY(vmlaq_laneq_f32)
SIMDE_TEST_FUNC_LIST_ENTRY(vmlaq_laneq_s16)
SIMDE_TEST_FUNC_LIST_ENTRY(vmlaq_laneq_s32)
SIMDE_TEST_FUNC_LIST_ENTRY(vmlaq_laneq_u16)
Expand Down

0 comments on commit c7d314b

Please sign in to comment.