arm: 0.896 device: 0.666 semantic: 0.513 graphic: 0.512 performance: 0.508 architecture: 0.501 network: 0.445 ppc: 0.413 x86: 0.413 i386: 0.410 PID: 0.398 files: 0.393 socket: 0.363 kernel: 0.353 TCG: 0.334 register: 0.289 mistranslation: 0.275 vnc: 0.267 user-level: 0.264 peripherals: 0.261 hypervisor: 0.255 debug: 0.242 risc-v: 0.235 boot: 0.233 VMM: 0.231 assembly: 0.224 KVM: 0.214 permissions: 0.196 virtual: 0.193 qemu/target/arm/translate-a64.c:2039: bad test ? qemu/target/arm/translate-a64.c:2039]: (warning) Logical disjunction always evaluates to true: op3 != 2 || op3 != 3. Source code is if (op3 != 2 || op3 != 3) { Maybe better code if (op3 != 2 && op3 != 3) { Maybe using gcc flag -Wlogical-op might help find bugs like this in future. There is a patch on list for this: https://lists.gnu.org/archive/html/qemu-devel/2019-01/msg06728.html Using the flag is a good idea. The patch is now in master.