Merge pull request #4661 from martin-frbg/issue4660
Fix CMAKE builds for Loongarch64
This commit is contained in:
commit
ab5882ebf0
|
@ -2,6 +2,7 @@
|
||||||
## Author: Hank Anderson <hank@statease.com>
|
## Author: Hank Anderson <hank@statease.com>
|
||||||
## Description: Ported from portion of OpenBLAS/Makefile.system
|
## Description: Ported from portion of OpenBLAS/Makefile.system
|
||||||
## Sets C related variables.
|
## Sets C related variables.
|
||||||
|
include(CheckCCompilerFlag)
|
||||||
|
|
||||||
if (${CMAKE_C_COMPILER_ID} STREQUAL "GNU" OR ${CMAKE_C_COMPILER_ID} STREQUAL "LSB" OR ${CMAKE_C_COMPILER_ID} MATCHES "Clang")
|
if (${CMAKE_C_COMPILER_ID} STREQUAL "GNU" OR ${CMAKE_C_COMPILER_ID} STREQUAL "LSB" OR ${CMAKE_C_COMPILER_ID} MATCHES "Clang")
|
||||||
|
|
||||||
|
@ -36,14 +37,14 @@ if (${CMAKE_C_COMPILER_ID} STREQUAL "GNU" OR ${CMAKE_C_COMPILER_ID} STREQUAL "LS
|
||||||
|
|
||||||
if (LOONGARCH64)
|
if (LOONGARCH64)
|
||||||
if (BINARY64)
|
if (BINARY64)
|
||||||
CHECK_CXX_COMPILER_FLAG("-mabi=lp64d" COMPILER_SUPPORT_LP64D_ABI)
|
CHECK_C_COMPILER_FLAG("-mabi=lp64d" COMPILER_SUPPORT_LP64D_ABI)
|
||||||
if(COMPILER_SUPPORT_LP64D_ABI)
|
if(COMPILER_SUPPORT_LP64D_ABI)
|
||||||
set(CCOMMON_OPT "${CCOMMON_OPT} -mabi=lp64d")
|
set(CCOMMON_OPT "${CCOMMON_OPT} -mabi=lp64d")
|
||||||
else()
|
else()
|
||||||
set(CCOMMON_OPT "${CCOMMON_OPT} -mabi=lp64")
|
set(CCOMMON_OPT "${CCOMMON_OPT} -mabi=lp64")
|
||||||
endif ()
|
endif ()
|
||||||
else ()
|
else ()
|
||||||
CHECK_CXX_COMPILER_FLAG("-mabi=ilp32d" COMPILER_SUPPORT_ILP32D_ABI)
|
CHECK_C_COMPILER_FLAG("-mabi=ilp32d" COMPILER_SUPPORT_ILP32D_ABI)
|
||||||
if(COMPILER_SUPPORT_ILP32D_ABI)
|
if(COMPILER_SUPPORT_ILP32D_ABI)
|
||||||
set(CCOMMON_OPT "${CCOMMON_OPT} -mabi=ilp32d")
|
set(CCOMMON_OPT "${CCOMMON_OPT} -mabi=ilp32d")
|
||||||
else()
|
else()
|
||||||
|
|
|
@ -61,14 +61,14 @@ if (${F_COMPILER} STREQUAL "GFORTRAN" OR ${F_COMPILER} STREQUAL "F95" OR CMAKE_F
|
||||||
endif ()
|
endif ()
|
||||||
if (LOONGARCH64)
|
if (LOONGARCH64)
|
||||||
if (BINARY64)
|
if (BINARY64)
|
||||||
CHECK_CXX_COMPILER_FLAG("-mabi=lp64d" COMPILER_SUPPORT_LP64D_ABI)
|
CHECK_C_COMPILER_FLAG("-mabi=lp64d" COMPILER_SUPPORT_LP64D_ABI)
|
||||||
if(COMPILER_SUPPORT_LP64D_ABI)
|
if(COMPILER_SUPPORT_LP64D_ABI)
|
||||||
set(FCOMMON_OPT "${FCOMMON_OPT} -mabi=lp64d")
|
set(FCOMMON_OPT "${FCOMMON_OPT} -mabi=lp64d")
|
||||||
else()
|
else()
|
||||||
set(FCOMMON_OPT "${FCOMMON_OPT} -mabi=lp64")
|
set(FCOMMON_OPT "${FCOMMON_OPT} -mabi=lp64")
|
||||||
endif ()
|
endif ()
|
||||||
else ()
|
else ()
|
||||||
CHECK_CXX_COMPILER_FLAG("-mabi=ilp32d" COMPILER_SUPPORT_ILP32D_ABI)
|
CHECK_C_COMPILER_FLAG("-mabi=ilp32d" COMPILER_SUPPORT_ILP32D_ABI)
|
||||||
if(COMPILER_SUPPORT_ILP32D_ABI)
|
if(COMPILER_SUPPORT_ILP32D_ABI)
|
||||||
set(FCOMMON_OPT "${FCOMMON_OPT} -mabi=ilp32d")
|
set(FCOMMON_OPT "${FCOMMON_OPT} -mabi=ilp32d")
|
||||||
else()
|
else()
|
||||||
|
|
|
@ -165,7 +165,7 @@ PROLOGUE
|
||||||
/* store dot in s1 $f8 */
|
/* store dot in s1 $f8 */
|
||||||
#ifdef DSDOT
|
#ifdef DSDOT
|
||||||
xvfadd.d $xr8, $xr8, $xr9
|
xvfadd.d $xr8, $xr8, $xr9
|
||||||
fsub.s s2, s2, s2, /* set s2 to 0.0 */
|
fsub.s s2, s2, s2 /* set s2 to 0.0 */
|
||||||
xvpermi.q $xr0, $xr8, 0x1
|
xvpermi.q $xr0, $xr8, 0x1
|
||||||
vfadd.d $vr8, $vr8, $vr0
|
vfadd.d $vr8, $vr8, $vr0
|
||||||
vpackod.d $vr0, $vr8, $vr8
|
vpackod.d $vr0, $vr8, $vr8
|
||||||
|
|
Loading…
Reference in New Issue