diff options
| author | Brian Campbell | 2019-06-24 17:45:21 +0100 |
|---|---|---|
| committer | Brian Campbell | 2019-06-24 17:45:21 +0100 |
| commit | 379447a8934f6dcdd7f70b589e765e5588d4dbc6 (patch) | |
| tree | 29741c6cf63fb39be72ea39f99aa1f72782ad46d /aarch64_small/mono-splices/LSR_C.sail | |
| parent | f493e3f3d43b9e410b21bf9cecb04f968dff9a20 (diff) | |
Rules and supporting files for building aarch64_small monomorphised Isabelle
Diffstat (limited to 'aarch64_small/mono-splices/LSR_C.sail')
| -rw-r--r-- | aarch64_small/mono-splices/LSR_C.sail | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/aarch64_small/mono-splices/LSR_C.sail b/aarch64_small/mono-splices/LSR_C.sail new file mode 100644 index 00000000..5fed8ad6 --- /dev/null +++ b/aarch64_small/mono-splices/LSR_C.sail @@ -0,0 +1,8 @@ +val LSR_C : forall 'N 'S, 'N >= 1 & 'S >= 1. + (bits('N), int('S)) -> (bits('N), bit) effect pure + +function LSR_C (x, shift) = { + result : bits('N) = x >> shift; + carry_out : bit = if shift > 'N then bitzero else x[shift - 1]; + return((result, carry_out)) +} |
