summaryrefslogtreecommitdiff
path: root/kernel/celltypes.h
diff options
context:
space:
mode:
authorClifford Wolf <clifford@clifford.at>2014-07-29 14:42:33 +0200
committerClifford Wolf <clifford@clifford.at>2014-07-29 16:35:13 +0200
commit397b00252dc0c4af725614bd12fc299147ba8efa (patch)
treee7a1dfdd61f165a517036c4efdde2c53ef9076e7 /kernel/celltypes.h
parent48822e79a34880c5f0b07e9889e463e7b6d7111b (diff)
Added $shift and $shiftx cell types (needed for correct part select behavior)
Diffstat (limited to 'kernel/celltypes.h')
-rw-r--r--kernel/celltypes.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/kernel/celltypes.h b/kernel/celltypes.h
index 43c23add..e1a1110d 100644
--- a/kernel/celltypes.h
+++ b/kernel/celltypes.h
@@ -75,6 +75,8 @@ struct CellTypes
cell_types.insert("$shr");
cell_types.insert("$sshl");
cell_types.insert("$sshr");
+ cell_types.insert("$shift");
+ cell_types.insert("$shiftx");
cell_types.insert("$lt");
cell_types.insert("$le");
cell_types.insert("$eq");
@@ -224,7 +226,7 @@ struct CellTypes
if (type == "$sshl" && !signed1)
type = "$shl";
- if (type != "$sshr" && type != "$sshl" && type != "$shr" && type != "$shl" &&
+ if (type != "$sshr" && type != "$sshl" && type != "$shr" && type != "$shl" && type != "$shift" && type != "$shiftx" &&
type != "$pos" && type != "$neg" && type != "$not" && type != "$bu0") {
if (!signed1 || !signed2)
signed1 = false, signed2 = false;
@@ -248,6 +250,8 @@ struct CellTypes
HANDLE_CELL_TYPE(shr)
HANDLE_CELL_TYPE(sshl)
HANDLE_CELL_TYPE(sshr)
+ HANDLE_CELL_TYPE(shift)
+ HANDLE_CELL_TYPE(shiftx)
HANDLE_CELL_TYPE(lt)
HANDLE_CELL_TYPE(le)
HANDLE_CELL_TYPE(eq)