summary refs log tree commit diff stats
path: root/results/classifier/zero-shot-user-mode/instruction/1912934
blob: 3a8703b7f5ca96ab634473d7da25b4d8e952192e (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
instruction: 0.731
runtime: 0.190
syscall: 0.079



QEMU emulation of fmadds instruction on powerpc64le is buggy

The attached program test-fmadds.c tests the fmadds instruction on powerpc64le.

Result on real hardware (POWER8E processor):
$ ./a.out ; echo $?
0

Result in Alpine Linux 3.13/powerpcle, emulated by QEMU 5.0.0 on Ubuntu 16.04:
$ ./a.out ; echo $?
32

Result in Debian 8.6.0/ppc64el, emulated by QEMU 2.9.0 on Ubuntu 16.04:
$ ./a.out ; echo $?
32

Through 'nm --dynamic qemu-system-ppc64 | grep fma' I can see that QEMU is NOT using the fmaf() or fma() function from the host system's libc; this function is working fine in glibc of the host system (see https://www.gnu.org/software/gnulib/manual/html_node/fmaf.html ).