On Fri, Nov 8, 2024 at 1:58 AM Robin Dapp <rdapp....@gmail.com> wrote:
>
> From: Robin Dapp <rd...@ventanamicro.com>
>
> gcc/ChangeLog:
>
>         * config/i386/sse.md (maskload<mode><sseintvecmodelower>):
>         Call maskload<mode>..._1.
>         (maskload<mode><sseintvecmodelower>_1): Rename.
Ok for x86 part.
> ---
>  gcc/config/i386/sse.md | 21 ++++++++++++++++++---
>  1 file changed, 18 insertions(+), 3 deletions(-)
>
> diff --git a/gcc/config/i386/sse.md b/gcc/config/i386/sse.md
> index 22c6c817dd7..1523e2c4d75 100644
> --- a/gcc/config/i386/sse.md
> +++ b/gcc/config/i386/sse.md
> @@ -28641,7 +28641,7 @@ (define_insn 
> "<avx_avx2>_maskstore<ssemodesuffix><avxsizesuffix>"
>     (set_attr "btver2_decode" "vector")
>     (set_attr "mode" "<sseinsnmode>")])
>
> -(define_expand "maskload<mode><sseintvecmodelower>"
> +(define_expand "maskload<mode><sseintvecmodelower>_1"
>    [(set (match_operand:V48_128_256 0 "register_operand")
>         (unspec:V48_128_256
>           [(match_operand:<sseintvecmode> 2 "register_operand")
> @@ -28649,13 +28649,28 @@ (define_expand "maskload<mode><sseintvecmodelower>"
>           UNSPEC_MASKMOV))]
>    "TARGET_AVX")
>
> +(define_expand "maskload<mode><sseintvecmodelower>"
> +  [(set (match_operand:V48_128_256 0 "register_operand")
> +       (unspec:V48_128_256
> +         [(match_operand:<sseintvecmode> 2 "register_operand")
> +          (match_operand:V48_128_256 1 "memory_operand")
> +          (match_operand:V48_128_256 3 "const0_operand")]
> +         UNSPEC_MASKMOV))]
> +  "TARGET_AVX"
> +{
> +  emit_insn (gen_maskload<mode><sseintvecmodelower>_1 (operands[0],
> +                                                      operands[1],
> +                                                      operands[2]));
> +  DONE;
> +})
> +
>  (define_expand "maskload<mode><avx512fmaskmodelower>"
>    [(set (match_operand:V48_AVX512VL 0 "register_operand")
>         (vec_merge:V48_AVX512VL
>           (unspec:V48_AVX512VL
>             [(match_operand:V48_AVX512VL 1 "memory_operand")]
>             UNSPEC_MASKLOAD)
> -         (match_dup 0)
> +          (match_operand:V48_AVX512VL 3 "const0_operand")
>           (match_operand:<avx512fmaskmode> 2 "register_operand")))]
>    "TARGET_AVX512F")
>
> @@ -28665,7 +28680,7 @@ (define_expand "maskload<mode><avx512fmaskmodelower>"
>           (unspec:VI12HFBF_AVX512VL
>             [(match_operand:VI12HFBF_AVX512VL 1 "memory_operand")]
>             UNSPEC_MASKLOAD)
> -         (match_dup 0)
> +          (match_operand:VI12HFBF_AVX512VL 3 "const0_operand")
>           (match_operand:<avx512fmaskmode> 2 "register_operand")))]
>    "TARGET_AVX512BW")
>
> --
> 2.47.0
>


-- 
BR,
Hongtao

Reply via email to