# There are namespace pollution issues on Windows, due to osdep.h
# bringing in Windows headers that define a FLOAT128 type.
if targetos == 'windows'
  subdir_done()
endif

fpcflags = [
  # softfloat defines
  '-DSOFTFLOAT_ROUND_ODD',
  '-DINLINE_LEVEL=5',
  '-DSOFTFLOAT_FAST_DIV32TO16',
  '-DSOFTFLOAT_FAST_DIV64TO32',
  '-DSOFTFLOAT_FAST_INT64',
  # testfloat defines
  '-DFLOAT16',
  '-DFLOAT64',
  '-DEXTFLOAT80',
  '-DFLOAT128',
  '-DFLOAT_ROUND_ODD',
  '-DLONG_DOUBLE_IS_EXTFLOAT80',
]

sfdir = 'berkeley-softfloat-3/source'
sfspedir = sfdir / '8086-SSE'
tfdir = 'berkeley-testfloat-3/source'

sfinc = include_directories(sfdir / 'include', sfspedir)

tfcflags = [
  '-Wno-implicit-fallthrough',
  '-Wno-strict-prototypes',
  '-Wno-unknown-pragmas',
  '-Wno-uninitialized',
  '-Wno-missing-prototypes',
  '-Wno-return-type',
  '-Wno-unused-function',
  '-Wno-error',
]

if cc.get_id() == 'clang'
  # Clang does not support '#pragma STDC FENV_ACCESS'
  tfcflags += [ '-Wno-ignored-pragmas' ]
endif

tfgencases = [
  tfdir / 'genCases_ui32.c',
  tfdir / 'genCases_ui64.c',
  tfdir / 'genCases_i32.c',
  tfdir / 'genCases_i64.c',
  tfdir / 'genCases_f16.c',
  tfdir / 'genCases_f32.c',
  tfdir / 'genCases_f64.c',
  tfdir / 'genCases_extF80.c',
  tfdir / 'genCases_f128.c',
]

tfwritecase = [
  tfdir / 'writeCase_a_ui32.c',
  tfdir / 'writeCase_a_ui64.c',
  tfdir / 'writeCase_a_f16.c',
  tfdir / 'writeCase_ab_f16.c',
  tfdir / 'writeCase_abc_f16.c',
  tfdir / 'writeCase_a_f32.c',
  tfdir / 'writeCase_ab_f32.c',
  tfdir / 'writeCase_abc_f32.c',
  tfdir / 'writeCase_a_f64.c',
  tfdir / 'writeCase_ab_f64.c',
  tfdir / 'writeCase_abc_f64.c',
  tfdir / 'writeCase_a_extF80M.c',
  tfdir / 'writeCase_ab_extF80M.c',
  tfdir / 'writeCase_a_f128M.c',
  tfdir / 'writeCase_ab_f128M.c',
  tfdir / 'writeCase_abc_f128M.c',
  tfdir / 'writeCase_z_bool.c',
  tfdir / 'writeCase_z_ui32.c',
  tfdir / 'writeCase_z_ui64.c',
  tfdir / 'writeCase_z_f16.c',
  tfdir / 'writeCase_z_f32.c',
  tfdir / 'writeCase_z_f64.c',
  tfdir / 'writeCase_z_extF80M.c',
  tfdir / 'writeCase_z_f128M.c',
]

tftest = [
  tfdir / 'test_a_ui32_z_f16.c',
  tfdir / 'test_a_ui32_z_f32.c',
  tfdir / 'test_a_ui32_z_f64.c',
  tfdir / 'test_a_ui32_z_extF80.c',
  tfdir / 'test_a_ui32_z_f128.c',
  tfdir / 'test_a_ui64_z_f16.c',
  tfdir / 'test_a_ui64_z_f32.c',
  tfdir / 'test_a_ui64_z_f64.c',
  tfdir / 'test_a_ui64_z_extF80.c',
  tfdir / 'test_a_ui64_z_f128.c',
  tfdir / 'test_a_i32_z_f16.c',
  tfdir / 'test_a_i32_z_f32.c',
  tfdir / 'test_a_i32_z_f64.c',
  tfdir / 'test_a_i32_z_extF80.c',
  tfdir / 'test_a_i32_z_f128.c',
  tfdir / 'test_a_i64_z_f16.c',
  tfdir / 'test_a_i64_z_f32.c',
  tfdir / 'test_a_i64_z_f64.c',
  tfdir / 'test_a_i64_z_extF80.c',
  tfdir / 'test_a_i64_z_f128.c',
  tfdir / 'test_a_f16_z_ui32_rx.c',
  tfdir / 'test_a_f16_z_ui64_rx.c',
  tfdir / 'test_a_f16_z_i32_rx.c',
  tfdir / 'test_a_f16_z_i64_rx.c',
  tfdir / 'test_a_f16_z_ui32_x.c',
  tfdir / 'test_a_f16_z_ui64_x.c',
  tfdir / 'test_a_f16_z_i32_x.c',
  tfdir / 'test_a_f16_z_i64_x.c',
  tfdir / 'test_a_f16_z_f32.c',
  tfdir / 'test_a_f16_z_f64.c',
  tfdir / 'test_a_f16_z_extF80.c',
  tfdir / 'test_a_f16_z_f128.c',
  tfdir / 'test_az_f16.c',
  tfdir / 'test_az_f16_rx.c',
  tfdir / 'test_abz_f16.c',
  tfdir / 'test_abcz_f16.c',
  tfdir / 'test_ab_f16_z_bool.c',
  tfdir / 'test_a_f32_z_ui32_rx.c',
  tfdir / 'test_a_f32_z_ui64_rx.c',
  tfdir / 'test_a_f32_z_i32_rx.c',
  tfdir / 'test_a_f32_z_i64_rx.c',
  tfdir / 'test_a_f32_z_ui32_x.c',
  tfdir / 'test_a_f32_z_ui64_x.c',
  tfdir / 'test_a_f32_z_i32_x.c',
  tfdir / 'test_a_f32_z_i64_x.c',
  tfdir / 'test_a_f32_z_f16.c',
  tfdir / 'test_a_f32_z_f64.c',
  tfdir / 'test_a_f32_z_extF80.c',
  tfdir / 'test_a_f32_z_f128.c',
  tfdir / 'test_az_f32.c',
  tfdir / 'test_az_f32_rx.c',
  tfdir / 'test_abz_f32.c',
  tfdir / 'test_abcz_f32.c',
  tfdir / 'test_ab_f32_z_bool.c',
  tfdir / 'test_a_f64_z_ui32_rx.c',
  tfdir / 'test_a_f64_z_ui64_rx.c',
  tfdir / 'test_a_f64_z_i32_rx.c',
  tfdir / 'test_a_f64_z_i64_rx.c',
  tfdir / 'test_a_f64_z_ui32_x.c',
  tfdir / 'test_a_f64_z_ui64_x.c',
  tfdir / 'test_a_f64_z_i32_x.c',
  tfdir / 'test_a_f64_z_i64_x.c',
  tfdir / 'test_a_f64_z_f16.c',
  tfdir / 'test_a_f64_z_f32.c',
  tfdir / 'test_a_f64_z_extF80.c',
  tfdir / 'test_a_f64_z_f128.c',
  tfdir / 'test_az_f64.c',
  tfdir / 'test_az_f64_rx.c',
  tfdir / 'test_abz_f64.c',
  tfdir / 'test_abcz_f64.c',
  tfdir / 'test_ab_f64_z_bool.c',
  tfdir / 'test_a_extF80_z_ui32_rx.c',
  tfdir / 'test_a_extF80_z_ui64_rx.c',
  tfdir / 'test_a_extF80_z_i32_rx.c',
  tfdir / 'test_a_extF80_z_i64_rx.c',
  tfdir / 'test_a_extF80_z_ui32_x.c',
  tfdir / 'test_a_extF80_z_ui64_x.c',
  tfdir / 'test_a_extF80_z_i32_x.c',
  tfdir / 'test_a_extF80_z_i64_x.c',
  tfdir / 'test_a_extF80_z_f16.c',
  tfdir / 'test_a_extF80_z_f32.c',
  tfdir / 'test_a_extF80_z_f64.c',
  tfdir / 'test_a_extF80_z_f128.c',
  tfdir / 'test_az_extF80.c',
  tfdir / 'test_az_extF80_rx.c',
  tfdir / 'test_abz_extF80.c',
  tfdir / 'test_ab_extF80_z_bool.c',
  tfdir / 'test_a_f128_z_ui32_rx.c',
  tfdir / 'test_a_f128_z_ui64_rx.c',
  tfdir / 'test_a_f128_z_i32_rx.c',
  tfdir / 'test_a_f128_z_i64_rx.c',
  tfdir / 'test_a_f128_z_ui32_x.c',
  tfdir / 'test_a_f128_z_ui64_x.c',
  tfdir / 'test_a_f128_z_i32_x.c',
  tfdir / 'test_a_f128_z_i64_x.c',
  tfdir / 'test_a_f128_z_f16.c',
  tfdir / 'test_a_f128_z_f32.c',
  tfdir / 'test_a_f128_z_f64.c',
  tfdir / 'test_a_f128_z_extF80.c',
  tfdir / 'test_az_f128.c',
  tfdir / 'test_az_f128_rx.c',
  tfdir / 'test_abz_f128.c',
  tfdir / 'test_abcz_f128.c',
  tfdir / 'test_ab_f128_z_bool.c',
]

libtestfloat = static_library(
  'testfloat',
  files(
    tfdir / 'uint128_inline.c',
    tfdir / 'uint128.c',
    tfdir / 'fail.c',
    tfdir / 'functions_common.c',
    tfdir / 'functionInfos.c',
    tfdir / 'standardFunctionInfos.c',
    tfdir / 'random.c',
    tfdir / 'genCases_common.c',
    tfgencases,
    tfdir / 'genCases_writeTestsTotal.c',
    tfdir / 'verCases_inline.c',
    tfdir / 'verCases_common.c',
    tfdir / 'verCases_writeFunctionName.c',
    tfdir / 'readHex.c',
    tfdir / 'writeHex.c',
    tfwritecase,
    tfdir / 'testLoops_common.c',
    tftest,
  ),
  include_directories: sfinc,
  c_args: tfcflags + fpcflags,
)

sfcflags = [
  '-Wno-implicit-fallthrough',
  '-Wno-missing-prototypes',
  '-Wno-redundant-decls',
  '-Wno-return-type',
  '-Wno-error',
]

libsoftfloat = static_library(
  'softfloat',
  files(
    # primitives
    sfdir / 's_eq128.c',
    sfdir / 's_le128.c',
    sfdir / 's_lt128.c',
    sfdir / 's_shortShiftLeft128.c',
    sfdir / 's_shortShiftRight128.c',
    sfdir / 's_shortShiftRightJam64.c',
    sfdir / 's_shortShiftRightJam64Extra.c',
    sfdir / 's_shortShiftRightJam128.c',
    sfdir / 's_shortShiftRightJam128Extra.c',
    sfdir / 's_shiftRightJam32.c',
    sfdir / 's_shiftRightJam64.c',
    sfdir / 's_shiftRightJam64Extra.c',
    sfdir / 's_shiftRightJam128.c',
    sfdir / 's_shiftRightJam128Extra.c',
    sfdir / 's_shiftRightJam256M.c',
    sfdir / 's_countLeadingZeros8.c',
    sfdir / 's_countLeadingZeros16.c',
    sfdir / 's_countLeadingZeros32.c',
    sfdir / 's_countLeadingZeros64.c',
    sfdir / 's_add128.c',
    sfdir / 's_add256M.c',
    sfdir / 's_sub128.c',
    sfdir / 's_sub256M.c',
    sfdir / 's_mul64ByShifted32To128.c',
    sfdir / 's_mul64To128.c',
    sfdir / 's_mul128By32.c',
    sfdir / 's_mul128To256M.c',
    sfdir / 's_approxRecip_1Ks.c',
    sfdir / 's_approxRecip32_1.c',
    sfdir / 's_approxRecipSqrt_1Ks.c',
    sfdir / 's_approxRecipSqrt32_1.c',
    # others
    sfdir / 's_roundToUI32.c',
    sfdir / 's_roundToUI64.c',
    sfdir / 's_roundToI32.c',
    sfdir / 's_roundToI64.c',
    sfdir / 's_normSubnormalF16Sig.c',
    sfdir / 's_roundPackToF16.c',
    sfdir / 's_normRoundPackToF16.c',
    sfdir / 's_addMagsF16.c',
    sfdir / 's_subMagsF16.c',
    sfdir / 's_mulAddF16.c',
    sfdir / 's_normSubnormalF32Sig.c',
    sfdir / 's_roundPackToF32.c',
    sfdir / 's_normRoundPackToF32.c',
    sfdir / 's_addMagsF32.c',
    sfdir / 's_subMagsF32.c',
    sfdir / 's_mulAddF32.c',
    sfdir / 's_normSubnormalF64Sig.c',
    sfdir / 's_roundPackToF64.c',
    sfdir / 's_normRoundPackToF64.c',
    sfdir / 's_addMagsF64.c',
    sfdir / 's_subMagsF64.c',
    sfdir / 's_mulAddF64.c',
    sfdir / 's_normSubnormalExtF80Sig.c',
    sfdir / 's_roundPackToExtF80.c',
    sfdir / 's_normRoundPackToExtF80.c',
    sfdir / 's_addMagsExtF80.c',
    sfdir / 's_subMagsExtF80.c',
    sfdir / 's_normSubnormalF128Sig.c',
    sfdir / 's_roundPackToF128.c',
    sfdir / 's_normRoundPackToF128.c',
    sfdir / 's_addMagsF128.c',
    sfdir / 's_subMagsF128.c',
    sfdir / 's_mulAddF128.c',
    sfdir / 'softfloat_state.c',
    sfdir / 'ui32_to_f16.c',
    sfdir / 'ui32_to_f32.c',
    sfdir / 'ui32_to_f64.c',
    sfdir / 'ui32_to_extF80.c',
    sfdir / 'ui32_to_extF80M.c',
    sfdir / 'ui32_to_f128.c',
    sfdir / 'ui32_to_f128M.c',
    sfdir / 'ui64_to_f16.c',
    sfdir / 'ui64_to_f32.c',
    sfdir / 'ui64_to_f64.c',
    sfdir / 'ui64_to_extF80.c',
    sfdir / 'ui64_to_extF80M.c',
    sfdir / 'ui64_to_f128.c',
    sfdir / 'ui64_to_f128M.c',
    sfdir / 'i32_to_f16.c',
    sfdir / 'i32_to_f32.c',
    sfdir / 'i32_to_f64.c',
    sfdir / 'i32_to_extF80.c',
    sfdir / 'i32_to_extF80M.c',
    sfdir / 'i32_to_f128.c',
    sfdir / 'i32_to_f128M.c',
    sfdir / 'i64_to_f16.c',
    sfdir / 'i64_to_f32.c',
    sfdir / 'i64_to_f64.c',
    sfdir / 'i64_to_extF80.c',
    sfdir / 'i64_to_extF80M.c',
    sfdir / 'i64_to_f128.c',
    sfdir / 'i64_to_f128M.c',
    sfdir / 'f16_to_ui32.c',
    sfdir / 'f16_to_ui64.c',
    sfdir / 'f16_to_i32.c',
    sfdir / 'f16_to_i64.c',
    sfdir / 'f16_to_ui32_r_minMag.c',
    sfdir / 'f16_to_ui64_r_minMag.c',
    sfdir / 'f16_to_i32_r_minMag.c',
    sfdir / 'f16_to_i64_r_minMag.c',
    sfdir / 'f16_to_f32.c',
    sfdir / 'f16_to_f64.c',
    sfdir / 'f16_to_extF80.c',
    sfdir / 'f16_to_extF80M.c',
    sfdir / 'f16_to_f128.c',
    sfdir / 'f16_to_f128M.c',
    sfdir / 'f16_roundToInt.c',
    sfdir / 'f16_add.c',
    sfdir / 'f16_sub.c',
    sfdir / 'f16_mul.c',
    sfdir / 'f16_mulAdd.c',
    sfdir / 'f16_div.c',
    sfdir / 'f16_rem.c',
    sfdir / 'f16_sqrt.c',
    sfdir / 'f16_eq.c',
    sfdir / 'f16_le.c',
    sfdir / 'f16_lt.c',
    sfdir / 'f16_eq_signaling.c',
    sfdir / 'f16_le_quiet.c',
    sfdir / 'f16_lt_quiet.c',
    sfdir / 'f16_isSignalingNaN.c',
    sfdir / 'f32_to_ui32.c',
    sfdir / 'f32_to_ui64.c',
    sfdir / 'f32_to_i32.c',
    sfdir / 'f32_to_i64.c',
    sfdir / 'f32_to_ui32_r_minMag.c',
    sfdir / 'f32_to_ui64_r_minMag.c',
    sfdir / 'f32_to_i32_r_minMag.c',
    sfdir / 'f32_to_i64_r_minMag.c',
    sfdir / 'f32_to_f16.c',
    sfdir / 'f32_to_f64.c',
    sfdir / 'f32_to_extF80.c',
    sfdir / 'f32_to_extF80M.c',
    sfdir / 'f32_to_f128.c',
    sfdir / 'f32_to_f128M.c',
    sfdir / 'f32_roundToInt.c',
    sfdir / 'f32_add.c',
    sfdir / 'f32_sub.c',
    sfdir / 'f32_mul.c',
    sfdir / 'f32_mulAdd.c',
    sfdir / 'f32_div.c',
    sfdir / 'f32_rem.c',
    sfdir / 'f32_sqrt.c',
    sfdir / 'f32_eq.c',
    sfdir / 'f32_le.c',
    sfdir / 'f32_lt.c',
    sfdir / 'f32_eq_signaling.c',
    sfdir / 'f32_le_quiet.c',
    sfdir / 'f32_lt_quiet.c',
    sfdir / 'f32_isSignalingNaN.c',
    sfdir / 'f64_to_ui32.c',
    sfdir / 'f64_to_ui64.c',
    sfdir / 'f64_to_i32.c',
    sfdir / 'f64_to_i64.c',
    sfdir / 'f64_to_ui32_r_minMag.c',
    sfdir / 'f64_to_ui64_r_minMag.c',
    sfdir / 'f64_to_i32_r_minMag.c',
    sfdir / 'f64_to_i64_r_minMag.c',
    sfdir / 'f64_to_f16.c',
    sfdir / 'f64_to_f32.c',
    sfdir / 'f64_to_extF80.c',
    sfdir / 'f64_to_extF80M.c',
    sfdir / 'f64_to_f128.c',
    sfdir / 'f64_to_f128M.c',
    sfdir / 'f64_roundToInt.c',
    sfdir / 'f64_add.c',
    sfdir / 'f64_sub.c',
    sfdir / 'f64_mul.c',
    sfdir / 'f64_mulAdd.c',
    sfdir / 'f64_div.c',
    sfdir / 'f64_rem.c',
    sfdir / 'f64_sqrt.c',
    sfdir / 'f64_eq.c',
    sfdir / 'f64_le.c',
    sfdir / 'f64_lt.c',
    sfdir / 'f64_eq_signaling.c',
    sfdir / 'f64_le_quiet.c',
    sfdir / 'f64_lt_quiet.c',
    sfdir / 'f64_isSignalingNaN.c',
    sfdir / 'extF80_to_ui32.c',
    sfdir / 'extF80_to_ui64.c',
    sfdir / 'extF80_to_i32.c',
    sfdir / 'extF80_to_i64.c',
    sfdir / 'extF80_to_ui32_r_minMag.c',
    sfdir / 'extF80_to_ui64_r_minMag.c',
    sfdir / 'extF80_to_i32_r_minMag.c',
    sfdir / 'extF80_to_i64_r_minMag.c',
    sfdir / 'extF80_to_f16.c',
    sfdir / 'extF80_to_f32.c',
    sfdir / 'extF80_to_f64.c',
    sfdir / 'extF80_to_f128.c',
    sfdir / 'extF80_roundToInt.c',
    sfdir / 'extF80_add.c',
    sfdir / 'extF80_sub.c',
    sfdir / 'extF80_mul.c',
    sfdir / 'extF80_div.c',
    sfdir / 'extF80_rem.c',
    sfdir / 'extF80_sqrt.c',
    sfdir / 'extF80_eq.c',
    sfdir / 'extF80_le.c',
    sfdir / 'extF80_lt.c',
    sfdir / 'extF80_eq_signaling.c',
    sfdir / 'extF80_le_quiet.c',
    sfdir / 'extF80_lt_quiet.c',
    sfdir / 'extF80_isSignalingNaN.c',
    sfdir / 'extF80M_to_ui32.c',
    sfdir / 'extF80M_to_ui64.c',
    sfdir / 'extF80M_to_i32.c',
    sfdir / 'extF80M_to_i64.c',
    sfdir / 'extF80M_to_ui32_r_minMag.c',
    sfdir / 'extF80M_to_ui64_r_minMag.c',
    sfdir / 'extF80M_to_i32_r_minMag.c',
    sfdir / 'extF80M_to_i64_r_minMag.c',
    sfdir / 'extF80M_to_f16.c',
    sfdir / 'extF80M_to_f32.c',
    sfdir / 'extF80M_to_f64.c',
    sfdir / 'extF80M_to_f128M.c',
    sfdir / 'extF80M_roundToInt.c',
    sfdir / 'extF80M_add.c',
    sfdir / 'extF80M_sub.c',
    sfdir / 'extF80M_mul.c',
    sfdir / 'extF80M_div.c',
    sfdir / 'extF80M_rem.c',
    sfdir / 'extF80M_sqrt.c',
    sfdir / 'extF80M_eq.c',
    sfdir / 'extF80M_le.c',
    sfdir / 'extF80M_lt.c',
    sfdir / 'extF80M_eq_signaling.c',
    sfdir / 'extF80M_le_quiet.c',
    sfdir / 'extF80M_lt_quiet.c',
    sfdir / 'f128_to_ui32.c',
    sfdir / 'f128_to_ui64.c',
    sfdir / 'f128_to_i32.c',
    sfdir / 'f128_to_i64.c',
    sfdir / 'f128_to_ui32_r_minMag.c',
    sfdir / 'f128_to_ui64_r_minMag.c',
    sfdir / 'f128_to_i32_r_minMag.c',
    sfdir / 'f128_to_i64_r_minMag.c',
    sfdir / 'f128_to_f16.c',
    sfdir / 'f128_to_f32.c',
    sfdir / 'f128_to_extF80.c',
    sfdir / 'f128_to_f64.c',
    sfdir / 'f128_roundToInt.c',
    sfdir / 'f128_add.c',
    sfdir / 'f128_sub.c',
    sfdir / 'f128_mul.c',
    sfdir / 'f128_mulAdd.c',
    sfdir / 'f128_div.c',
    sfdir / 'f128_rem.c',
    sfdir / 'f128_sqrt.c',
    sfdir / 'f128_eq.c',
    sfdir / 'f128_le.c',
    sfdir / 'f128_lt.c',
    sfdir / 'f128_eq_signaling.c',
    sfdir / 'f128_le_quiet.c',
    sfdir / 'f128_lt_quiet.c',
    sfdir / 'f128_isSignalingNaN.c',
    sfdir / 'f128M_to_ui32.c',
    sfdir / 'f128M_to_ui64.c',
    sfdir / 'f128M_to_i32.c',
    sfdir / 'f128M_to_i64.c',
    sfdir / 'f128M_to_ui32_r_minMag.c',
    sfdir / 'f128M_to_ui64_r_minMag.c',
    sfdir / 'f128M_to_i32_r_minMag.c',
    sfdir / 'f128M_to_i64_r_minMag.c',
    sfdir / 'f128M_to_f16.c',
    sfdir / 'f128M_to_f32.c',
    sfdir / 'f128M_to_extF80M.c',
    sfdir / 'f128M_to_f64.c',
    sfdir / 'f128M_roundToInt.c',
    sfdir / 'f128M_add.c',
    sfdir / 'f128M_sub.c',
    sfdir / 'f128M_mul.c',
    sfdir / 'f128M_mulAdd.c',
    sfdir / 'f128M_div.c',
    sfdir / 'f128M_rem.c',
    sfdir / 'f128M_sqrt.c',
    sfdir / 'f128M_eq.c',
    sfdir / 'f128M_le.c',
    sfdir / 'f128M_lt.c',
    sfdir / 'f128M_eq_signaling.c',
    sfdir / 'f128M_le_quiet.c',
    sfdir / 'f128M_lt_quiet.c',
    # spe
    sfspedir / 'softfloat_raiseFlags.c',
    sfspedir / 's_f16UIToCommonNaN.c',
    sfspedir / 's_commonNaNToF16UI.c',
    sfspedir / 's_propagateNaNF16UI.c',
    sfspedir / 's_f32UIToCommonNaN.c',
    sfspedir / 's_commonNaNToF32UI.c',
    sfspedir / 's_propagateNaNF32UI.c',
    sfspedir / 's_f64UIToCommonNaN.c',
    sfspedir / 's_commonNaNToF64UI.c',
    sfspedir / 's_propagateNaNF64UI.c',
    sfspedir / 'extF80M_isSignalingNaN.c',
    sfspedir / 's_extF80UIToCommonNaN.c',
    sfspedir / 's_commonNaNToExtF80UI.c',
    sfspedir / 's_propagateNaNExtF80UI.c',
    sfspedir / 'f128M_isSignalingNaN.c',
    sfspedir / 's_f128UIToCommonNaN.c',
    sfspedir / 's_commonNaNToF128UI.c',
    sfspedir / 's_propagateNaNF128UI.c',
  ),
  include_directories: sfinc,
  c_args: sfcflags + fpcflags,
)

fpcflags += [
  # work around TARGET_* poisoning
  '-DHW_POISON_H',
  # define a target to match testfloat's implementation-defined choices, such as
  # whether to raise the invalid flag when dealing with NaNs in muladd.
  '-DTARGET_ARM',
  # FIXME: uiZ may be used uninitialized in this function
  '-Wno-uninitialized',
]

fptest = executable(
  'fp-test',
  ['fp-test.c', tfdir / 'slowfloat.c', '../../fpu/softfloat.c'],
  link_with: [libtestfloat, libsoftfloat],
  dependencies: [qemuutil],
  include_directories: [sfinc, include_directories(tfdir)],
  c_args: fpcflags,
)
softfloat_conv_tests = {
    'float-to-float': 'f16_to_f32 f16_to_f64 f16_to_extF80 f16_to_f128 ' +
                      'f32_to_f16 f32_to_f64 f32_to_extF80 ' +
                      'f64_to_f16 f64_to_f32 ' +
                      'extF80_to_f16 extF80_to_f32 ' +
                      'extF80_to_f64 extF80_to_f128 ' +
                      'f128_to_f16',
    'int-to-float': 'i32_to_f16 i64_to_f16 i32_to_f32 i64_to_f32 ' +
                    'i32_to_f64 i64_to_f64 ' +
                    'i32_to_extF80 i64_to_extF80 ' +
                    'i32_to_f128 i64_to_f128',
    'uint-to-float': 'ui32_to_f16 ui64_to_f16 ui32_to_f32 ui64_to_f32 ' +
                     'ui32_to_f64 ui64_to_f64 ui64_to_f128 ' +
                     'ui32_to_extF80 ui64_to_extF80',
    'float-to-int': 'f16_to_i32 f16_to_i32_r_minMag ' +
                    'f32_to_i32 f32_to_i32_r_minMag ' +
                    'f64_to_i32 f64_to_i32_r_minMag ' +
                    'extF80_to_i32 extF80_to_i32_r_minMag ' +
                    'f128_to_i32 f128_to_i32_r_minMag ' +
                    'f16_to_i64 f16_to_i64_r_minMag ' +
                    'f32_to_i64 f32_to_i64_r_minMag ' +
                    'f64_to_i64 f64_to_i64_r_minMag ' +
                    'extF80_to_i64 extF80_to_i64_r_minMag ' +
                    'f128_to_i64 f128_to_i64_r_minMag',
    'float-to-uint': 'f16_to_ui32 f16_to_ui32_r_minMag ' +
                     'f32_to_ui32 f32_to_ui32_r_minMag ' +
                     'f64_to_ui32 f64_to_ui32_r_minMag ' +
                     'extF80_to_ui32 extF80_to_ui32_r_minMag ' +
                     'f128_to_ui32 f128_to_ui32_r_minMag ' +
                     'f16_to_ui64 f16_to_ui64_r_minMag ' +
                     'f32_to_ui64 f32_to_ui64_r_minMag ' +
                     'f64_to_ui64 f64_to_ui64_r_minMag ' +
                     'extF80_to_ui64 extF80_to_ui64_r_minMag ' +
                     'f128_to_ui64 f128_to_ui64_r_minMag',
    'round-to-integer': 'f16_roundToInt f32_roundToInt ' +
                        'f64_roundToInt extF80_roundToInt f128_roundToInt'
}
softfloat_tests = {
    'eq_signaling' : 'compare',
    'le' : 'compare',
    'le_quiet' : 'compare',
    'lt_quiet' : 'compare',
    'add': 'ops',
    'sub': 'ops',
    'mul': 'ops',
    'div': 'ops',
    'rem': 'ops',
    'sqrt': 'ops'
}
# The full test suite can take a bit of time, default to a quick run
# "-l 2 -r all" can take more than a day for some operations and is best
# run manually
fptest_args = ['-s', '-l', '1']
fptest_rounding_args = ['-r', 'all']

# Conversion Routines:
foreach k, v : softfloat_conv_tests
  test('fp-test-' + k, fptest,
       args: fptest_args + fptest_rounding_args + v.split(),
       suite: ['softfloat', 'softfloat-conv'])
endforeach

foreach k, v : softfloat_tests
  test('fp-test-' + k, fptest,
       args: fptest_args + fptest_rounding_args +
             ['f16_' + k, 'f32_' + k, 'f64_' + k, 'f128_' + k, 'extF80_' + k],
       suite: ['softfloat', 'softfloat-' + v])
endforeach

# FIXME: extF80_{mulAdd} (missing)
test('fp-test-mulAdd', fptest,
     # no fptest_rounding_args
     args: fptest_args +
           ['f16_mulAdd', 'f32_mulAdd', 'f64_mulAdd', 'f128_mulAdd'],
     suite: ['softfloat-slow', 'softfloat-ops-slow', 'slow'], timeout: 90)

fpbench = executable(
  'fp-bench',
  ['fp-bench.c', '../../fpu/softfloat.c'],
  link_with: [libtestfloat, libsoftfloat],
  dependencies: [qemuutil],
  include_directories: [sfinc, include_directories(tfdir)],
  c_args: fpcflags,
)

fptestlog2 = executable(
  'fp-test-log2',
  ['fp-test-log2.c', '../../fpu/softfloat.c'],
  link_with: [libsoftfloat],
  dependencies: [qemuutil],
  include_directories: [sfinc],
  c_args: fpcflags,
)
test('fp-test-log2', fptestlog2,
     suite: ['softfloat', 'softfloat-ops'])
