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)
find_file(_GEN_VEC_SCRIPT generate_vector_tests.py ${CMAKE_SOURCE_DIR}/scripts)
add_custom_command(
    OUTPUT
      ${_TEST_SRC}
    DEPENDS
     ${CMAKE_CURRENT_SOURCE_DIR}/templates/${_LOWER_OPFMT}_test.tpl.cpp
    COMMAND python3 ${_GEN_VEC_SCRIPT}
      --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()
