-
Notifications
You must be signed in to change notification settings - Fork 5
/
InstructionDependencies.h
51 lines (46 loc) · 2.25 KB
/
InstructionDependencies.h
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
#ifndef INSTRUCTIONDEPENDENCIES_H
#define INSTRUCTIONDEPENDENCIES_H
#define SCALAR_REG_DEPENDENCY_MASK(x) (0x1UL << (x))
#define MISC_REG_DEPENDENCY_MASK(x) (0x1UL << (x))
#define BUTTERFLY_REG_DEPENDENCY_MASK(x) (0x3UL << (x))
#define PIXEL_REG_DEPENDENCY_MASK(x) (0x7UL << (x))
#define SHORT_VECTOR_REG_DEPENDENCY_MASK(x) (0xFUL << (x))
#define VECTOR_REG_DEPENDENCY_MASK(x) (0xFUL << (x))
#define INDEX_REG_DEPENDENCY_MASK(x) (0x1UL << (2+(x)))
#define DEPENDENCY_MASK_RC0 (0x00000001UL)
#define DEPENDENCY_MASK_RC1 (0x00000002UL)
#define DEPENDENCY_MASK_RX (0x00000004UL)
#define DEPENDENCY_MASK_RY (0x0000008UL)
#define DEPENDENCY_MASK_RU (0x00000010UL)
#define DEPENDENCY_MASK_RV (0x00000020UL)
#define DEPENDENCY_MASK_RZ (0x00000040UL)
#define DEPENDENCY_MASK_RZI1 (0x00000080UL)
#define DEPENDENCY_MASK_RZI2 (0x00000100UL)
#define DEPENDENCY_MASK_XYCTL (0x00000200UL)
#define DEPENDENCY_MASK_UVCTL (0x00000400UL)
#define DEPENDENCY_MASK_XYRANGE (0x00000800UL)
#define DEPENDENCY_MASK_UVRANGE (0x00001000UL)
#define DEPENDENCY_MASK_ACSHIFT (0x00002000UL)
#define DEPENDENCY_MASK_SVSHIFT (0x00004000UL)
#define DEPENDENCY_FLAG_Z (0x00008000UL)
#define DEPENDENCY_FLAG_C (0x00010000UL)
#define DEPENDENCY_FLAG_V (0x00020000UL)
#define DEPENDENCY_FLAG_N (0x00040000UL)
#define DEPENDENCY_FLAG_MV (0x00080000UL)
#define DEPENDENCY_FLAG_C0Z (0x00100000UL)
#define DEPENDENCY_FLAG_C1Z (0x00200000UL)
#define DEPENDENCY_FLAG_MODGE (0x00400000UL)
#define DEPENDENCY_FLAG_MODMI (0x00800000UL)
#define DEPENDENCY_FLAG_CP0 (0x01000000UL)
#define DEPENDENCY_FLAG_CP1 (0x02000000UL)
#define DEPENDENCY_FLAG_ALLFLAGS (0x03FF8000UL)
#define DEPENDENCY_MASK_MEM_LOAD (0x04000000UL)
#define DEPENDENCY_MASK_MEM_STORE (0x08000000UL)
#define DEPENDENCY_MASK_SP (0x10000000UL)
#define FLAG_DEPENDENCIES(a) ((a) >> 15)
#define DEPENDENCY_MASK_ALLMISC (0x1FFFFFFFUL)
#define DEPENDENCY_MASK_ALLMISC_NON_MEM (0x03FFFFFFUL)
#define DEPENDENCY_FLAG_NVCZ (DEPENDENCY_FLAG_N | DEPENDENCY_FLAG_V | DEPENDENCY_FLAG_C | DEPENDENCY_FLAG_Z)
#define DEPENDENCY_FLAG_NVZ (DEPENDENCY_FLAG_N | DEPENDENCY_FLAG_V | DEPENDENCY_FLAG_Z)
#define DEPENDENCY_FLAG_NZ (DEPENDENCY_FLAG_N | DEPENDENCY_FLAG_Z)
#endif