architecture: 0.951 ppc: 0.882 device: 0.832 graphic: 0.827 performance: 0.816 files: 0.810 vnc: 0.692 socket: 0.672 network: 0.653 register: 0.613 semantic: 0.607 permissions: 0.602 TCG: 0.599 x86: 0.570 PID: 0.561 debug: 0.459 risc-v: 0.400 arm: 0.382 boot: 0.353 kernel: 0.325 user-level: 0.279 VMM: 0.259 virtual: 0.246 mistranslation: 0.245 i386: 0.238 peripherals: 0.046 assembly: 0.035 hypervisor: 0.025 KVM: 0.003 -------------------- ppc: 0.905 debug: 0.604 files: 0.175 hypervisor: 0.144 virtual: 0.080 TCG: 0.078 kernel: 0.014 register: 0.012 network: 0.011 user-level: 0.010 PID: 0.008 performance: 0.007 semantic: 0.006 architecture: 0.004 device: 0.003 socket: 0.003 assembly: 0.002 peripherals: 0.001 graphic: 0.001 boot: 0.001 permissions: 0.001 VMM: 0.000 vnc: 0.000 x86: 0.000 KVM: 0.000 risc-v: 0.000 mistranslation: 0.000 i386: 0.000 arm: 0.000 POWER9 emulation is broken when compiler optimizations are on (for gcc 11.3 and later) Description of problem: Comparing two floating point memory operands produces incorrect result Steps to reproduce: 1. Unpack attached archive and change to test_p64 directory 2. Build the source file with: powerpc64le-linux-gnu-g++ -O2 -static test.cpp -o test_p64 3. Run with QEMU: qemu-ppc64le -cpu POWER9 test_p64 > output.txt 4. Check the output text file output.txt (with pluma or any other text editor) to see the printouts Additional information: The pre-built binary and its output file are attached as test_p64.tar.gz[test_p64.tar.gz](/uploads/0e9dbc22e6841496efc15775e6aa624a/test_p64.tar.gz) The purpose of this report is to motivate the creation of a point release QEMU 6.2.1 for Ubuntu 22.04 LTS (which will be supported for years to come). Also cross-linking similar bug report for MIPS with exact same goal: https://gitlab.com/qemu-project/qemu/-/issues/1531