Alejandro Martinez Vicente <[email protected]> writes:
> Hi,
>
> This patch implements the [u]avgM3_floor and [u]avgM3_ceil optabs for SVE2.
>
> Alejandro
>
> gcc/ChangeLog:
>
> 2019-05-28 Alejandro Martinez <[email protected]>
>
> * config/aarch64/aarch64-sve2.md: New file.
> (<u>avg<mode>3_floor): New pattern.
> (<u>avg<mode>3_ceil): Likewise.
> (*<sur>h<addsub><mode>): Likewise.
> * config/aarch64/aarch64.md: Include aarch64-sve2.md.
>
>
> 2019-05-28 Alejandro Martinez <[email protected]>
>
> gcc/testsuite/
> * gcc.target/aarch64/sve2/average_1.c: New test.
> * lib/target-supports.exp (check_effective_target_aarch64_sve1_only):
> New helper.
> (check_effective_target_vect_avg_qi): Check for SVE1 only.
OK, thanks, but...
> diff --git gcc/testsuite/lib/target-supports.exp
> gcc/testsuite/lib/target-supports.exp
> index f69106d..41431e6 100644
> --- gcc/testsuite/lib/target-supports.exp
> +++ gcc/testsuite/lib/target-supports.exp
> @@ -3308,6 +3308,12 @@ proc check_effective_target_aarch64_sve2 { } {
> }]
> }
>
> +# Return 1 if this is an AArch64 target only supporting SVE (not SVE2).
> +proc check_effective_target_aarch64_sve1_only { } {
> + return [expr { [check_effective_target_aarch64_sve]
> + && ![check_effective_target_aarch64_sve2] }]
> +}
...it needs check_effective_target_aarch64_sve2 to go in first.
Richard