summaryrefslogtreecommitdiff
path: root/lib/sail.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/sail.c')
-rw-r--r--lib/sail.c14
1 files changed, 13 insertions, 1 deletions
diff --git a/lib/sail.c b/lib/sail.c
index 22cc5462..5c83690d 100644
--- a/lib/sail.c
+++ b/lib/sail.c
@@ -1460,7 +1460,8 @@ void get_time_ns(sail_int *rop, const unit u)
// ARM specific optimisations
-void arm_align(lbits *rop, const lbits x_bv, const sail_int y_mpz) {
+void arm_align(lbits *rop, const lbits x_bv, const sail_int y_mpz)
+{
uint64_t x = mpz_get_ui(*x_bv.bits);
uint64_t y = mpz_get_ui(y_mpz);
uint64_t z = y * (x / y);
@@ -1468,3 +1469,14 @@ void arm_align(lbits *rop, const lbits x_bv, const sail_int y_mpz) {
mpz_set_ui(*rop->bits, safe_rshift(UINT64_MAX, 64l - (n - 1)) & z);
rop->len = n;
}
+
+// Monomorphisation
+void make_the_value(sail_int *rop, const sail_int op)
+{
+ mpz_set(*rop, op);
+}
+
+void size_itself_int(sail_int *rop, const sail_int op)
+{
+ mpz_set(*rop, op);
+}