blob: 24c736c4ccedee29cc6015bfa13cb7d848ebe386 (
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
|
contrib/plugins/howvec.c for ARM64 under constrained
Description of problem:
Consider the static InsnClassExecCount aarch64_insn_classes array in contrib/plugins/howvec.c There are 5 entries which will never be discovered, and so count as 0; see the dump below.
I did not figure out which of prior rows in the table was over-eagerly getting instructions intended for the subsequent counted-as-0 row.
```
udef aka UDEF 65536
sve aka SVE 268435456
res aka Reserved 268369920
pcrel aka PCrel addr 134217728
asit aka Add/Sub (imm,tags) 67108864
asi aka Add/Sub (imm) 67108864
logi aka Logical (imm) 67108864
movwi aka Move Wide (imm) 67108864
bitf aka Bitfield 67108864
extr aka Extract 67108864
dpri aka Data Proc Imm 0
cndb aka Cond Branch (imm) 33554432
excp aka Exception Gen 16777216
nop aka NOP 1
hint aka Hints 4095
barr aka Barriers 4096
psta aka PSTATE 32768
sins aka System Insn 1048576
sreg aka System Reg 2097152
breg aka Branch (reg) 33554432
bimm aka Branch (imm) 134217728
cmpb aka Cmp & Branch 67108864
tstb aka Tst & Branch 67108864
branch aka Branches 181362688
advlsm aka AdvSimd ldstmult 262144
advlsmp aka AdvSimd ldstmult++ 4194304
advlss aka AdvSimd ldst 524288
advlssp aka AdvSimd ldst++ 16777216
ldstx aka ldst excl 67108864
prfm aka Prefetch 16777216
ldlit aka Load Reg (lit) 251658240
ldstnap aka ldst noalloc pair 67108864
ldstp aka ldst pair 469762048
ldstr aka ldst reg 0
atomic aka Atomic ldst 0
ldstro aka ldst reg (reg off) 0
ldstpa aka ldst reg (pac) 0
ldsti aka ldst reg (imm) 134217728
ldst aka Loads & Stores 313786368
dprr aka Data Proc Reg 402653184
fpsimd aka Scalar FP 402653183
unclas aka Unclassified 536870912
```
Steps to reproduce:
1. Write a simple wrapper program; iterate and search through all 2**32 insns, dump the array
2.
3.
|