> They were using ssecvt instead of sseicvt, I've also added handling
> for sseicvt2 which was introduced without fixing up automata, and
> the relevant instruction uses DFmode.  IMO this is a quite messy
> area that could need TLC in the machine description itself.
> 
> Bootstrapped and tested on x86_64-unknown-linux-gnu, OK?
> 
>       PR target/119010
>       * config/i386/zn4zn5.md (znver4_sse_icvt): Use sseicvt.
>       (znver4_sse_icvt_store): Likewise.
>       (znver5_sse_icvt_store): Likewise.
>       (znver4_sse_icvt2): New.
OK
Thanks,
Honza
> ---
>  gcc/config/i386/zn4zn5.md | 13 ++++++++++---
>  1 file changed, 10 insertions(+), 3 deletions(-)
> 
> diff --git a/gcc/config/i386/zn4zn5.md b/gcc/config/i386/zn4zn5.md
> index e89d0f49ec8..6720fda1705 100644
> --- a/gcc/config/i386/zn4zn5.md
> +++ b/gcc/config/i386/zn4zn5.md
> @@ -1263,21 +1263,28 @@
>  
>  (define_insn_reservation "znver4_sse_icvt" 3
>                        (and (eq_attr "cpu" "znver4,znver5")
> -                           (and (eq_attr "type" "ssecvt")
> +                           (and (eq_attr "type" "sseicvt")
>                                  (and (eq_attr "mode" "SI")
>                                   (eq_attr "memory" "none"))))
>                        "znver4-direct,znver4-fpu2|znver4-fpu3")
>  
> +(define_insn_reservation "znver4_sse_icvt2" 3
> +                      (and (eq_attr "cpu" "znver4,znver5")
> +                           (and (eq_attr "type" "sseicvt2")
> +                                (and (eq_attr "mode" "DF")
> +                                 (eq_attr "memory" "none"))))
> +                      "znver4-direct,znver4-fpu2|znver4-fpu3")
> +
>  (define_insn_reservation "znver4_sse_icvt_store" 4
>                        (and (eq_attr "cpu" "znver4")
> -                           (and (eq_attr "type" "ssecvt")
> +                           (and (eq_attr "type" "sseicvt")
>                                  (and (eq_attr "mode" "SI")
>                                   (eq_attr "memory" "store"))))
>                        
> "znver4-double,znver4-fpu2|znver4-fpu3,znver4-fp-store")
>  
>  (define_insn_reservation "znver5_sse_icvt_store" 4
>                        (and (eq_attr "cpu" "znver5")
> -                           (and (eq_attr "type" "ssecvt")
> +                           (and (eq_attr "type" "sseicvt")
>                                  (and (eq_attr "mode" "SI")
>                                   (eq_attr "memory" "store"))))
>                        
> "znver4-double,znver4-fpu2|znver4-fpu3,znver5-fp-store256")
> -- 
> 2.43.0
> 

Reply via email to