@@ -52,6 +52,8 @@ extern "unadjusted" {
5252use stdarch_test:: assert_instr;
5353
5454/// AES single round encryption.
55+ ///
56+ /// [Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vaeseq_u8)
5557#[ inline]
5658#[ cfg_attr( not( target_arch = "arm" ) , target_feature( enable = "aes" ) ) ]
5759#[ 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 {
6163}
6264
6365/// AES single round decryption.
66+ ///
67+ /// [Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vaesdq_u8)
6468#[ inline]
6569#[ cfg_attr( not( target_arch = "arm" ) , target_feature( enable = "aes" ) ) ]
6670#[ 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 {
7074}
7175
7276/// AES mix columns.
77+ ///
78+ /// [Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vaesmcq_u8)
7379#[ inline]
7480#[ cfg_attr( not( target_arch = "arm" ) , target_feature( enable = "aes" ) ) ]
7581#[ cfg_attr( target_arch = "arm" , target_feature( enable = "crypto,v8" ) ) ]
@@ -79,6 +85,8 @@ pub unsafe fn vaesmcq_u8(data: uint8x16_t) -> uint8x16_t {
7985}
8086
8187/// AES inverse mix columns.
88+ ///
89+ /// [Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vaesimcq_u8)
8290#[ inline]
8391#[ cfg_attr( not( target_arch = "arm" ) , target_feature( enable = "aes" ) ) ]
8492#[ cfg_attr( target_arch = "arm" , target_feature( enable = "crypto,v8" ) ) ]
@@ -88,6 +96,8 @@ pub unsafe fn vaesimcq_u8(data: uint8x16_t) -> uint8x16_t {
8896}
8997
9098/// SHA1 fixed rotate.
99+ ///
100+ /// [Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vsha1h_u32)
91101#[ inline]
92102#[ cfg_attr( not( target_arch = "arm" ) , target_feature( enable = "sha2" ) ) ]
93103#[ cfg_attr( target_arch = "arm" , target_feature( enable = "crypto,v8" ) ) ]
@@ -97,6 +107,8 @@ pub unsafe fn vsha1h_u32(hash_e: u32) -> u32 {
97107}
98108
99109/// SHA1 hash update accelerator, choose.
110+ ///
111+ /// [Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vsha1cq_u32)
100112#[ inline]
101113#[ cfg_attr( not( target_arch = "arm" ) , target_feature( enable = "sha2" ) ) ]
102114#[ 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) ->
106118}
107119
108120/// SHA1 hash update accelerator, majority.
121+ ///
122+ /// [Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vsha1mq_u32)
109123#[ inline]
110124#[ cfg_attr( not( target_arch = "arm" ) , target_feature( enable = "sha2" ) ) ]
111125#[ 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) ->
115129}
116130
117131/// SHA1 hash update accelerator, parity.
132+ ///
133+ /// [Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vsha1pq_u32)
118134#[ inline]
119135#[ cfg_attr( not( target_arch = "arm" ) , target_feature( enable = "sha2" ) ) ]
120136#[ 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) ->
124140}
125141
126142/// SHA1 schedule update accelerator, first part.
143+ ///
144+ /// [Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vsha1su0q_u32)
127145#[ inline]
128146#[ cfg_attr( not( target_arch = "arm" ) , target_feature( enable = "sha2" ) ) ]
129147#[ 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_
133151}
134152
135153/// SHA1 schedule update accelerator, second part.
154+ ///
155+ /// [Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vsha1su1q_u32)
136156#[ inline]
137157#[ cfg_attr( not( target_arch = "arm" ) , target_feature( enable = "sha2" ) ) ]
138158#[ 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
142162}
143163
144164/// SHA256 hash update accelerator.
165+ ///
166+ /// [Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vsha256hq_u32)
145167#[ inline]
146168#[ cfg_attr( not( target_arch = "arm" ) , target_feature( enable = "sha2" ) ) ]
147169#[ cfg_attr( target_arch = "arm" , target_feature( enable = "crypto,v8" ) ) ]
@@ -155,6 +177,8 @@ pub unsafe fn vsha256hq_u32(
155177}
156178
157179/// SHA256 hash update accelerator, upper part.
180+ ///
181+ /// [Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vsha256h2q_u32)
158182#[ inline]
159183#[ cfg_attr( not( target_arch = "arm" ) , target_feature( enable = "sha2" ) ) ]
160184#[ cfg_attr( target_arch = "arm" , target_feature( enable = "crypto,v8" ) ) ]
@@ -168,6 +192,8 @@ pub unsafe fn vsha256h2q_u32(
168192}
169193
170194/// SHA256 schedule update accelerator, first part.
195+ ///
196+ /// [Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vsha256su0q_u32)
171197#[ inline]
172198#[ cfg_attr( not( target_arch = "arm" ) , target_feature( enable = "sha2" ) ) ]
173199#[ 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
177203}
178204
179205/// SHA256 schedule update accelerator, second part.
206+ ///
207+ /// [Arm's documentation](https://developer.arm.com/architectures/instruction-sets/intrinsics/vsha256su1q_u32)
180208#[ inline]
181209#[ cfg_attr( not( target_arch = "arm" ) , target_feature( enable = "sha2" ) ) ]
182210#[ cfg_attr( target_arch = "arm" , target_feature( enable = "crypto,v8" ) ) ]
0 commit comments