test_vrfim128_1: # Floor positive numbers: [1.5, 2.25, 3.25, 4.5] -> [1.0, 2.0, 3.0, 4.0] #_ REGISTER_IN v4 [3FC00000, 40100000, 40500000, 40900000] vrfim128 v5, v4 blr #_ REGISTER_OUT v4 [3FC00000, 40100000, 40500000, 40900000] #_ REGISTER_OUT v5 [3F800000, 40000000, 40400000, 40800000] test_vrfim128_2: # Floor negative numbers: [-1.5, -2.25, -3.25, -4.5] -> [-2.0, -3.0, -4.0, -5.0] #_ REGISTER_IN v4 [BFC00000, C0100000, C0500000, C0900000] vrfim128 v5, v4 blr #_ REGISTER_OUT v4 [BFC00000, C0100000, C0500000, C0900000] #_ REGISTER_OUT v5 [C0000000, C0400000, C0800000, C0A00000] test_vrfim128_3: # Floor integers (no change): [1.0, 2.0, 3.0, 4.0] #_ REGISTER_IN v4 [3F800000, 40000000, 40400000, 40800000] vrfim128 v5, v4 blr #_ REGISTER_OUT v4 [3F800000, 40000000, 40400000, 40800000] #_ REGISTER_OUT v5 [3F800000, 40000000, 40400000, 40800000] test_vrfim128_4: # Floor zeros and small values: [0.0, -0.0, 0.5, -0.5] -> [0.0, -0.0, 0.0, -1.0] #_ REGISTER_IN v4 [00000000, 80000000, 3F000000, BF000000] vrfim128 v5, v4 blr #_ REGISTER_OUT v4 [00000000, 80000000, 3F000000, BF000000] #_ REGISTER_OUT v5 [00000000, 80000000, 00000000, BF800000] test_vrfim128_5: # Floor fractional values: [0.75, 0.9, 1.0, 1.1] -> [0.0, 0.0, 1.0, 1.0] #_ REGISTER_IN v4 [3F400000, 3F666666, 3F800000, 3F8CCCCD] vrfim128 v5, v4 blr #_ REGISTER_OUT v4 [3F400000, 3F666666, 3F800000, 3F8CCCCD] #_ REGISTER_OUT v5 [00000000, 00000000, 3F800000, 3F800000]