.. | ||
combined_IF_vectors | ||
quad | ||
case.sh | ||
create_all_vectors.sh | ||
create_vectors.sh | ||
README.md | ||
remove_spaces.sh |
james.stine@okstate.edu 14 Jan 2022
These are the testvectors (TV) to test the floating-point units using Berkeley TestFloat written originally by John Hauser. TestFloat requires both TestFloat and SoftFloat.
The locations at time of this README is found here: TestFloat-3e: http://www.jhauser.us/arithmetic/TestFloat.html SoftFloat-3e: http://www.jhauser.us/arithmetic/SoftFloat.html
These files have been compiled on a x86_64 environment by going into the build/Linux-x86_64-GCC directory and typing make. A script createX.sh (e.g., create_vectors32.sh) has been included that create the TV for each rounding mode and operation. These scripts must be run in the build directory of TestFloat.
A set of scripts is also include that runs everything from the baseline directory. Please change the BUILD and OUTPUT variable to change your baseline program where its compiled and where you want to output the vectors. By default, the vectors are output into the vectors subdirectory.
After each TV has been created a script (included) is run called undy.sh that puts an underscore between vector to allow SystemVerilog readmemh to read correctly.
./undy.sh file.tv
To remove all the underscores from all the TV files, one can run the command that will add underscores appropriately to all the files.
cd vectors ../undy.sh *
Note: due to size, the fxx_fma_xx.tv vectors are not included. However, they can easily be created with the create scripts.
Although not needed, a case.sh script is included to change the case of the hex output. This is for those that do not like to see hexadecimal capitalized :P.
46464 185856 836352 f16_add_rd.tv 46464 185856 836352 f16_add_rne.tv 46464 185856 836352 f16_add_ru.tv 46464 185856 836352 f16_add_rz.tv 46464 185856 836352 f16_div_rd.tv 46464 185856 836352 f16_div_rne.tv 46464 185856 836352 f16_div_ru.tv 46464 185856 836352 f16_div_rz.tv 46464 185856 836352 f16_mul_rd.tv 46464 185856 836352 f16_mul_rne.tv 46464 185856 836352 f16_mul_ru.tv 46464 185856 836352 f16_mul_rz.tv 408 1224 5304 f16_sqrt_rd.tv 408 1224 5304 f16_sqrt_rne.tv 408 1224 5304 f16_sqrt_ru.tv 408 1224 5304 f16_sqrt_rz.tv 46464 185856 836352 f16_sub_rd.tv 46464 185856 836352 f16_sub_rne.tv 46464 185856 836352 f16_sub_ru.tv 46464 185856 836352 f16_sub_rz.tv 46464 185856 1393920 f32_add_rd.tv 46464 185856 1393920 f32_add_rne.tv 46464 185856 1393920 f32_add_ru.tv 46464 185856 1393920 f32_add_rz.tv 46464 185856 1068672 f32_cmp_eq_signaling.tv 46464 185856 1068672 f32_cmp_eq.tv 46464 185856 1068672 f32_cmp_le_quiet.tv 46464 185856 1068672 f32_cmp_le.tv 46464 185856 1068672 f32_cmp_lt_quiet.tv 46464 185856 1068672 f32_cmp_lt.tv 46464 185856 1393920 f32_div_rd.tv 46464 185856 1393920 f32_div_rne.tv 46464 185856 1393920 f32_div_ru.tv 46464 185856 1393920 f32_div_rz.tv 600 1800 17400 f32_f64_rd.tv 600 1800 17400 f32_f64_rne.tv 600 1800 17400 f32_f64_ru.tv 600 1800 17400 f32_f64_rz.tv 600 1800 12600 f32_i32_rd.tv 600 1800 12600 f32_i32_rne.tv 600 1800 12600 f32_i32_ru.tv 600 1800 12600 f32_i32_rz.tv 600 1800 17400 f32_i64_rd.tv 600 1800 17400 f32_i64_rne.tv 600 1800 17400 f32_i64_ru.tv 600 1800 17400 f32_i64_rz.tv 46464 185856 1393920 f32_mul_rd.tv 46464 185856 1393920 f32_mul_rne.tv 46464 185856 1393920 f32_mul_ru.tv 46464 185856 1393920 f32_mul_rz.tv 600 1800 12600 f32_sqrt_rd.tv 600 1800 12600 f32_sqrt_rne.tv 600 1800 12600 f32_sqrt_ru.tv 600 1800 12600 f32_sqrt_rz.tv 46464 185856 1393920 f32_sub_rd.tv 46464 185856 1393920 f32_sub_rne.tv 46464 185856 1393920 f32_sub_ru.tv 46464 185856 1393920 f32_sub_rz.tv 600 1800 12600 f32_ui32_rd.tv 600 1800 12600 f32_ui32_rne.tv 600 1800 12600 f32_ui32_ru.tv 600 1800 12600 f32_ui32_rz.tv 600 1800 17400 f32_ui64_rd.tv 600 1800 17400 f32_ui64_rne.tv 600 1800 17400 f32_ui64_ru.tv 600 1800 17400 f32_ui64_rz.tv 46464 185856 2509056 f64_add_rd.tv 46464 185856 2509056 f64_add_rne.tv 46464 185856 2509056 f64_add_ru.tv 46464 185856 2509056 f64_add_rz.tv 46464 185856 1812096 f64_cmp_eq_signaling.tv 46464 185856 1812096 f64_cmp_eq.tv 46464 185856 1812096 f64_cmp_le_quiet.tv 46464 185856 1812096 f64_cmp_le.tv 46464 185856 1812096 f64_cmp_lt_quiet.tv 46464 185856 1812096 f64_cmp_lt.tv 46464 185856 2509056 f64_div_rd.tv 46464 185856 2509056 f64_div_rne.tv 46464 185856 2509056 f64_div_ru.tv 46464 185856 2509056 f64_div_rz.tv 768 2304 22272 f64_f32_rd.tv 768 2304 22272 f64_f32_rne.tv 768 2304 22272 f64_f32_ru.tv 768 2304 22272 f64_f32_rz.tv 768 2304 22272 f64_i32_rd.tv 768 2304 22272 f64_i32_rne.tv 768 2304 22272 f64_i32_ru.tv 768 2304 22272 f64_i32_rz.tv 768 2304 28416 f64_i64_rd.tv 768 2304 28416 f64_i64_rne.tv 768 2304 28416 f64_i64_ru.tv 768 2304 28416 f64_i64_rz.tv 46464 185856 2509056 f64_mul_rd.tv 46464 185856 2509056 f64_mul_rne.tv 46464 185856 2509056 f64_mul_ru.tv 46464 185856 2509056 f64_mul_rz.tv 768 2304 28416 f64_sqrt_rd.tv 768 2304 28416 f64_sqrt_rne.tv 768 2304 28416 f64_sqrt_ru.tv 768 2304 28416 f64_sqrt_rz.tv 46464 185856 2509056 f64_sub_rd.tv 46464 185856 2509056 f64_sub_rne.tv 46464 185856 2509056 f64_sub_ru.tv 46464 185856 2509056 f64_sub_rz.tv 768 2304 22272 f64_ui32_rd.tv 768 2304 22272 f64_ui32_rne.tv 768 2304 22272 f64_ui32_ru.tv 768 2304 22272 f64_ui32_rz.tv 768 2304 28416 f64_ui64_rd.tv 768 2304 28416 f64_ui64_rne.tv 768 2304 28416 f64_ui64_ru.tv 768 2304 28416 f64_ui64_rz.tv 372 1116 7812 i32_f32_rd.tv 372 1116 7812 i32_f32_rne.tv 372 1116 7812 i32_f32_ru.tv 372 1116 7812 i32_f32_rz.tv 372 1116 10788 i32_f64_rd.tv 372 1116 10788 i32_f64_rne.tv 372 1116 10788 i32_f64_ru.tv 372 1116 10788 i32_f64_rz.tv 756 2268 21924 i64_f32_rd.tv 756 2268 21924 i64_f32_rne.tv 756 2268 21924 i64_f32_ru.tv 756 2268 21924 i64_f32_rz.tv 756 2268 27972 i64_f64_rd.tv 756 2268 27972 i64_f64_rne.tv 756 2268 27972 i64_f64_ru.tv 756 2268 27972 i64_f64_rz.tv 372 1116 7812 ui32_f32_rd.tv 372 1116 7812 ui32_f32_rne.tv 372 1116 7812 ui32_f32_ru.tv 372 1116 7812 ui32_f32_rz.tv 372 1116 10788 ui32_f64_rd.tv 372 1116 10788 ui32_f64_rne.tv 372 1116 10788 ui32_f64_ru.tv 372 1116 10788 ui32_f64_rz.tv 756 2268 21924 ui64_f32_rd.tv 756 2268 21924 ui64_f32_rne.tv 756 2268 21924 ui64_f32_ru.tv 756 2268 21924 ui64_f32_rz.tv 756 2268 27972 ui64_f64_rd.tv 756 2268 27972 ui64_f64_rne.tv 756 2268 27972 ui64_f64_ru.tv 756 2268 27972 ui64_f64_rz.tv 2840352 11308896 94651296 total