diff options
Diffstat (limited to 'gitlab/issues_text/target_ppc/host_missing/accel_TCG')
18 files changed, 270 insertions, 0 deletions
diff --git a/gitlab/issues_text/target_ppc/host_missing/accel_TCG/1536 b/gitlab/issues_text/target_ppc/host_missing/accel_TCG/1536 new file mode 100644 index 000000000..62628e88b --- /dev/null +++ b/gitlab/issues_text/target_ppc/host_missing/accel_TCG/1536 @@ -0,0 +1,16 @@ +Test programs that use the vextractbm, vextracthm, vextractwm, or vextractdm instructions fail on qemu-ppc64 (but not qemu-ppc64le) +Description of problem: +Some of the test programs that use the vextractbm, vextracthm, vextractwm, or vextractdm instructions fail on qemu-ppc64 (but not qemu-ppc64le). +Steps to reproduce: +1. Download the vsx_mask_extract_runnable_test_030723.c test program from https://gist.githubusercontent.com/johnplatts/db0e9f6683e85e9288fde5c031b3c0e5/raw/ccfb8170f3e613398750830451eebb362875493d/vsx_mask_extract_runnable_test_030723.c. +2. Install the ppc64 gcc cross-compiler and required libraries, which can be done using the ```sudo apt install build-essential gdb-multiarch g++-12-powerpc64-linux-gnu binutils-powerpc64-linux-gnu binutils-powerpc64-linux-gnu-dbg libc6-ppc64-cross libstdc++6-ppc64-cross``` command on Ubuntu 22.04. +3. Compile the vsx_mask_extract_runnable_test_030723.c test program downloaded in step 1 using the ```powerpc64-linux-gnu-gcc-12``` cross-compiler with the ```-mcpu=power10``` option. +4. Execute the program compiled in step 3 using the ```QEMU_LD_PREFIX=/usr/powerpc64-linux-gnu qemu-ppc64 -cpu power10 ./vsx_mask_extract_runnable_test_030723``` command. + +The issue can also be reproduced by compiling Google Highway and running its unit tests as follows: +1. Clone the Google Highway git repository by running the ```git clone https://github.com/google/highway.git google_highway``` command. +2. Create a ```hwy_ppcbe10_build``` directory inside of the ```google_highway``` directory created in step #1. +3. In the ```hwy_ppc10be_build``` directory created in the previous step, execute the following commands: + - ```CC=powerpc64-linux-gnu-gcc-12 CXX=powerpc64-linux-gnu-g++-12 cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_C_COMPILER_TARGET="powerpc64-linux-gnu" -DCMAKE_CXX_COMPILER_TARGET="powerpc64-linux-gnu" -DCMAKE_CROSSCOMPILING=true -DCMAKE_CROSSCOMPILING_EMULATOR='/usr/local/bin/qemu-ppc64;-cpu;power10' -DCMAKE_C_FLAGS='-mcpu=power10 -DHWY_DISABLED_TARGETS=6918373452571213824' -DCMAKE_CXX_FLAGS='-mcpu=power10 -DHWY_DISABLED_TARGETS=6918373452571213824'``` + - ```QEMU_LD_PREFIX=/usr/powerpc64-linux-gnu make``` + - ```QEMU_LD_PREFIX=/usr/powerpc64-linux-gnu ctest -j``` diff --git a/gitlab/issues_text/target_ppc/host_missing/accel_TCG/1634 b/gitlab/issues_text/target_ppc/host_missing/accel_TCG/1634 new file mode 100644 index 000000000..18bc1d275 --- /dev/null +++ b/gitlab/issues_text/target_ppc/host_missing/accel_TCG/1634 @@ -0,0 +1,18 @@ +[8.0.0] Broken snapshot replay support on PowerPC +Description of problem: +QEMU 8.0.0 can no longer replay snapshots on PowerPC e500mc (Book-E) architecture. The issue is caused by https://gitlab.com/qemu-project/qemu/-/commit/c4b075318eb1e87de5fc942e6b987694a0e677e1, reverting this commit solves the issue. +Steps to reproduce: +1. Run bare metal example from the attachment with the first command-line to create snapshot. +2. Run bare metal example from the attachment with the second command-line to replay snapshot. +Additional information: +Any e500mc example would do really. I was unable to find a prebuilt Linux distribution, thus just wrote a minimal sample that prints hello world to UART: [ppc-e500.zip](/uploads/f9328c4b8355a92877d784661aa69fa4/ppc-e500.zip) + +Log output: + +``` +% qemu-system-ppc -cpu e500mc -M ppce500 -m 128M -net none -icount 1,rr=record,rrfile=main.bin,rrsnapshot=init -drive file=empty.qcow2,if=none,id=rr -display none -kernel hello.elf -serial stdio +Hello world +qemu-system-ppc: terminating on signal 2 from pid 4505 (<unknown process>) +% qemu-system-ppc -cpu e500mc -M ppce500 -m 128M -net none -icount 1,rr=replay,rrfile=main.bin,rrsnapshot=init -drive file=empty.qcow2,if=none,id=rr -display none -kernel hello.elf -serial stdio +qemu-system-ppc: Missing random event in the replay log +``` diff --git a/gitlab/issues_text/target_ppc/host_missing/accel_TCG/1726 b/gitlab/issues_text/target_ppc/host_missing/accel_TCG/1726 new file mode 100644 index 000000000..0f2747354 --- /dev/null +++ b/gitlab/issues_text/target_ppc/host_missing/accel_TCG/1726 @@ -0,0 +1,97 @@ +qemu-system-ppc64 option -smp 2 broken with commit 20b6643324a79860dcdfe811ffe4a79942bca21e +Description of problem: +I was trying to boot rhel9 image with upstream qemu-system-ppc64 -smp 2 option and observed a segfault (qemu crash). +After doing a git bisect, I found the first bad commit which introduced this issue is below: +``` +[qemu]# git bisect good +20b6643324a79860dcdfe811ffe4a79942bca21e is the first bad commit +commit 20b6643324a79860dcdfe811ffe4a79942bca21e +Author: Richard Henderson <richard.henderson@linaro.org> +Date: Mon Dec 5 17:45:02 2022 -0600 + + tcg/ppc: Reorg goto_tb implementation + + The old ppc64 implementation replaces 2 or 4 insns, which leaves a race + condition in which a thread could be stopped at a PC in the middle of + the sequence, and when restarted does not see the complete address + computation and branches to nowhere. + + The new implemetation replaces only one insn, swapping between + + b <dest> + and + mtctr r31 + + falling through to a general-case indirect branch. + + Reviewed-by: Alex Bennée <alex.bennee@linaro.org> + Signed-off-by: Richard Henderson <richard.henderson@linaro.org> + + tcg/ppc/tcg-target.c.inc | 152 +++++++++++++---------------------------------- + tcg/ppc/tcg-target.h | 3 +- + 2 files changed, 41 insertions(+), 114 deletions(-) +[qemu]# +``` +Steps to reproduce: +1. Run the qemu command line mentioned +2. Wait for the qemu to crash. +Additional information: +git bisect log: +``` +[root@ltcden6-lp2 qemu]# git bisect log +git bisect start +# status: waiting for both good and bad commits +# bad: [b455ce4c2f300c8ba47cba7232dd03261368a4cb] Merge tag 'q800-for-8.1-pull-request' of https://github.com/vivier/qemu-m68k into staging +git bisect bad b455ce4c2f300c8ba47cba7232dd03261368a4cb +# status: waiting for good commit(s), bad commit known +# good: [b247dba067bf2808de6395ff09ff0cb220ed7c95] tests/avocado: add explicit timeout for ppc64le TCG tests +git bisect good b247dba067bf2808de6395ff09ff0cb220ed7c95 +# bad: [3db629f03e8caf39526cd0415dac16a6a6484107] Merge tag 'pull-request-2023-02-27' of https://gitlab.com/thuth/qemu into staging +git bisect bad 3db629f03e8caf39526cd0415dac16a6a6484107 +# good: [777fa06376ce0249c76d0d852e8f7ed103a63864] Merge tag 'pull-loongarch-20221202' of https://gitlab.com/gaosong/qemu into staging +git bisect good 777fa06376ce0249c76d0d852e8f7ed103a63864 +# bad: [c66ffcd5358ba88e93e1ffb15ae42ca52dab12a8] target/riscv/cpu: set cpu->cfg in register_cpu_props() +git bisect bad c66ffcd5358ba88e93e1ffb15ae42ca52dab12a8 +# good: [bc92f261519d5c77c70cf2ebcf0a3b9a414d82d0] hw/intc: sifive_plic: Fix the pending register range check +git bisect good bc92f261519d5c77c70cf2ebcf0a3b9a414d82d0 +# good: [aa96ab7c9df59c615ca82b49c9062819e0a1c287] Merge tag 'pull-request-2023-01-09' of https://gitlab.com/thuth/qemu into staging +git bisect good aa96ab7c9df59c615ca82b49c9062819e0a1c287 +# good: [a8d6abe1292e1db1ad9be5b2b124b9c01bcda094] Merge tag 'mips-20230113' of https://github.com/philmd/qemu into staging +git bisect good a8d6abe1292e1db1ad9be5b2b124b9c01bcda094 +# bad: [ef4f031fab7b070816454949a1b6b6c7aa3cf503] Merge tag 'pull-tcg-20230117' of https://gitlab.com/rth7680/qemu into staging +git bisect bad ef4f031fab7b070816454949a1b6b6c7aa3cf503 +# good: [0fe1c98da9d9abb8e5dc4a67c7e3bcf19aad1e85] tcg: Change tb_target_set_jmp_target arguments +git bisect good 0fe1c98da9d9abb8e5dc4a67c7e3bcf19aad1e85 +# good: [701ed34833f53880ba38bde09b0846d01fc16d66] Merge tag 'pull-request-2023-01-18' of https://gitlab.com/thuth/qemu into staging +git bisect good 701ed34833f53880ba38bde09b0846d01fc16d66 +# bad: [20b6643324a79860dcdfe811ffe4a79942bca21e] tcg/ppc: Reorg goto_tb implementation +git bisect bad 20b6643324a79860dcdfe811ffe4a79942bca21e +# good: [90c0fee3a28b25d23081b3c435762cadde813ec4] tcg: Always define tb_target_set_jmp_target +git bisect good 90c0fee3a28b25d23081b3c435762cadde813ec4 +# good: [d59d83a1c38869b1e1a4f957eb939aaa8a342721] tcg/aarch64: Reorg goto_tb implementation +git bisect good d59d83a1c38869b1e1a4f957eb939aaa8a342721 +# first bad commit: [20b6643324a79860dcdfe811ffe4a79942bca21e] tcg/ppc: Reorg goto_tb implementation +``` + +gdb backtrace output: + +``` +Program terminated with signal SIGSEGV, Segmentation fault. +#0 0x00007fff4becfa8c in ?? () +[Current thread is 1 (Thread 0x7fff9e80e780 (LWP 31456))] +(gdb) bt +#0 0x00007fff4becfa8c in () +#1 0x00007fff5682d044 in code_gen_buffer () +#2 0x000000013e3224ec in cpu_tb_exec (cpu=cpu@entry=0x16144fb70, itb=itb@entry=0x7fff5682cf00 <code_gen_buffer+111332932>, tb_exit=tb_exit@entry=0x7fff9e80d7f0) at ../accel/tcg/cpu-exec.c:438 +#3 0x000000013e322ad4 in cpu_loop_exec_tb (tb_exit=0x7fff9e80d7f0, last_tb=<synthetic pointer>, pc=13835058055286981664, tb=0x7fff5682cf00 <code_gen_buffer+111332932>, cpu=<optimized out>) + at ../accel/tcg/cpu-exec.c:871 +#4 cpu_exec_loop (cpu=cpu@entry=0x16144fb70, sc=sc@entry=0x7fff9e80d940) at ../accel/tcg/cpu-exec.c:981 +#5 0x000000013e3234e8 in cpu_exec_setjmp (cpu=cpu@entry=0x16144fb70, sc=sc@entry=0x7fff9e80d940) at ../accel/tcg/cpu-exec.c:1012 +#6 0x000000013e323e64 in cpu_exec (cpu=0x16144fb70) at ../accel/tcg/cpu-exec.c:1038 +#7 0x000000013e35bba0 in tcg_cpus_exec (cpu=0x16144fb70) at ../accel/tcg/tcg-accel-ops.c:69 +#8 0x000000013e35bd90 in mttcg_cpu_thread_fn (arg=0x16144fb70) at ../accel/tcg/tcg-accel-ops-mttcg.c:95 +#9 0x000000013e57193c in qemu_thread_start (args=<optimized out>) at ../util/qemu-thread-posix.c:505 +#10 0x00007fffa12aa0f0 in start_thread (arg=0x7fff9e80e780) at pthread_create.c:443 +#11 0x00007fffa1352ec8 in clone () at ../sysdeps/unix/sysv/linux/powerpc/powerpc64/clone.S:107 +``` +For any further additional information contact me at : anushree.mathur@linux.vnet.ibm.com diff --git a/gitlab/issues_text/target_ppc/host_missing/accel_TCG/1750 b/gitlab/issues_text/target_ppc/host_missing/accel_TCG/1750 new file mode 100644 index 000000000..b38b2c4cd --- /dev/null +++ b/gitlab/issues_text/target_ppc/host_missing/accel_TCG/1750 @@ -0,0 +1 @@ +target/ppc/translate.c - ppc_fixup_cpu and VSX - is still necessary? diff --git a/gitlab/issues_text/target_ppc/host_missing/accel_TCG/1769 b/gitlab/issues_text/target_ppc/host_missing/accel_TCG/1769 new file mode 100644 index 000000000..ba1c10360 --- /dev/null +++ b/gitlab/issues_text/target_ppc/host_missing/accel_TCG/1769 @@ -0,0 +1 @@ +RHEL9 ppc64le Power9 pseries guest userspace segfaults diff --git a/gitlab/issues_text/target_ppc/host_missing/accel_TCG/1795 b/gitlab/issues_text/target_ppc/host_missing/accel_TCG/1795 new file mode 100644 index 000000000..cf1b89b3a --- /dev/null +++ b/gitlab/issues_text/target_ppc/host_missing/accel_TCG/1795 @@ -0,0 +1,8 @@ +PPC: not honouring single stepping through branches and skips a nip +Description of problem: +When debugging in MacsBug, tracing/stepping over any branches (e.g. blt, bgt) will land on the instruction immediately passed the expected address. It appears that branches will execute the target instruction then single step to the next instruction in one go, instead of single stepping to the target instruction. + +For example, if a blt should land on 13371234, stepping over the branch will land on 13371238. The instruction at 13371234 still executes, but this is not the behaviour on a baremetal Mac OS system. +Additional information: +A <a href="https://i.imgur.com/f6dguMt.png">screenshot</a> before the branch. +A <a href="https://imgur.com/WoVDtN7.png">screenshot<a/> after pressing 't' to step over the branch. Note that the PC is now 1E36CAB8 instead of the expected 1E36CAB4. diff --git a/gitlab/issues_text/target_ppc/host_missing/accel_TCG/2097 b/gitlab/issues_text/target_ppc/host_missing/accel_TCG/2097 new file mode 100644 index 000000000..cdf5c21ed --- /dev/null +++ b/gitlab/issues_text/target_ppc/host_missing/accel_TCG/2097 @@ -0,0 +1 @@ +qtest timeouts on cross-i686-tci job diff --git a/gitlab/issues_text/target_ppc/host_missing/accel_TCG/212 b/gitlab/issues_text/target_ppc/host_missing/accel_TCG/212 new file mode 100644 index 000000000..262ea3f8e --- /dev/null +++ b/gitlab/issues_text/target_ppc/host_missing/accel_TCG/212 @@ -0,0 +1 @@ +ppc64 TCG application crashes diff --git a/gitlab/issues_text/target_ppc/host_missing/accel_TCG/2523 b/gitlab/issues_text/target_ppc/host_missing/accel_TCG/2523 new file mode 100644 index 000000000..9179ad8d0 --- /dev/null +++ b/gitlab/issues_text/target_ppc/host_missing/accel_TCG/2523 @@ -0,0 +1,20 @@ +[9.0.2] PPC: snapshot replay freeze on PowerPC +Description of problem: +Qemu 9.0.2 cannot replay snapshots on PowerPC e500mc (Book-E) architecture. When I try to do this, the program freezes. +Steps to reproduce: +1. Run bare metal example from the attachment with the first command-line to create snapshot. Then end it using ctrl+c. +2. Run bare metal example from the attachment with the second command-line to replay snapshot. Running will freeze, use ctrl+c. +Additional information: +e500mc example that prints Hello World: [ppc-e500.zip](/uploads/ef9ce53abc3f17490d4894c041956038/ppc-e500.zip) + +Log output: +``` +% qemu-system-ppc -cpu e500 -M ppce500 -kernel hello.elf -display none -serial stdio -icount 1,rr=record,rrfile=main.bin,rrsnapshot=init -drive file=empty.qcow2,if=none,id=rr +Hello world +qemu-system-ppc: terminating on signal 2 +% qemu-system-ppc -cpu e500 -M ppce500 -kernel hello.elf -display none -serial stdio -icount 1,rr=replay,rrfile=main.bin,rrsnapshot=init -drive file=empty.qcow2,if=none,id=rr +qemu-system-ppc: terminating on signal 2 +qemu-system-ppc: Playback shouldn't have to iowait (insn total 0/68 left, event 4 is EVENT_INSTRUCTION) +zsh: IOT instruction (core dumped) qemu-system-ppc -cpu e500 -M ppce500 -kernel hello.elf -display none -serial +``` +`Playback shouldn't have to iowait` error caused by 1f881ea4a444ef36a8b6907b0b82be4b3af253a2 commit, see https://gitlab.com/qemu-project/qemu/-/issues/2524 diff --git a/gitlab/issues_text/target_ppc/host_missing/accel_TCG/312 b/gitlab/issues_text/target_ppc/host_missing/accel_TCG/312 new file mode 100644 index 000000000..731b4b5e8 --- /dev/null +++ b/gitlab/issues_text/target_ppc/host_missing/accel_TCG/312 @@ -0,0 +1 @@ +QEMU emulation of fmadds instruction on powerpc64le is buggy diff --git a/gitlab/issues_text/target_ppc/host_missing/accel_TCG/356 b/gitlab/issues_text/target_ppc/host_missing/accel_TCG/356 new file mode 100644 index 000000000..636d9f37f --- /dev/null +++ b/gitlab/issues_text/target_ppc/host_missing/accel_TCG/356 @@ -0,0 +1 @@ +qemu linux-user doesn't translate host/target data for iovec I/O diff --git a/gitlab/issues_text/target_ppc/host_missing/accel_TCG/390 b/gitlab/issues_text/target_ppc/host_missing/accel_TCG/390 new file mode 100644 index 000000000..c0aa4c24c --- /dev/null +++ b/gitlab/issues_text/target_ppc/host_missing/accel_TCG/390 @@ -0,0 +1 @@ +target/ppc: atomic path of Load Quadword instruction require address with write permission diff --git a/gitlab/issues_text/target_ppc/host_missing/accel_TCG/588 b/gitlab/issues_text/target_ppc/host_missing/accel_TCG/588 new file mode 100644 index 000000000..fa8435c4a --- /dev/null +++ b/gitlab/issues_text/target_ppc/host_missing/accel_TCG/588 @@ -0,0 +1,65 @@ +ppc64le: fatal: Tried to call a TRAP +Description of problem: +`qemu: fatal: Tried to call a TRAP` occurs while running the: + +`/etc/ca-certificates/update.d/jks-keystore` script which is part of the package `ca-certificates-java` that is installed as a dependency of `openjdk-11-jdk` + +``` +Unknown privilege violation (03) +NIP 0000004012db12b0 LR 0000004002a4335c CTR 0000004012db1280 XER 0000000000000000 CPU#1 +MSR 9000000102806901 HID0 0000000000000000 HF 9000000002806001 iidx 6 didx 6 +TB 00000538 2314542730558 +GPR00 ffffffbffcc22660 00000040033dd940 0000004002d92f00 00000040033de9a0 +GPR04 0000000000000000 0000000000002000 0000000000000000 0000000000000000 +GPR08 0000004002df2f00 0000004002df3460 0000000000000001 0000000000000000 +GPR12 0000004012db1280 00000040033e88f0 0000004001b87410 0000000000000000 +GPR16 0000004001872000 0000004012db12a4 0000004012db12ac 0000004012db12d0 +GPR20 0000004012db12d8 00000000000003d8 0000004004014e20 00000040040151f8 +GPR24 0000004002dc39f8 00000040033df9a0 0000004004014e10 0000004004014dd0 +GPR28 0000004002df3470 0000004012db1280 0000004002df4600 00000040033dd940 +CR 24884400 [ E G L L G G - - ] RES 00000040033de9a0 +qemu: fatal: Tried to call a TRAP + +NIP 0000004013342588 LR 0000004013340d84 CTR 0000004013340c8c XER 0000000000000000 CPU#1 +MSR 9000000102806901 HID0 0000000000000000 HF 9000000002806001 iidx 6 didx 6 +TB 00000539 2317026761994 +GPR00 0000000000000001 00000040033df9d0 0000004013340c00 00000000fff7ad68 +GPR04 00000000fff7ad68 000000404d235860 0000000000000105 0000000000000000 +GPR08 0000000100013f10 0000000000000000 0000000000000008 00000040033cfa60 +GPR12 000000010003cd10 00000040033e88f0 000000404d204303 00000040033dfac0 +GPR16 0000004004016000 00000000fff7ad68 00000040033dfb88 0000000100001808 +GPR20 0000004012db8b90 00000040033dfa50 0000004012db8b90 0000000044000000 +GPR24 0000004012dd9000 0000004002dd6aa0 00000040033dfad8 000000404d204b08 +GPR28 0000000000000000 0000004012db1000 0000000000000010 000000404d2047a8 +CR 48884424 [ G L L L G G E G ] RES ffffffffffffffff +FPR00 0000000100016f00 3ff000853ce957eb 0000000000000000 0000000000000000 +FPR04 000000000000000a 0000000000000006 000000000000000e 0000000000000000 +FPR08 0000000000000042 403a000000000000 0000000000000064 0000000000000064 +FPR12 4060000000000000 0000003000000000 0000000000000000 0000000000000060 +FPR16 0000000000000000 0000000000000000 0000000000000000 0000000000000000 +FPR20 0000000000000000 0000000000000000 0000000000000000 0000000000000000 +FPR24 0000000000000000 0000000000000000 0000000000000000 0000000000000000 +FPR28 0000000000000000 0000000000000000 0000000000000000 0000000000000000 +FPSCR 000000008a008000 +Aborted (core dumped) +``` +Steps to reproduce: +1. `apt-get install -y qemu qemu-user-static` +2. `docker run --rm --privileged multiarch/qemu-user-static --reset -p yes` +3. `docker run -it ppc64le/ubuntu:20.04 bash` +4. `apt-get update && apt-get install -y openjdk-11-jdk` +Additional information: +I actually encountered this while building https://github.com/jenkinsci/docker/blob/22f3f03e03e9902640c730cdfa896dc16a21d9d5/11/debian/bullseye/hotspot/Dockerfile + +Specifically running: +``` +jlink \ + --add-modules ALL-MODULE-PATH \ + --no-man-pages \ + --compress=2 \ + --output /javaruntime +``` + +But when I tried to reduce this down installing openjdk from the ubuntu repository didn't work and it looks to be the same issue. + +This looks quite similar to https://gitlab.com/qemu-project/qemu/-/issues/319, we hit that issue as well and I've verified that s390x works now diff --git a/gitlab/issues_text/target_ppc/host_missing/accel_TCG/744 b/gitlab/issues_text/target_ppc/host_missing/accel_TCG/744 new file mode 100644 index 000000000..73964faca --- /dev/null +++ b/gitlab/issues_text/target_ppc/host_missing/accel_TCG/744 @@ -0,0 +1,3 @@ +ppc64: Implement the remaining PowerISA v3.1 instructions +Additional information: +[PowerISA_public.v3.1.pdf](https://wiki.raptorcs.com/w/images/f/f5/PowerISA_public.v3.1.pdf) diff --git a/gitlab/issues_text/target_ppc/host_missing/accel_TCG/767 b/gitlab/issues_text/target_ppc/host_missing/accel_TCG/767 new file mode 100644 index 000000000..eab9999f0 --- /dev/null +++ b/gitlab/issues_text/target_ppc/host_missing/accel_TCG/767 @@ -0,0 +1,3 @@ +Improve softmmu TLB utilisation by improving tlb_flush usage on PPC64 +Additional information: + diff --git a/gitlab/issues_text/target_ppc/host_missing/accel_TCG/85 b/gitlab/issues_text/target_ppc/host_missing/accel_TCG/85 new file mode 100644 index 000000000..25335e0d8 --- /dev/null +++ b/gitlab/issues_text/target_ppc/host_missing/accel_TCG/85 @@ -0,0 +1 @@ +info registers' command leads to segfault with -M none diff --git a/gitlab/issues_text/target_ppc/host_missing/accel_TCG/852 b/gitlab/issues_text/target_ppc/host_missing/accel_TCG/852 new file mode 100644 index 000000000..af6879140 --- /dev/null +++ b/gitlab/issues_text/target_ppc/host_missing/accel_TCG/852 @@ -0,0 +1,31 @@ +ppc64le: possible SIMD issue casting double to int +Description of problem: +Working with numpy in a ppc64le VM, I ran into a strange double -to casting issue, specifically when casting an array of 1.0 values to 1 values. The numpy folks guided me to a small reproducible test case. + +The attached [convert.c](/uploads/2dd7936f4defccf816ffee7c7c002e77/convert.c) creates double and int arrays of length `1 <= n <= 16`. The double array is filled with the value 1.0, and both arrays are passed to a function that converts the value. + +With `-O2`, output is as expected (truncated here): + +``` +i = 1: 1 +i = 2: 1 1 +i = 3: 1 1 1 +i = 4: 1 1 1 1 +i = 5: 1 1 1 1 1 +i = 6: 1 1 1 1 1 1 +``` + +With `-O3`, all values that fit into blocks of four become zero: +``` +i = 1: 1 +i = 2: 1 1 +i = 3: 1 1 1 +i = 4: 0 0 0 0 +i = 5: 0 0 0 0 1 +i = 6: 0 0 0 0 1 1 +``` + +I tested this with executables compiled on a physical ppc64le host, where the issue is not reproducible. +Steps to reproduce: +1. `gcc -O2 -o convert convert.c && ./convert` +2. `gcc -O3 -o convert convert.c && ./convert` diff --git a/gitlab/issues_text/target_ppc/host_missing/accel_TCG/86 b/gitlab/issues_text/target_ppc/host_missing/accel_TCG/86 new file mode 100644 index 000000000..458462029 --- /dev/null +++ b/gitlab/issues_text/target_ppc/host_missing/accel_TCG/86 @@ -0,0 +1 @@ +powerpc 7450 MMU initialization broken |