[gcc r14-4586] LoongArch: Modify check_effective_target_vect_int_mod according to SX/ASX capabilities.

LuluCheng chenglulu@gcc.gnu.org
Thu Oct 12 07:28:08 GMT 2023


https://gcc.gnu.org/g:3948844679a306613b66574b28dbf0c8d40ccbfd

commit r14-4586-g3948844679a306613b66574b28dbf0c8d40ccbfd
Author: Chenghui Pan <panchenghui@loongson.cn>
Date:   Tue Sep 26 14:42:57 2023 +0800

    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.

Diff:
---
 gcc/testsuite/lib/target-supports.exp | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp
index 4451386d780..f0b692a2e19 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>


More information about the Gcc-cvs mailing list