Skip to content

Commit d3b0497

Browse files
committed
Add newly implemented intrinsics to test file
1 parent e4091a9 commit d3b0497

File tree

1 file changed

+45
-0
lines changed

1 file changed

+45
-0
lines changed

src/bin/intrinsics.rs

Lines changed: 45 additions & 0 deletions
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: i::U128_) -> ::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)