summaryrefslogtreecommitdiff
path: root/aarch64_small
diff options
context:
space:
mode:
authorBen Simner2019-03-05 12:57:23 +0000
committerBen Simner2019-03-05 15:15:08 +0000
commit25899e3f0b0c2b21da26111ce8691cf5a16f3bd5 (patch)
treea76511f12002964e80599a2e20ce61a779adb0cd /aarch64_small
parent98f447e1ca70999350dac4b7a0d3fbce5c64071b (diff)
Add Unallocated to the gen files
Adds the Unallocated sail ast node to be tracked by all the transformation files, to track the change made to sail1.
Diffstat (limited to 'aarch64_small')
-rw-r--r--aarch64_small/armV8.sail1
-rw-r--r--aarch64_small/gen/ast.hgen1
-rw-r--r--aarch64_small/gen/fold.hgen1
-rw-r--r--aarch64_small/gen/herdtools_ast_to_shallow_ast.hgen1
-rw-r--r--aarch64_small/gen/map.hgen1
-rw-r--r--aarch64_small/gen/pretty.hgen3
-rw-r--r--aarch64_small/gen/regs_out_in.hgen1
-rw-r--r--aarch64_small/gen/sail_trans_out.hgen2
-rw-r--r--aarch64_small/gen/shallow_ast_to_herdtools_ast.hgen2
-rw-r--r--aarch64_small/gen/trans_sail.hgen2
10 files changed, 15 insertions, 0 deletions
diff --git a/aarch64_small/armV8.sail b/aarch64_small/armV8.sail
index 8e893e4b..91de66f8 100644
--- a/aarch64_small/armV8.sail
+++ b/aarch64_small/armV8.sail
@@ -2443,6 +2443,7 @@ end execute
val supported_instructions : ast -> option(ast) effect {escape}
function supported_instructions (instr) = {
match instr {
+ Unallocated () => None ()
_ => Some(instr)
}
}
diff --git a/aarch64_small/gen/ast.hgen b/aarch64_small/gen/ast.hgen
index 60f130d7..98148a5c 100644
--- a/aarch64_small/gen/ast.hgen
+++ b/aarch64_small/gen/ast.hgen
@@ -1,3 +1,4 @@
+ | `AArch64Unallocated
| `AArch64TMStart of inst_reg (* t *)
| `AArch64TMCommit
| `AArch64TMAbort of boolean*bit5 (* retry,reason *)
diff --git a/aarch64_small/gen/fold.hgen b/aarch64_small/gen/fold.hgen
index 4062d8e6..fbe52794 100644
--- a/aarch64_small/gen/fold.hgen
+++ b/aarch64_small/gen/fold.hgen
@@ -1,3 +1,4 @@
+| `AArch64Unallocated -> (y_reg, y_sreg)
| `AArch64TMStart t -> fold_reg t (y_reg, y_sreg)
| `AArch64TMCommit -> (y_reg, y_sreg)
| `AArch64TMAbort (retry,reason) -> (y_reg, y_sreg)
diff --git a/aarch64_small/gen/herdtools_ast_to_shallow_ast.hgen b/aarch64_small/gen/herdtools_ast_to_shallow_ast.hgen
index 6fbb3eb2..b8fe851c 100644
--- a/aarch64_small/gen/herdtools_ast_to_shallow_ast.hgen
+++ b/aarch64_small/gen/herdtools_ast_to_shallow_ast.hgen
@@ -1,3 +1,4 @@
+| `AArch64Unallocated -> Unallocated
| `AArch64TMStart t -> TMStart (translate_reg "t" t)
| `AArch64TMCommit -> TMCommit
diff --git a/aarch64_small/gen/map.hgen b/aarch64_small/gen/map.hgen
index 62899c91..3d5419b4 100644
--- a/aarch64_small/gen/map.hgen
+++ b/aarch64_small/gen/map.hgen
@@ -1,3 +1,4 @@
+| `AArch64Unallocated -> `AArch64Unallocated
| `AArch64TMStart t -> `AArch64TMStart (map_reg t)
| `AArch64TMCommit -> `AArch64TMCommit
| `AArch64TMAbort (retry,reason) -> `AArch64TMAbort (retry,reason)
diff --git a/aarch64_small/gen/pretty.hgen b/aarch64_small/gen/pretty.hgen
index 2bbf7af7..b412fdda 100644
--- a/aarch64_small/gen/pretty.hgen
+++ b/aarch64_small/gen/pretty.hgen
@@ -1,3 +1,6 @@
+| `AArch64Unallocated ->
+ "UNALLOCATED"
+
| `AArch64TMStart t ->
sprintf "TSTART %s" (pp_regzr Set64 t)
diff --git a/aarch64_small/gen/regs_out_in.hgen b/aarch64_small/gen/regs_out_in.hgen
index 724a574b..bab53be7 100644
--- a/aarch64_small/gen/regs_out_in.hgen
+++ b/aarch64_small/gen/regs_out_in.hgen
@@ -1,6 +1,7 @@
(* for each instruction instance, identify the role of the registers
and possible branching: (outputs, inputs, voidstars, branch) *)
+| `AArch64Unallocated -> failwith "UNALLOCATED is not implemented"
| `AArch64TMStart t -> failwith "TSTART is not implemented"
| `AArch64TMCommit -> failwith "TCOMMIT is not implemented"
| `AArch64TMAbort (retry,reason) -> failwith "TABORT is not implemented"
diff --git a/aarch64_small/gen/sail_trans_out.hgen b/aarch64_small/gen/sail_trans_out.hgen
index 84826c18..0399fa8b 100644
--- a/aarch64_small/gen/sail_trans_out.hgen
+++ b/aarch64_small/gen/sail_trans_out.hgen
@@ -1,3 +1,5 @@
+| ("Unallocated", []) -> `AArch64Unallocated
+
| ("TMStart", [t]) ->
`AArch64TMStart (translate_out_regzr Set64 t)
diff --git a/aarch64_small/gen/shallow_ast_to_herdtools_ast.hgen b/aarch64_small/gen/shallow_ast_to_herdtools_ast.hgen
index 7362304c..55179a97 100644
--- a/aarch64_small/gen/shallow_ast_to_herdtools_ast.hgen
+++ b/aarch64_small/gen/shallow_ast_to_herdtools_ast.hgen
@@ -1,3 +1,5 @@
+| Unallocated -> `AArch64Unallocated
+
| TMStart t ->
`AArch64TMStart (translate_out_regzr Set64 t)
diff --git a/aarch64_small/gen/trans_sail.hgen b/aarch64_small/gen/trans_sail.hgen
index 2b176308..df2ed81c 100644
--- a/aarch64_small/gen/trans_sail.hgen
+++ b/aarch64_small/gen/trans_sail.hgen
@@ -1,3 +1,5 @@
+| `AArch64Unallocated -> ("Unallocated", [], [])
+
| `AArch64TMStart t ->
("TMStart", [translate_reg "t" t], [])