/
sse2.json
117 lines (117 loc) · 3.11 KB
/
sse2.json
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
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
{
"llvm_prefix": "llvm.x86.sse2.",
"intrinsics": [
{
"intrinsic": "_adds_{0.data_type}",
"width": [128],
"llvm": "padd{0.kind_short}s.{0.data_type_short}",
"ret": "i(8-16)",
"args": ["0", "0"]
},
{
"intrinsic": "_avg_{0.data_type}",
"width": [128],
"llvm": "pavg.{0.data_type_short}",
"ret": "u(8-16)",
"args": ["0", "0"]
},
{
"intrinsic": "_madd_epi16",
"width": [128],
"llvm": "pmadd.wd",
"ret": "s32",
"args": ["s16", "s16"]
},
{
"intrinsic": "_max_{0.data_type}",
"width": [128],
"llvm": "pmax{0.kind}.{0.data_type_short}",
"ret": ["s16", "u8"],
"args": ["0", "0"]
},
{
"intrinsic": "_max_pd",
"width": [128],
"llvm": "max.pd",
"ret": "f64",
"args": ["0", "0"]
},
{
"intrinsic": "_min_{0.data_type}",
"width": [128],
"llvm": "pmin{0.kind}.{0.data_type_short}",
"ret": ["s16", "u8"],
"args": ["0", "0"]
},
{
"intrinsic": "_min_pd",
"width": [128],
"llvm": "min.pd",
"ret": "f64",
"args": ["0", "0"]
},
{
"intrinsic": "_movemask_pd",
"width": [128],
"llvm": "movmsk.pd",
"ret": "S32",
"args": ["f64"]
},
{
"intrinsic": "_movemask_epi8",
"width": [128],
"llvm": "pmovmskb.128",
"ret": "S32",
"args": ["s8"]
},
{
"intrinsic": "_mul_epu32",
"width": [128],
"llvm": "pmulu.dq",
"ret": "u64",
"args": ["0dn", "0dn"]
},
{
"intrinsic": "_mulhi_{0.data_type}",
"width": [128],
"llvm": "pmulh{0.kind_short}.w",
"ret": "i16",
"args": ["0", "0"]
},
{
"intrinsic": "_packs_{1.data_type}",
"width": [128],
"llvm": "packss{1.data_type_short}{0.data_type_short}.128",
"ret": "s(8-16)",
"args": ["0hw", "0hw"]
},
{
"intrinsic": "_packus_epi16",
"width": [128],
"llvm": "packuswb.128",
"ret": "u8",
"args": ["s16", "s16"]
},
{
"intrinsic": "_sad_epu8",
"width": [128],
"llvm": "psad.bw",
"ret": "u64",
"args": ["u8", "u8"]
},
{
"intrinsic": "_sqrt_pd",
"width": [128],
"llvm": "!llvm.sqrt.v2f64",
"ret": "f64",
"args": ["0"]
},
{
"intrinsic": "_subs_{0.data_type}",
"width": [128],
"llvm": "psub{0.kind_short}s.{0.data_type_short}",
"ret": "i(8-16)",
"args": ["0", "0"]
}
]
}