Index: External/SPEC/CINT2017rate/525.x264_r/CMakeLists.txt =================================================================== --- External/SPEC/CINT2017rate/525.x264_r/CMakeLists.txt +++ External/SPEC/CINT2017rate/525.x264_r/CMakeLists.txt @@ -180,7 +180,7 @@ endforeach () llvm_add_host_executable(ldecod_${SUFFIX}-host ldecod_${SUFFIX} ${ldecod_Sources} - CPPFLAGS -I "${SRC_DIR}/ldecod_src/inc" + CPPFLAGS -I "${SRC_DIR}/ldecod_src/inc" -DSPEC LDFLAGS -lm ) Index: External/SPEC/SpecCPU2017.cmake =================================================================== --- External/SPEC/SpecCPU2017.cmake +++ External/SPEC/SpecCPU2017.cmake @@ -106,7 +106,7 @@ # Mandatory flags - add_definitions(-DSPEC -DNDEBUG) + add_definitions(-DSPEC -DSPEC_CPU -DNDEBUG) if (RATE) # rate benchmarks never use parallelism @@ -127,7 +127,21 @@ add_definitions(-D_FILE_OFFSET_BITS=64) add_definitions(-DSPEC_LINUX_I32) # perlbench endif () + elseif (ARCH STREQUAL "AArch64" AND TARGET_OS STREQUAL "Linux" AND CMAKE_SIZEOF_VOID_P EQUAL 8) + # Linux ARM + add_definitions(-DSPEC_LINUX) + add_definitions(-DSPEC_LINUX_AARCH64) + add_definitions(-DSPEC_AUTO_BYTEORDER=0x12345678) # Little endian + add_definitions(-DSPEC_LP64) + elseif (ARCH STREQUAL "x86" AND TARGET_OS STREQUAL "Windows") + add_definitions(-DSPEC_AUTO_BYTEORDER=0x12345678) # Big endian + if (CMAKE_SIZEOF_VOID_P EQUAL 8) + add_definitions(-DSPEC_LLP64) + endif () else () + message("ARCH: ${ARCH}") + message("TARGET_OS: ${TARGET_OS}") + message("CMAKE_SIZEOF_VOID_P: ${CMAKE_SIZEOF_VOID_P}") message(FATAL_ERROR "Don't know portability flags for SPEC CPU 2017 on this platform") endif () @@ -228,6 +242,7 @@ llvm_add_host_executable( ${VALIDATOR}-host ${VALIDATOR} ${_validator_sources} LDFLAGS -lm + CPPFLAGS -DSPEC ) endif ()