aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorChenghui Pan <panchenghui@loongson.cn>2023-09-26 14:42:57 +0800
committerLulu Cheng <chenglulu@loongson.cn>2023-10-12 15:27:29 +0800
commit3948844679a306613b66574b28dbf0c8d40ccbfd (patch)
tree60e49e1ab8d24c2a9ed3c3cec62b5d064c8c531d /gcc
parenta2a51b6982c895ff3e37bda622303e92b3ac1d16 (diff)
downloadgcc-3948844679a306613b66574b28dbf0c8d40ccbfd.zip
gcc-3948844679a306613b66574b28dbf0c8d40ccbfd.tar.gz
gcc-3948844679a306613b66574b28dbf0c8d40ccbfd.tar.bz2
LoongArch: Modify check_effective_target_vect_int_mod according to SX/ASX capabilities.
gcc/testsuite/ChangeLog: * lib/target-supports.exp: Add LoongArch in check_effective_target_vect_int_mod according to SX/ASX capabilities.
Diffstat (limited to 'gcc')
-rw-r--r--gcc/testsuite/lib/target-supports.exp18
1 files changed, 18 insertions, 0 deletions
diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp
index 4451386..f0b692a 100644
--- a/gcc/testsuite/lib/target-supports.exp
+++ b/gcc/testsuite/lib/target-supports.exp
@@ -8816,6 +8816,8 @@ proc check_effective_target_vect_int_mod { } {
expr { ([istarget powerpc*-*-*]
&& [check_effective_target_has_arch_pwr10])
|| [istarget amdgcn-*-*]
+ || ([istarget loongarch*-*-*]
+ && [check_effective_target_loongarch_sx])
|| ([istarget riscv*-*-*]
&& [check_effective_target_riscv_v]) }}]
}
@@ -12948,6 +12950,14 @@ proc check_effective_target_cv_alu { } {
} "-march=rv32i_xcvalu" ]
}
+proc check_effective_target_loongarch_sx { } {
+ return [check_no_compiler_messages loongarch_lsx assembly {
+ #if !defined(__loongarch_sx)
+ #error "LSX not defined"
+ #endif
+ }]
+}
+
proc check_effective_target_loongarch_sx_hw { } {
return [check_runtime loongarch_sx_hw {
#include <lsxintrin.h>
@@ -12960,6 +12970,14 @@ proc check_effective_target_loongarch_sx_hw { } {
} "-mlsx"]
}
+proc check_effective_target_loongarch_asx { } {
+ return [check_no_compiler_messages loongarch_asx assembly {
+ #if !defined(__loongarch_asx)
+ #error "LASX not defined"
+ #endif
+ }]
+}
+
proc check_effective_target_loongarch_asx_hw { } {
return [check_runtime loongarch_asx_hw {
#include <lasxintrin.h>