summary refs log tree commit diff stats
path: root/results/classifier/zero-shot/118/none/1611394
blob: 7af0c4905731cf4664981101f63017577feb6917 (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
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
files: 0.742
architecture: 0.683
performance: 0.678
device: 0.664
ppc: 0.664
socket: 0.635
semantic: 0.634
kernel: 0.615
network: 0.607
hypervisor: 0.572
vnc: 0.572
user-level: 0.569
permissions: 0.567
PID: 0.563
debug: 0.548
register: 0.535
risc-v: 0.519
arm: 0.510
peripherals: 0.485
mistranslation: 0.476
graphic: 0.473
assembly: 0.460
TCG: 0.458
VMM: 0.457
virtual: 0.456
boot: 0.448
KVM: 0.444
x86: 0.444
i386: 0.428

qemu-ppc: Scalar Single-Precision Floating-Point instructions should not test  MSR[SPV]

According to "Signal Processing Engine (SPE) Programming Environments Manual" at
http://cache.nxp.com/files/32bit/doc/ref_manual/SPEPEM.pdf?fsrch=1&sr=1&pageNum=1

c.f section 4.2.3  and also Figure 2-2.

When MSR[SPV] is _NOT_ set, then the embedded scalar single-precision floating-point instructions
should _NOT_ generate an Embedded Floating-Point Unavailable Interrupt.


Hence, some tests for MSR[SPV] in file target-ppc/translate.c need to be removed.
Namely, in the definitions of 
1. GEN_SPEFPUOP_ARITH2_32_32
2. gen_efsabs
3. gen_efsnabs
4. gen_efsneg
5. GEN_SPEFPUOP_COMP_32

Note, the macro GEN_SPEFPUOP_CONV_32_32 is already correct.

One more thing, afaict the macro GEN_SPEFPUOP_CONV_32_64 is used by both
efs- and efd- instructions, and will need to be split in two versions.
The efs-use (i.e for efscfd) should be as it is today, but the use by efd-instructions 
(e.g efdctui) will need to add a test for MSR[SPV].



(I've looked at today's HEAD-revision of target-ppc/translate.c).

I have filed a broader ticket, Bug #1888918, reporting a very similar issue that leads to corruption/bad arithmetic when using double-precision & vector instructions.

I will be submitting a patch in the next few days that will also address this ticket.

Assuming that this commit:
https://gitlab.com/qemu-project/qemu/-/commit/8dcdb535d7cc4ba6270bb756e12e1d323254ed4e

is sufficient to mark this bug as Fix Committed. Please re-open if I am mistaken.

Released with QEMU v5.2.0.