x86: 0.998 semantic: 0.986 architecture: 0.935 i386: 0.888 graphic: 0.878 assembly: 0.842 device: 0.806 socket: 0.681 ppc: 0.679 vnc: 0.658 kernel: 0.638 network: 0.606 permissions: 0.580 boot: 0.546 arm: 0.541 performance: 0.523 mistranslation: 0.502 debug: 0.478 risc-v: 0.458 files: 0.411 TCG: 0.360 register: 0.322 peripherals: 0.303 PID: 0.269 VMM: 0.256 virtual: 0.254 KVM: 0.210 hypervisor: 0.142 user-level: 0.088 -------------------- x86: 1.000 semantic: 0.987 i386: 0.985 assembly: 0.961 debug: 0.185 register: 0.174 kernel: 0.052 files: 0.042 TCG: 0.041 performance: 0.037 virtual: 0.017 architecture: 0.017 user-level: 0.016 PID: 0.010 peripherals: 0.009 VMM: 0.008 device: 0.007 hypervisor: 0.006 boot: 0.006 permissions: 0.005 risc-v: 0.005 network: 0.004 KVM: 0.004 graphic: 0.003 socket: 0.002 vnc: 0.001 mistranslation: 0.001 ppc: 0.000 arm: 0.000 x86 BLSI and BLSR semantic bug Description of problem: The result of instruction BLSI and BLSR is different from the CPU. The value of CF is different. Steps to reproduce: 1. Compile this code ``` void main() { asm("blsi rax, rbx"); } ``` 2. Execute and compare the result with the CPU. The value of `CF` is exactly the opposite. This problem happens with BLSR, too. Additional information: This bug is discovered by research conducted by KAIST SoftSec.