+2023-04-21 Andrew Stubbs <ams@codesourcery.com>
+
+ Backport from mainline:
+ Andrew Stubbs <ams@codesourcery.com>
+
+ * lib/target-supports.exp
+ (check_effective_target_vect_call_copysignf): Add amdgcn.
+ (check_effective_target_vect_call_sqrtf): Add amdgcn.
+ (check_effective_target_vect_call_ceilf): Add amdgcn.
+ (check_effective_target_vect_call_floor): Add amdgcn.
+ (check_effective_target_vect_logical_reduc): Add amdgcn.
+
2023-04-20 Andrew Stubbs <ams@codesourcery.com>
Backport from mainline:
return [check_cached_effective_target_indexed vect_call_copysignf {
expr { [istarget i?86-*-*] || [istarget x86_64-*-*]
|| [istarget powerpc*-*-*]
- || [istarget aarch64*-*-*] }}]
+ || [istarget aarch64*-*-*]
+ || [istarget amdgcn-*-*] }}]
}
# Return 1 if the target supports hardware square root instructions.
|| [istarget i?86-*-*] || [istarget x86_64-*-*]
|| ([istarget powerpc*-*-*] && [check_vsx_hw_available])
|| ([istarget s390*-*-*]
- && [check_effective_target_s390_vx]) }}]
+ && [check_effective_target_s390_vx])
+ || [istarget amdgcn-*-*] }}]
}
# Return 1 if the target supports vector lrint calls.
proc check_effective_target_vect_call_ceilf { } {
return [check_cached_effective_target_indexed vect_call_ceilf {
- expr { [istarget aarch64*-*-*] }}]
+ expr { [istarget aarch64*-*-*]
+ || [istarget amdgcn-*-*] }}]
}
# Return 1 if the target supports vector floor calls.
proc check_effective_target_vect_call_floor { } {
return [check_cached_effective_target_indexed vect_call_floor {
- expr { [istarget aarch64*-*-*] }}]
+ expr { [istarget aarch64*-*-*]
+ || [istarget amdgcn-*-*] }}]
}
# Return 1 if the target supports vector floorf calls.
# Return 1 if the target supports AND, OR and XOR reduction.
proc check_effective_target_vect_logical_reduc { } {
- return [check_effective_target_aarch64_sve]
+ return [expr { [check_effective_target_aarch64_sve]
+ || [istarget amdgcn-*-*] }]
}
# Return 1 if the target supports the fold_extract_last optab.