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
|
TCG Optimizer crashes on AArch64 SVE2 instruction
Description of problem:
QEMU crashes due to an assertion in the TCG optimizer when optimizing an SVE2 instruction:
```
Unrecognized operation 145 in do_constant_folding.
../tcg/optimize.c:458: tcg fatal error
```
Steps to reproduce:
1. Compile the following minimized reproducer: (a pre-compiled image is provided for convenience - [reproducer.img](/uploads/0bddbfac55306a297fee59dd2f6923cf/reproducer.img))
```asm
.org 0x0
entry:
mrs x1, cptr_el3
orr x9, x1, #0x100
msr cptr_el3, x9
msr cptr_el2, xzr
mov x1, #0x3
mrs x9, cpacr_el1
bfi x9, x1, #16, #2
bfi x9, x1, #20, #2
msr cpacr_el1, x9
mov x9, 512
mov x0, x9
asr x0, x0, 7
sub x9, x0, #1
msr zcr_el1, x9
mov x9, 512
mov x0, x9
asr x0, x0, 7
sub x9, x0, #1
msr zcr_el2, x9
mov x9, 512
mov x0, x9
asr x0, x0, 7
sub x9, x0, #1
msr zcr_el3, x9
uqxtnt z11.s, z22.d
```
2. Execute it using the command line given above.
Additional information:
I tested latest master as well, and the problem persists.
|