Skip to content
GitLab
    • GitLab: the DevOps platform
    • Explore GitLab
    • Install GitLab
    • How GitLab compares
    • Get started
    • GitLab docs
    • GitLab Learn
  • Pricing
  • Talk to an expert
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
    • Switch to GitLab Next
    Projects Groups Snippets
  • Sign up now
  • Login
  • Sign in / Register
  • QEMU QEMU
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Locked Files
  • Issues 733
    • Issues 733
    • List
    • Boards
    • Service Desk
    • Milestones
    • Iterations
    • Requirements
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
    • Test Cases
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Package Registry
    • Container Registry
    • Infrastructure Registry
  • Monitor
    • Monitor
    • Metrics
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Insights
    • Issue
    • Repository
  • External wiki
    • External wiki
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • QEMUQEMU
  • QEMUQEMU
  • Issues
  • #164
Closed
Open
Issue created May 05, 2021 by Qemu Janitor@qemu-janitorReporter

qemu x86 TCG doesn't support AVX insns

This bug has been copied automatically from: https://bugs.launchpad.net/qemu/+bug/1818075
Reported by 'Ross Burton' on 2019-02-28 :

I'm trying to execute code that has been built with -march=skylake
-mtune=generic -mavx2 under qemu-user x86-64 with -cpu Skylake-Client.
However this code just hangs at 100% CPU.

Adding input tracing shows that it is likely hanging when dealing with an
AVX instruction:

warning: TCG doesn't support requested feature: CPUID.01H:ECX.fma [bit 12]
warning: TCG doesn't support requested feature: CPUID.01H:ECX.pcid [bit
17]
warning: TCG doesn't support requested feature: CPUID.01H:ECX.x2apic [bit
21]
warning: TCG doesn't support requested feature: CPUID.01H:ECX.tsc-deadline
[bit 24]
warning: TCG doesn't support requested feature: CPUID.01H:ECX.avx [bit 28]
warning: TCG doesn't support requested feature: CPUID.01H:ECX.f16c [bit
29]
warning: TCG doesn't support requested feature: CPUID.01H:ECX.rdrand [bit
30]
warning: TCG doesn't support requested feature: CPUID.07H:EBX.hle [bit 4]
warning: TCG doesn't support requested feature: CPUID.07H:EBX.avx2 [bit 5]
warning: TCG doesn't support requested feature: CPUID.07H:EBX.invpcid [bit
10]
warning: TCG doesn't support requested feature: CPUID.07H:EBX.rtm [bit 11]
warning: TCG doesn't support requested feature: CPUID.07H:EBX.rdseed [bit
18]
warning: TCG doesn't support requested feature:
CPUID.80000001H:ECX.3dnowprefetch [bit 8]
warning: TCG doesn't support requested feature: CPUID.0DH:EAX.xsavec [bit
1]

IN:
0x4000b4ef3b:  c5 fb 5c ca              vsubsd   %xmm2, %xmm0, %xmm1
0x4000b4ef3f:  c4 e1 fb 2c d1           vcvttsd2si %xmm1, %rdx
0x4000b4ef44:  4c 31 e2                 xorq     %r12, %rdx
0x4000b4ef47:  48 85 d2                 testq    %rdx, %rdx
0x4000b4ef4a:  79 9e                    jns      0x4000b4eeea

[ hangs ]

Attaching a gdb produces this stacktrace:

(gdb) bt
#0  canonicalize (status=0x55a20ff67a88, parm=0x55a20bb807e0
<float64_params>, part=...)
    at /data/poky-tmp/master/work/x86_64-linux/qemu-
native/3.1.0-r0/qemu-3.1.0/fpu/softfloat.c:350
#1  float64_unpack_canonical (s=0x55a20ff67a88, f=0)
    at /data/poky-tmp/master/work/x86_64-linux/qemu-
native/3.1.0-r0/qemu-3.1.0/fpu/softfloat.c:547
#2  float64_sub (a=0, b=4890909195324358656, status=0x55a20ff67a88)
    at /data/poky-tmp/master/work/x86_64-linux/qemu-
native/3.1.0-r0/qemu-3.1.0/fpu/softfloat.c:776
#3  0x000055a20baa1949 in helper_subsd (env=<optimized out>,
d=0x55a20ff67ad8, s=<optimized out>)
    at /data/poky-tmp/master/work/x86_64-linux/qemu-
native/3.1.0-r0/qemu-3.1.0/target/i386/ops_sse.h:623
#4  0x000055a20cfcfea8 in static_code_gen_buffer ()
#5  0x000055a20ba3f764 in cpu_tb_exec (itb=<optimized out>,
cpu=0x55a20cea2180 <static_code_gen_buffer+15684720>)
    at /data/poky-tmp/master/work/x86_64-linux/qemu-
native/3.1.0-r0/qemu-3.1.0/accel/tcg/cpu-exec.c:171
#6  cpu_loop_exec_tb (tb_exit=<synthetic pointer>, last_tb=<synthetic
pointer>, tb=<optimized out>,
    cpu=0x55a20cea2180 <static_code_gen_buffer+15684720>)
    at /data/poky-tmp/master/work/x86_64-linux/qemu-
native/3.1.0-r0/qemu-3.1.0/accel/tcg/cpu-exec.c:615
#7  cpu_exec (cpu=cpu@entry=0x55a20ff5f4d0)
    at /data/poky-tmp/master/work/x86_64-linux/qemu-
native/3.1.0-r0/qemu-3.1.0/accel/tcg/cpu-exec.c:725
#8  0x000055a20ba6d728 in cpu_loop (env=0x55a20ff67780)
    at /data/poky-tmp/master/work/x86_64-linux/qemu-
native/3.1.0-r0/qemu-3.1.0/linux-user/x86_64/../i386/cpu_loop.c:93
#9  0x000055a20ba049ff in main (argc=<optimized out>, argv=0x7ffc58572868,
envp=<optimized out>)
    at /data/poky-tmp/master/work/x86_64-linux/qemu-
native/3.1.0-r0/qemu-3.1.0/linux-user/main.c:819
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Assignee
Assign to
Time tracking