blob: 4aec545a52272af8284c77fa58fe43aec375aa0e (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
/* Test that we can parse the CAndPerm documentation correctly:
* Previously the \hyperref expressions were broken. */
default Order dec
scattered union ast('datasize : Int, 'destsize : Int, 'regsize : Int)
val execute : forall ('datasize : Int) ('destsize : Int) ('regsize : Int).
ast('datasize, 'destsize, 'regsize) -> unit
scattered function execute
/*! CAndPerm union clause documentation */
union clause ast = CAndPerm : (int, int, int)
/*!
* Capability register \emph{cd} is replaced with the contents of capability
* register \emph{cs1} with the \cperms{} field set to the bitwise-AND of
* its previous value and bits 0 .. 10 of integer register \emph{rs2}
* and the \cuperms{} field set to the bitwise and of its previous value
* and bits \hyperref[table:pseudocode-constants]{\emph{first\_uperm}} ..
* \hyperref[table:pseudocode-constants]{\emph{last\_uperm}} of \emph{rd}.
*/
function clause execute(CAndPerm(cd, cs1, rs2)) = {
/* Implementation */
return ()
}
/* Note: need at least two function clauses to generate latex output */
union clause ast = CSetFlags : (int, int, int)
function clause execute CSetFlags(cd, cs1, rs2) = return(())
end execute
end ast
|