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]