[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [RISU v3 11/11] risu_reginfo_i386: rework --xfeatures value
From: |
Jan Bobek |
Subject: |
[Qemu-devel] [RISU v3 11/11] risu_reginfo_i386: rework --xfeatures value parsing |
Date: |
Thu, 23 May 2019 16:44:09 -0400 |
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>
---
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)
--
2.20.1
- [Qemu-devel] [RISU v3 03/11] risu_i386: move reginfo-related code to risu_reginfo_i386.c, (continued)
- [Qemu-devel] [RISU v3 03/11] risu_i386: move reginfo-related code to risu_reginfo_i386.c, Jan Bobek, 2019/05/23
- [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 <=
- [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