[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
- [Qemu-devel] [RISU v3 04/11] risu_reginfo_i386: implement arch-specific reginfo interface, (continued)
- [Qemu-devel] [RISU v3 04/11] risu_reginfo_i386: implement arch-specific reginfo interface, Jan Bobek, 2019/05/23
- [Qemu-devel] [RISU v3 06/11] risu_i386: remove old unused code, Jan Bobek, 2019/05/23
- [Qemu-devel] [RISU v3 05/11] risu_i386: implement missing CPU-specific functions, Jan Bobek, 2019/05/23
- [Qemu-devel] [RISU v3 08/11] configure: add i386/x86_64 architectures, Jan Bobek, 2019/05/23
- [Qemu-devel] [RISU v3 10/11] risu_reginfo_i386: replace xfeature constants with symbolic names, Jan Bobek, 2019/05/23
- [Qemu-devel] [RISU v3 07/11] test_i386: change syntax from nasm to gas, Jan Bobek, 2019/05/23
- [Qemu-devel] [RISU v3 09/11] i386: Add avx512 state to reginfo_t, Jan Bobek, 2019/05/23
- [Qemu-devel] [RISU v3 11/11] risu_reginfo_i386: rework --xfeatures value parsing, Jan Bobek, 2019/05/23
- Re: [Qemu-devel] [RISU v3 11/11] risu_reginfo_i386: rework --xfeatures value parsing,
Alex Bennée <=
- [Qemu-devel] [RISU PATCH] build-all-arches: include x86 triplets in the build, Alex Bennée, 2019/05/24
- Re: [Qemu-devel] [RISU v3 00/11] Support for i386/x86_64 with vector extensions, Alex Bennée, 2019/05/24