On Fri, Feb 1, 2019 at 10:18 PM H.J. Lu <hjl.to...@gmail.com> wrote:
>
> In 64-bit mode, we can use SSE2 to support 64-bit vectors.
>
>         PR target/89021
>         * config/i386/i386.h (VALID_SSE_REG_MODE): Allow 64-bit vector
>         modes for TARGET_MMX_WITH_SSE.
>         (VALID_SSE2_REG_MODE): Likewise.
> ---
>  gcc/config/i386/i386.h | 12 ++++++++++--
>  1 file changed, 10 insertions(+), 2 deletions(-)
>
> diff --git a/gcc/config/i386/i386.h b/gcc/config/i386/i386.h
> index b62305fceec..10e882015f0 100644
> --- a/gcc/config/i386/i386.h
> +++ b/gcc/config/i386/i386.h
> @@ -1155,7 +1155,11 @@ extern const char *host_detect_local_cpu (int argc, 
> const char **argv);
>
>  #define VALID_SSE2_REG_MODE(MODE)                                      \
>    ((MODE) == V16QImode || (MODE) == V8HImode || (MODE) == V2DFmode     \
> -   || (MODE) == V2DImode || (MODE) == DFmode)
> +   || (MODE) == V2DImode || (MODE) == DFmode                           \
> +   || (TARGET_MMX_WITH_SSE && ((MODE) == V1DImode || (MODE) == V8QImode      
>   \
> +                              || (MODE) == V4HImode                    \
> +                              || (MODE) == V2SImode                    \
> +                              || (MODE) == V2SFmode)))

This needs to be equivalent to VALID_MMX_REG_MODE.

Uros.

>  #define VALID_SSE_REG_MODE(MODE)                                       \
>    ((MODE) == V1TImode || (MODE) == TImode                              \
> @@ -1198,7 +1202,11 @@ extern const char *host_detect_local_cpu (int argc, 
> const char **argv);
>     || (MODE) == V4DImode || (MODE) == V8SFmode || (MODE) == V4DFmode   \
>     || (MODE) == V2TImode || (MODE) == V8DImode || (MODE) == V64QImode  \
>     || (MODE) == V16SImode || (MODE) == V32HImode || (MODE) == V8DFmode \
> -   || (MODE) == V16SFmode)
> +   || (MODE) == V16SFmode                                              \
> +   || (TARGET_MMX_WITH_SSE && ((MODE) == V1DImode || (MODE) == V8QImode      
>   \
> +                              || (MODE) == V4HImode                    \
> +                              || (MODE) == V2SImode                    \
> +                              || (MODE) == V2SFmode)))
>
>  #define X87_FLOAT_MODE_P(MODE) \
>    (TARGET_80387 && ((MODE) == SFmode || (MODE) == DFmode || (MODE) == 
> XFmode))
> --
> 2.20.1
>

Reply via email to