diff options
author | Michael Kruse <llvm@meinersbur.de> | 2018-07-17 20:44:18 +0000 |
---|---|---|
committer | Michael Kruse <llvm@meinersbur.de> | 2018-07-17 20:44:18 +0000 |
commit | cc194d5fb972172c18961e4611fd57f4e8c2d1be (patch) | |
tree | a3ecdba56403719cccbd56bf36369006581a25f6 | |
parent | 121047f033754e642217dd45b7d49d1947cff3ab (diff) |
[SPECCPU2017] Add additional platform options and missing flags.
Add portability flags for 64-bit Windows and Linux on ARM.
Also add missing SPEC and SPEC_CPU flags without which the compilation
could fail on these platforms.
Differential Revision: https://reviews.llvm.org/D48442
git-svn-id: https://llvm.org/svn/llvm-project/test-suite/trunk@337326 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | External/SPEC/CINT2017rate/525.x264_r/CMakeLists.txt | 2 | ||||
-rw-r--r-- | External/SPEC/SpecCPU2017.cmake | 39 |
2 files changed, 36 insertions, 5 deletions
diff --git a/External/SPEC/CINT2017rate/525.x264_r/CMakeLists.txt b/External/SPEC/CINT2017rate/525.x264_r/CMakeLists.txt index c0f101b5..ce4d3841 100644 --- a/External/SPEC/CINT2017rate/525.x264_r/CMakeLists.txt +++ b/External/SPEC/CINT2017rate/525.x264_r/CMakeLists.txt @@ -180,7 +180,7 @@ foreach (_file IN LISTS ldecod_SourceNames) 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 ) diff --git a/External/SPEC/SpecCPU2017.cmake b/External/SPEC/SpecCPU2017.cmake index fabec2da..dbdecf71 100644 --- a/External/SPEC/SpecCPU2017.cmake +++ b/External/SPEC/SpecCPU2017.cmake @@ -106,7 +106,7 @@ macro (speccpu2017_benchmark) # Mandatory flags - add_definitions(-DSPEC -DNDEBUG) + add_definitions(-DSPEC -DSPEC_CPU -DNDEBUG) if (RATE) # rate benchmarks never use parallelism @@ -114,12 +114,34 @@ macro (speccpu2017_benchmark) endif () # Portability flags - if(ARCH STREQUAL "x86" AND TARGET_OS STREQUAL "Linux") - add_definitions(-DSPEC_LINUX) # 526.blender_r + if (ENDIAN STREQUAL "little") add_definitions(-DSPEC_AUTO_BYTEORDER=0x12345678) + elseif (ENDIAN STREQUAL "big") + add_definitions(-DSPEC_AUTO_BYTEORDER=0x87654321) + endif () + + check_type_size("long long" SIZEOF_LONG_LONG) + check_type_size("long" SIZEOF_LONG) + check_type_size("int" SIZEOF_INT) + if (CMAKE_SIZEOF_VOID_P EQUAL 4 AND SIZEOF_LONG_LONG EQUAL 8 AND SIZEOF_LONG EQUAL 4 AND SIZEOF_INT EQUAL 4) + add_definitions(-DSPEC_ILP32) + elseif (CMAKE_SIZEOF_VOID_P EQUAL 8 AND SIZEOF_LONG_LONG EQUAL 8 AND SIZEOF_LONG EQUAL 4 AND SIZEOF_INT EQUAL 4) + add_definitions(-DSPEC_P64) + elseif (CMAKE_SIZEOF_VOID_P EQUAL 8 AND SIZEOF_LONG_LONG EQUAL 8 AND SIZEOF_LONG EQUAL 8 AND SIZEOF_INT EQUAL 4) + add_definitions(-DSPEC_LP64) + elseif (CMAKE_SIZEOF_VOID_P EQUAL 8 AND SIZEOF_LONG_LONG EQUAL 8 AND SIZEOF_LONG EQUAL 8 AND SIZEOF_INT EQUAL 8) + add_definitions(-DSPEC_ILP64) + else () + message(FATAL_ERROR "SPEC CPU 2017 unsupported data model (supported: ILP32/LLP64/LP64/ILP64)") + endif () + + if (TARGET_OS STREQUAL "Linux") + add_definitions(-DSPEC_LINUX) # 526.blender_r + endif () + + if(ARCH STREQUAL "x86" AND TARGET_OS STREQUAL "Linux") if (CMAKE_SIZEOF_VOID_P EQUAL 8) # Linux x86_64 - add_definitions(-DSPEC_LP64) add_definitions(-DSPEC_LINUX_X64) # perlbench elseif (CMAKE_SIZEOF_VOID_P EQUAL 4) # Linux x86 @@ -127,7 +149,15 @@ macro (speccpu2017_benchmark) 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_AARCH64) + elseif (ARCH STREQUAL "x86" AND TARGET_OS STREQUAL "Windows") + # Windows x86/x64 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 +258,7 @@ macro(speccpu2017_validate_image _imgfile _cmpfile _outfile) llvm_add_host_executable( ${VALIDATOR}-host ${VALIDATOR} ${_validator_sources} LDFLAGS -lm + CPPFLAGS -DSPEC ) endif () |