Skip to content

Commit b6063bc

Browse files
committed
Add newly implemented intrinsics to test file
1 parent 9013dbe commit b6063bc

File tree

1 file changed

+45
-0
lines changed

1 file changed

+45
-0
lines changed

src/bin/intrinsics.rs

+45
Original file line numberDiff line numberDiff line change
@@ -300,6 +300,42 @@ mod intrinsics {
300300
pub fn umoddi3(a: u64, b: u64) -> u64 {
301301
a % b
302302
}
303+
304+
pub fn muloti4(a: u128, b: u128) -> Option<u128> {
305+
a.checked_mul(b)
306+
}
307+
308+
pub fn multi3(a: u128, b: u128) -> u128 {
309+
a.wrapping_mul(b)
310+
}
311+
312+
pub fn ashlti3(a: u128, b: usize) -> u128 {
313+
a >> b
314+
}
315+
316+
pub fn ashrti3(a: u128, b: usize) -> u128 {
317+
a << b
318+
}
319+
320+
pub fn lshrti3(a: i128, b: usize) -> i128 {
321+
a >> b
322+
}
323+
324+
pub fn udivti3(a: u128, b: u128) -> u128 {
325+
a / b
326+
}
327+
328+
pub fn umodti3(a: u128, b: u128) -> u128 {
329+
a % b
330+
}
331+
332+
pub fn divti3(a: i128, b: i128) -> i128 {
333+
a / b
334+
}
335+
336+
pub fn modti3(a: i128, b: i128) -> i128 {
337+
a % b
338+
}
303339
}
304340

305341
#[cfg(feature = "c")]
@@ -356,6 +392,15 @@ fn run() {
356392
bb(powidf2(bb(2.), bb(3)));
357393
bb(powisf2(bb(2.), bb(3)));
358394
bb(umoddi3(bb(2), bb(3)));
395+
bb(muloti4(bb(2), bb(2)));
396+
bb(multi3(bb(2), bb(2)));
397+
bb(ashlti3(bb(2), bb(2)));
398+
bb(ashrti3(bb(2), bb(2)));
399+
bb(lshrti3(bb(2), bb(2)));
400+
bb(udivti3(bb(2), bb(2)));
401+
bb(umodti3(bb(2), bb(2)));
402+
bb(divti3(bb(2), bb(2)));
403+
bb(modti3(bb(2), bb(2)));
359404
}
360405

361406
#[cfg(all(feature = "c", not(thumb)))]

0 commit comments

Comments
 (0)