40 lines
1.4 KiB
ArmAsm
40 lines
1.4 KiB
ArmAsm
test_vlogefp128_1:
|
|
# log2(x) estimate for x = [1.0, 2.0, 4.0, 8.0] = [0.0, 1.0, 2.0, 3.0]
|
|
#_ REGISTER_IN v4 [3F800000, 40000000, 40800000, 41000000]
|
|
vlogefp128 v5, v4
|
|
blr
|
|
#_ REGISTER_OUT v4 [3F800000, 40000000, 40800000, 41000000]
|
|
#_ REGISTER_OUT v5 [00000000, 3F800000, 40000000, 40400000]
|
|
|
|
test_vlogefp128_2:
|
|
# log2(x) estimate for fractions: [0.5, 0.25, 0.125, 0.0625] = [-1.0, -2.0, -3.0, -4.0]
|
|
#_ REGISTER_IN v4 [3F000000, 3E800000, 3E000000, 3D800000]
|
|
vlogefp128 v5, v4
|
|
blr
|
|
#_ REGISTER_OUT v4 [3F000000, 3E800000, 3E000000, 3D800000]
|
|
#_ REGISTER_OUT v5 [BF800000, C0000000, C0400000, C0800000]
|
|
|
|
test_vlogefp128_3:
|
|
# log2(x) estimate for larger values
|
|
#_ REGISTER_IN v4 [41800000, 42000000, 42800000, 43000000]
|
|
vlogefp128 v5, v4
|
|
blr
|
|
#_ REGISTER_OUT v4 [41800000, 42000000, 42800000, 43000000]
|
|
#_ REGISTER_OUT v5 [40800000, 40A00000, 40C00000, 40E00000]
|
|
|
|
test_vlogefp128_4:
|
|
# log2(1.0) = 0.0 (should always be zero)
|
|
#_ REGISTER_IN v4 [3F800000, 3F800000, 3F800000, 3F800000]
|
|
vlogefp128 v5, v4
|
|
blr
|
|
#_ REGISTER_OUT v4 [3F800000, 3F800000, 3F800000, 3F800000]
|
|
#_ REGISTER_OUT v5 [00000000, 00000000, 00000000, 00000000]
|
|
|
|
test_vlogefp128_5:
|
|
# log2(x) for values slightly above 1.0
|
|
#_ REGISTER_IN v4 [3FB504F3, 3FC00000, 3FD744FD, 3FECCCCD]
|
|
vlogefp128 v5, v4
|
|
blr
|
|
#_ REGISTER_OUT v4 [3FB504F3, 3FC00000, 3FD744FD, 3FECCCCD]
|
|
#_ REGISTER_OUT v5 [3EFFFFFF, 3F15C01A, 3F400000, 3F6334DB]
|