@@ -7876,7 +7876,9 @@ proc check_effective_target_vect_sdot_qi { } {
|| [istarget aarch64*-*-*]
|| [istarget arm*-*-*]
|| ([istarget mips*-*-*]
- && [et-is-effective-target mips_msa]) }}]
+ && [et-is-effective-target mips_msa])
+ || ([istarget riscv*-*-*]
+ && [check_effective_target_riscv_v]) }}]
}
# Return 1 if the target plus current options supports a vector
@@ -7891,7 +7893,9 @@ proc check_effective_target_vect_udot_qi { } {
|| [istarget arm*-*-*]
|| [istarget ia64-*-*]
|| ([istarget mips*-*-*]
- && [et-is-effective-target mips_msa]) }}]
+ && [et-is-effective-target mips_msa])
+ || ([istarget riscv*-*-*]
+ && [check_effective_target_riscv_v]) }}]
}
# Return 1 if the target plus current options supports a vector
@@ -7918,7 +7922,9 @@ proc check_effective_target_vect_sdot_hi { } {
|| [istarget ia64-*-*]
|| [istarget i?86-*-*] || [istarget x86_64-*-*]
|| ([istarget mips*-*-*]
- && [et-is-effective-target mips_msa]) }}]
+ && [et-is-effective-target mips_msa])
+ || ([istarget riscv*-*-*]
+ && [check_effective_target_riscv_v]) }}]
}
# Return 1 if the target plus current options supports a vector
@@ -7930,7 +7936,9 @@ proc check_effective_target_vect_udot_hi { } {
return [check_cached_effective_target_indexed vect_udot_hi {
expr { ([istarget powerpc*-*-*] && ![istarget powerpc-*-linux*paired*])
|| ([istarget mips*-*-*]
- && [et-is-effective-target mips_msa]) }}]
+ && [et-is-effective-target mips_msa])
+ || ([istarget riscv*-*-*]
+ && [check_effective_target_riscv_v]) }}]
}
# Return 1 if the target plus current options supports a vector
@@ -7945,7 +7953,9 @@ proc check_effective_target_vect_usad_char { } {
|| ([istarget aarch64*-*-*]
&& ![check_effective_target_aarch64_sve])
|| ([istarget powerpc*-*-*]
- && [check_p9vector_hw_available])}}]
+ && [check_p9vector_hw_available])
+ || ([istarget riscv*-*-*]
+ && [check_effective_target_riscv_v]) }}]
}
# Return 1 if the target plus current options supports both signed
@@ -7971,8 +7981,10 @@ proc check_effective_target_vect_mulhrs_hi {} {
# by power-of-2 operations on vectors of 4-byte integers.
proc check_effective_target_vect_sdiv_pow2_si {} {
- return [expr { [istarget aarch64*-*-*]
- && [check_effective_target_aarch64_sve] }]
+ return [expr { ([istarget aarch64*-*-*]
+ && [check_effective_target_aarch64_sve])
+ || ([istarget riscv*-*-*]
+ && [check_effective_target_riscv_v]) }]
}
# Return 1 if the target plus current options supports a vector
@@ -7992,7 +8004,9 @@ proc check_effective_target_vect_pack_trunc { } {
&& [et-is-effective-target mips_msa])
|| ([istarget s390*-*-*]
&& [check_effective_target_s390_vx])
- || [istarget amdgcn*-*-*] }}]
+ || [istarget amdgcn*-*-*]
+ || ([istarget riscv*-*-*]
+ && [check_effective_target_riscv_v]) }}]
}
# Return 1 if the target plus current options supports a vector
@@ -8012,7 +8026,9 @@ proc check_effective_target_vect_unpack { } {
&& [check_effective_target_arm_little_endian])
|| ([istarget s390*-*-*]
&& [check_effective_target_s390_vx])
- || [istarget amdgcn*-*-*] }}]
+ || [istarget amdgcn*-*-*]
+ || ([istarget riscv*-*-*]
+ && [check_effective_target_riscv_v]) }}]
}
# Return 1 if the target plus current options does not guarantee
@@ -8662,7 +8678,8 @@ proc check_effective_target_vect_masked_store { } {
# Return 1 if the target supports vector gather loads via internal functions.
proc check_effective_target_vect_gather_load_ifn { } {
- return [expr { [check_effective_target_aarch64_sve] }]
+ return [expr { [check_effective_target_aarch64_sve]
+ || [check_effective_target_riscv_v] }]
}
# Return 1 if the target supports vector scatter stores.
@@ -8816,7 +8833,9 @@ proc check_effective_target_vect_extract_even_odd { } {
&& ([et-is-effective-target mips_msa]
|| [et-is-effective-target mpaired_single]))
|| ([istarget s390*-*-*]
- && [check_effective_target_s390_vx]) }}]
+ && [check_effective_target_s390_vx])
+ || ([istarget riscv*-*-*]
+ && [check_effective_target_riscv_v]) }}]
}
# Return 1 if the target supports vector interleaving, 0 otherwise.
@@ -8832,7 +8851,9 @@ proc check_effective_target_vect_interleave { } {
&& ([et-is-effective-target mpaired_single]
|| [et-is-effective-target mips_msa]))
|| ([istarget s390*-*-*]
- && [check_effective_target_s390_vx]) }}]
+ && [check_effective_target_s390_vx])
+ || ([istarget riscv*-*-*]
+ && [check_effective_target_riscv_v]) }}]
}
foreach N {2 3 4 5 6 7 8} {