summary refs log tree commit diff stats
path: root/results/classifier/gemma3:12b/assembly/863
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.