gen-libm-have-vector-test.sh 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. #!/bin/sh
  2. # Copyright (C) 2014-2016 Free Software Foundation, Inc.
  3. # This file is part of the GNU C Library.
  4. # The GNU C Library is free software; you can redistribute it and/or
  5. # modify it under the terms of the GNU Lesser General Public
  6. # License as published by the Free Software Foundation; either
  7. # version 2.1 of the License, or (at your option) any later version.
  8. # The GNU C Library is distributed in the hope that it will be useful,
  9. # but WITHOUT ANY WARRANTY; without even the implied warranty of
  10. # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  11. # Lesser General Public License for more details.
  12. # You should have received a copy of the GNU Lesser General Public
  13. # License along with the GNU C Library; if not, see
  14. # <http://www.gnu.org/licenses/>.
  15. # Generate series of definitions used for vector math functions tests.
  16. # TEST_VECTOR_* and WRAPPER_NAME are defined in vector math functions tests.
  17. # *_VEC_SUFF is used in individual tests, as result of FUNC_TEST unfolding
  18. # to avoid warnings / errors about undeclared functions.
  19. print_defs()
  20. {
  21. echo "#if defined TEST_VECTOR_$1 && TEST_VECTOR_$1"
  22. echo "# define HAVE_VECTOR_$1 1"
  23. echo "# define ${1}_VEC_SUFF WRAPPER_NAME ($1)"
  24. echo "WRAPPER_DECL$2 (WRAPPER_NAME ($1))"
  25. echo "#else"
  26. echo "# define HAVE_VECTOR_$1 0"
  27. echo "# define ${1}_VEC_SUFF $1"
  28. echo "#endif"
  29. echo
  30. }
  31. for func in $(cat libm-test.inc | grep ALL_RM_TEST | grep -v define | grep -v RUN_TEST_LOOP_ff_f | grep -v RUN_TEST_LOOP_fFF_11 | sed -r "s/.*\(//; s/,.*//" ); do
  32. print_defs ${func}
  33. print_defs ${func}f
  34. print_defs ${func}l
  35. done
  36. for func in $(cat libm-test.inc | grep ALL_RM_TEST | grep RUN_TEST_LOOP_ff_f | sed -r "s/.*\(//; s/,.*//" ); do
  37. print_defs ${func} "_ff"
  38. print_defs ${func}f "_ff"
  39. print_defs ${func}l "_ff"
  40. done
  41. for func in $(cat libm-test.inc | grep ALL_RM_TEST | grep RUN_TEST_LOOP_fFF_11 | sed -r "s/.*\(//; s/,.*//" ); do
  42. print_defs ${func} "_fFF"
  43. print_defs ${func}f "_fFF"
  44. print_defs ${func}l "_fFF"
  45. done