new hlt block terminator

It is handy to express when
the end of a block cannot be
reached. If a hlt terminator
is executed, it traps the
program.

We don't go the llvm way and
specify execution semantics as
undefined behavior.
This commit is contained in:
Quentin Carbonneaux 2022-11-24 11:08:33 +01:00
parent b5da3f3d64
commit 9126afa2da
9 changed files with 30 additions and 13 deletions

2
all.h
View file

@ -154,7 +154,7 @@ enum J {
X(jfisle) X(jfislt) X(jfiuge) X(jfiugt) \
X(jfiule) X(jfiult) X(jffeq) X(jffge) \
X(jffgt) X(jffle) X(jfflt) X(jffne) \
X(jffo) X(jffuo)
X(jffo) X(jffuo) X(hlt)
#define X(j) J##j,
JMPS(X)
#undef X