qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [RISU v3 11/11] risu_reginfo_i386: rework --xfeatures v


From: Alex Bennée
Subject: Re: [Qemu-devel] [RISU v3 11/11] risu_reginfo_i386: rework --xfeatures value parsing
Date: Fri, 24 May 2019 10:32:22 +0100
User-agent: mu4e 1.3.2; emacs 26.1

Jan Bobek <address@hidden> writes:

> Have the --xfeatures option accept "sse", "avx" and "avx512" in
> addition to a plain numerical value, purely for users' convenience.
> Don't fail silently when an incorrect value is specified, to avoid
> confusion.
>
> Suggested-by: Richard Henderson <address@hidden>
> Signed-off-by: Jan Bobek <address@hidden>

Reviewed-by: Alex Bennée <address@hidden>
Tested-by: Alex Bennée <address@hidden>


> ---
>  risu_reginfo_i386.c | 19 ++++++++++++++++++-
>  1 file changed, 18 insertions(+), 1 deletion(-)
>
> diff --git a/risu_reginfo_i386.c b/risu_reginfo_i386.c
> index 01ea179..194e0ad 100644
> --- a/risu_reginfo_i386.c
> +++ b/risu_reginfo_i386.c
> @@ -53,8 +53,25 @@ const char * const arch_extra_help
>
>  void process_arch_opt(int opt, const char *arg)
>  {
> +    char *endptr;
> +
>      assert(opt == FIRST_ARCH_OPT);
> -    xfeatures = strtoull(arg, 0, 0);
> +
> +    if (!strcmp(arg, "sse")) {
> +        xfeatures = XFEAT_X87 | XFEAT_SSE;
> +    } else if (!strcmp(arg, "avx")) {
> +        xfeatures = XFEAT_X87 | XFEAT_SSE | XFEAT_AVX;
> +    } else if (!strcmp(arg, "avx512")) {
> +        xfeatures = XFEAT_X87 | XFEAT_SSE | XFEAT_AVX | XFEAT_AVX512;
> +    } else {
> +        xfeatures = strtoull(arg, &endptr, 0);
> +        if (*endptr) {
> +            fprintf(stderr,
> +                    "Unable to parse '%s' in '%s' into an xfeatures integer 
> mask\n",
> +                    endptr, arg);
> +            exit(1);
> +        }
> +    }
>  }
>
>  const int reginfo_size(void)


--
Alex Bennée



reply via email to

[Prev in Thread] Current Thread [Next in Thread]