Files
Xenia-Canary/src/xenia/cpu/ppc/testing/instr_vrefp128.s
2026-02-13 14:49:49 +09:00

40 lines
1.4 KiB
ArmAsm

test_vrefp128_1:
# Reciprocal estimate: 1/[1.0, 2.0, 3.0, 4.0] [1.0, 0.5, 0.333, 0.25]
#_ REGISTER_IN v4 [3F800000, 40000000, 40400000, 40800000]
vrefp128 v5, v4
blr
#_ REGISTER_OUT v4 [3F800000, 40000000, 40400000, 40800000]
#_ REGISTER_OUT v5 [3F800000, 3F000000, 3EAAAAAB, 3E800000]
test_vrefp128_2:
# Reciprocal of larger values: 1/[5.0, 6.0, 7.0, 8.0]
#_ REGISTER_IN v4 [40A00000, 40C00000, 40E00000, 41000000]
vrefp128 v5, v4
blr
#_ REGISTER_OUT v4 [40A00000, 40C00000, 40E00000, 41000000]
#_ REGISTER_OUT v5 [3E4CCCCD, 3E2AAAAB, 3E124925, 3E000000]
test_vrefp128_3:
# Reciprocal of fractions: 1/[0.5, 0.25, 0.125, 0.0625]
#_ REGISTER_IN v4 [3F000000, 3E800000, 3E000000, 3D800000]
vrefp128 v5, v4
blr
#_ REGISTER_OUT v4 [3F000000, 3E800000, 3E000000, 3D800000]
#_ REGISTER_OUT v5 [40000000, 40800000, 41000000, 41800000]
test_vrefp128_4:
# Reciprocal of negative values: 1/[-1.0, -2.0, -3.0, -4.0]
#_ REGISTER_IN v4 [BF800000, C0000000, C0400000, C0800000]
vrefp128 v5, v4
blr
#_ REGISTER_OUT v4 [BF800000, C0000000, C0400000, C0800000]
#_ REGISTER_OUT v5 [BF800000, BF000000, BEAAAAAB, BE800000]
test_vrefp128_5:
# Reciprocal of large values: 1/[100.0, 200.0, 300.0, 600.0]
#_ REGISTER_IN v4 [42C80000, 43480000, 43960000, 44160000]
vrefp128 v5, v4
blr
#_ REGISTER_OUT v4 [42C80000, 43480000, 43960000, 44160000]
#_ REGISTER_OUT v5 [3C23D70A, 3BA3D70A, 3B5A740E, 3ADA740E]