function(vec_cc_generated_test)
  cmake_parse_arguments(
    _RULE
    ""
    "NAME"
    "OPFMT;LINKOPTS;TIMEOUT"
    ${ARGN}
  )

set(_OPCODE "${_RULE_NAME}")

foreach(_OPFMT ${_RULE_OPFMT})
string(TOLOWER ${_OPFMT} _LOWER_OPFMT)
set(_TEST_SRC ${CMAKE_CURRENT_BINARY_DIR}/generated/${_OPCODE}/${_OPCODE}_${_LOWER_OPFMT}_test.cpp)
add_custom_command(
    OUTPUT
      ${_TEST_SRC}
    DEPENDS
     ${CMAKE_CURRENT_SOURCE_DIR}/templates/${_LOWER_OPFMT}_test.tpl.cpp
    COMMAND python3 ${CMAKE_CURRENT_SOURCE_DIR}/scripts/generate_vector_tests.py
      --template-path=${CMAKE_CURRENT_SOURCE_DIR}/templates/
      --instruction-format ${_OPFMT}
      --op-code ${_OPCODE}
      --out-path=${CMAKE_CURRENT_BINARY_DIR}/generated/${_OPCODE}
)
list (APPEND _TEST_SRCS "${_TEST_SRC}")
endforeach()

vec_cc_test(
  NAME
    ${_OPCODE}_test
  SRCS
    ${_TEST_SRCS}
  LINKOPTS
    ${_RULE_LINKOPTS}
  TIMEOUT
    ${_RULE_TIMEOUT}
)
endfunction()
