1
1
module arm_neon
2
2
3
- import ... IR:
4
- IR, NamedAttribute, Value, Location, Block, Region, Attribute, context, IndexType
3
+ import ... IR: IR, NamedAttribute, Value, Location, Block, Region, Attribute, context, IndexType
5
4
import .. Dialects: namedattribute, operandsegmentsizes
6
- import ... API
5
+
7
6
8
7
"""
9
8
`intr_smull`
@@ -17,21 +16,17 @@ Source:
17
16
https://developer.arm.com/architectures/instruction-sets/simd-isas/neon/intrinsics
18
17
"""
19
18
function intr_smull (a:: Value , b:: Value ; res:: IR.Type , location= Location ())
20
- results = IR. Type[res,]
21
- operands = Value[a, b]
19
+ results = IR. Type[res, ]
20
+ operands = Value[a, b, ]
22
21
owned_regions = Region[]
23
22
successors = Block[]
24
23
attributes = NamedAttribute[]
25
-
26
- return IR. create_operation (
27
- " arm_neon.intr.smull" ,
28
- location;
29
- operands,
30
- owned_regions,
31
- successors,
32
- attributes,
24
+
25
+ IR. create_operation (
26
+ " arm_neon.intr.smull" , location;
27
+ operands, owned_regions, successors, attributes,
33
28
results= results,
34
- result_inference= false ,
29
+ result_inference= false
35
30
)
36
31
end
37
32
@@ -48,21 +43,17 @@ res[i] := a[i] + dot_product(b[i, ...], c[i, ...])
48
43
```
49
44
"""
50
45
function _2d_sdot (a:: Value , b:: Value , c:: Value ; res:: IR.Type , location= Location ())
51
- results = IR. Type[res,]
52
- operands = Value[a, b, c]
46
+ results = IR. Type[res, ]
47
+ operands = Value[a, b, c, ]
53
48
owned_regions = Region[]
54
49
successors = Block[]
55
50
attributes = NamedAttribute[]
56
-
57
- return IR. create_operation (
58
- " arm_neon.2d.sdot" ,
59
- location;
60
- operands,
61
- owned_regions,
62
- successors,
63
- attributes,
51
+
52
+ IR. create_operation (
53
+ " arm_neon.2d.sdot" , location;
54
+ operands, owned_regions, successors, attributes,
64
55
results= results,
65
- result_inference= false ,
56
+ result_inference= false
66
57
)
67
58
end
68
59
@@ -77,21 +68,17 @@ Source:
77
68
https://developer.arm.com/architectures/instruction-sets/simd-isas/neon/intrinsics
78
69
"""
79
70
function intr_sdot (a:: Value , b:: Value , c:: Value ; res:: IR.Type , location= Location ())
80
- results = IR. Type[res,]
81
- operands = Value[a, b, c]
71
+ results = IR. Type[res, ]
72
+ operands = Value[a, b, c, ]
82
73
owned_regions = Region[]
83
74
successors = Block[]
84
75
attributes = NamedAttribute[]
85
-
86
- return IR. create_operation (
87
- " arm_neon.intr.sdot" ,
88
- location;
89
- operands,
90
- owned_regions,
91
- successors,
92
- attributes,
76
+
77
+ IR. create_operation (
78
+ " arm_neon.intr.sdot" , location;
79
+ operands, owned_regions, successors, attributes,
93
80
results= results,
94
- result_inference= false ,
81
+ result_inference= false
95
82
)
96
83
end
97
84
0 commit comments