@@ -52,6 +52,8 @@ extern "unadjusted" {
52
52
use stdarch_test:: assert_instr;
53
53
54
54
/// AES single round encryption.
55
+ ///
56
+ /// [Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vaeseq_u8)
55
57
#[ inline]
56
58
#[ cfg_attr( not( target_arch = "arm" ) , target_feature( enable = "aes" ) ) ]
57
59
#[ cfg_attr( target_arch = "arm" , target_feature( enable = "crypto,v8" ) ) ]
@@ -61,6 +63,8 @@ pub unsafe fn vaeseq_u8(data: uint8x16_t, key: uint8x16_t) -> uint8x16_t {
61
63
}
62
64
63
65
/// AES single round decryption.
66
+ ///
67
+ /// [Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vaesdq_u8)
64
68
#[ inline]
65
69
#[ cfg_attr( not( target_arch = "arm" ) , target_feature( enable = "aes" ) ) ]
66
70
#[ cfg_attr( target_arch = "arm" , target_feature( enable = "crypto,v8" ) ) ]
@@ -70,6 +74,8 @@ pub unsafe fn vaesdq_u8(data: uint8x16_t, key: uint8x16_t) -> uint8x16_t {
70
74
}
71
75
72
76
/// AES mix columns.
77
+ ///
78
+ /// [Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vaesmcq_u8)
73
79
#[ inline]
74
80
#[ cfg_attr( not( target_arch = "arm" ) , target_feature( enable = "aes" ) ) ]
75
81
#[ cfg_attr( target_arch = "arm" , target_feature( enable = "crypto,v8" ) ) ]
@@ -79,6 +85,8 @@ pub unsafe fn vaesmcq_u8(data: uint8x16_t) -> uint8x16_t {
79
85
}
80
86
81
87
/// AES inverse mix columns.
88
+ ///
89
+ /// [Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vaesimcq_u8)
82
90
#[ inline]
83
91
#[ cfg_attr( not( target_arch = "arm" ) , target_feature( enable = "aes" ) ) ]
84
92
#[ cfg_attr( target_arch = "arm" , target_feature( enable = "crypto,v8" ) ) ]
@@ -88,6 +96,8 @@ pub unsafe fn vaesimcq_u8(data: uint8x16_t) -> uint8x16_t {
88
96
}
89
97
90
98
/// SHA1 fixed rotate.
99
+ ///
100
+ /// [Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vsha1h_u32)
91
101
#[ inline]
92
102
#[ cfg_attr( not( target_arch = "arm" ) , target_feature( enable = "sha2" ) ) ]
93
103
#[ cfg_attr( target_arch = "arm" , target_feature( enable = "crypto,v8" ) ) ]
@@ -97,6 +107,8 @@ pub unsafe fn vsha1h_u32(hash_e: u32) -> u32 {
97
107
}
98
108
99
109
/// SHA1 hash update accelerator, choose.
110
+ ///
111
+ /// [Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vsha1cq_u32)
100
112
#[ inline]
101
113
#[ cfg_attr( not( target_arch = "arm" ) , target_feature( enable = "sha2" ) ) ]
102
114
#[ cfg_attr( target_arch = "arm" , target_feature( enable = "crypto,v8" ) ) ]
@@ -106,6 +118,8 @@ pub unsafe fn vsha1cq_u32(hash_abcd: uint32x4_t, hash_e: u32, wk: uint32x4_t) ->
106
118
}
107
119
108
120
/// SHA1 hash update accelerator, majority.
121
+ ///
122
+ /// [Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vsha1mq_u32)
109
123
#[ inline]
110
124
#[ cfg_attr( not( target_arch = "arm" ) , target_feature( enable = "sha2" ) ) ]
111
125
#[ cfg_attr( target_arch = "arm" , target_feature( enable = "crypto,v8" ) ) ]
@@ -115,6 +129,8 @@ pub unsafe fn vsha1mq_u32(hash_abcd: uint32x4_t, hash_e: u32, wk: uint32x4_t) ->
115
129
}
116
130
117
131
/// SHA1 hash update accelerator, parity.
132
+ ///
133
+ /// [Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vsha1pq_u32)
118
134
#[ inline]
119
135
#[ cfg_attr( not( target_arch = "arm" ) , target_feature( enable = "sha2" ) ) ]
120
136
#[ cfg_attr( target_arch = "arm" , target_feature( enable = "crypto,v8" ) ) ]
@@ -124,6 +140,8 @@ pub unsafe fn vsha1pq_u32(hash_abcd: uint32x4_t, hash_e: u32, wk: uint32x4_t) ->
124
140
}
125
141
126
142
/// SHA1 schedule update accelerator, first part.
143
+ ///
144
+ /// [Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vsha1su0q_u32)
127
145
#[ inline]
128
146
#[ cfg_attr( not( target_arch = "arm" ) , target_feature( enable = "sha2" ) ) ]
129
147
#[ cfg_attr( target_arch = "arm" , target_feature( enable = "crypto,v8" ) ) ]
@@ -133,6 +151,8 @@ pub unsafe fn vsha1su0q_u32(w0_3: uint32x4_t, w4_7: uint32x4_t, w8_11: uint32x4_
133
151
}
134
152
135
153
/// SHA1 schedule update accelerator, second part.
154
+ ///
155
+ /// [Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vsha1su1q_u32)
136
156
#[ inline]
137
157
#[ cfg_attr( not( target_arch = "arm" ) , target_feature( enable = "sha2" ) ) ]
138
158
#[ cfg_attr( target_arch = "arm" , target_feature( enable = "crypto,v8" ) ) ]
@@ -142,6 +162,8 @@ pub unsafe fn vsha1su1q_u32(tw0_3: uint32x4_t, w12_15: uint32x4_t) -> uint32x4_t
142
162
}
143
163
144
164
/// SHA256 hash update accelerator.
165
+ ///
166
+ /// [Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vsha256hq_u32)
145
167
#[ inline]
146
168
#[ cfg_attr( not( target_arch = "arm" ) , target_feature( enable = "sha2" ) ) ]
147
169
#[ cfg_attr( target_arch = "arm" , target_feature( enable = "crypto,v8" ) ) ]
@@ -155,6 +177,8 @@ pub unsafe fn vsha256hq_u32(
155
177
}
156
178
157
179
/// SHA256 hash update accelerator, upper part.
180
+ ///
181
+ /// [Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vsha256h2q_u32)
158
182
#[ inline]
159
183
#[ cfg_attr( not( target_arch = "arm" ) , target_feature( enable = "sha2" ) ) ]
160
184
#[ cfg_attr( target_arch = "arm" , target_feature( enable = "crypto,v8" ) ) ]
@@ -168,6 +192,8 @@ pub unsafe fn vsha256h2q_u32(
168
192
}
169
193
170
194
/// SHA256 schedule update accelerator, first part.
195
+ ///
196
+ /// [Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vsha256su0q_u32)
171
197
#[ inline]
172
198
#[ cfg_attr( not( target_arch = "arm" ) , target_feature( enable = "sha2" ) ) ]
173
199
#[ cfg_attr( target_arch = "arm" , target_feature( enable = "crypto,v8" ) ) ]
@@ -177,6 +203,8 @@ pub unsafe fn vsha256su0q_u32(w0_3: uint32x4_t, w4_7: uint32x4_t) -> uint32x4_t
177
203
}
178
204
179
205
/// SHA256 schedule update accelerator, second part.
206
+ ///
207
+ /// [Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vsha256su1q_u32)
180
208
#[ inline]
181
209
#[ cfg_attr( not( target_arch = "arm" ) , target_feature( enable = "sha2" ) ) ]
182
210
#[ cfg_attr( target_arch = "arm" , target_feature( enable = "crypto,v8" ) ) ]
0 commit comments