aboutsummaryrefslogtreecommitdiffhomepage
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/sirit/sirit.h20
1 files changed, 20 insertions, 0 deletions
diff --git a/include/sirit/sirit.h b/include/sirit/sirit.h
index 770345c..b52c7d9 100644
--- a/include/sirit/sirit.h
+++ b/include/sirit/sirit.h
@@ -280,10 +280,30 @@ class Module {
/// The least-significant bits will be zero filled.
Id OpShiftLeftLogical(Id result_type, Id base, Id shift);
+ /// Does a bitwise Or between operands 1 and 2.
+ Id OpBitwiseOr(Id result_type, Id operand_1, Id operand_2);
+
+ /// Does a bitwise Xor between operands 1 and 2.
+ Id OpBitwiseXor(Id result_type, Id operand_1, Id operand_2);
+
/// Result is 1 if both Operand 1 and Operand 2 are 1. Result is 0 if either
/// Operand 1 or Operand 2 are 0.
Id OpBitwiseAnd(Id result_type, Id operand_1, Id operand_2);
+ /// Does a bitwise Not on the operand.
+ Id OpNot(Id result_type, Id operand);
+
+ Id OpBitFieldInsert(Id result_type, Id base, Id insert, Id offset,
+ Id count);
+
+ Id OpBitFieldSExtract(Id result_type, Id base, Id offset, Id count);
+
+ Id OpBitFieldUExtract(Id result_type, Id base, Id offset, Id count);
+
+ Id OpBitReverse(Id result_type, Id base);
+
+ Id OpBitCount(Id result_type, Id base);
+
// Arithmetic
/// Floating-point subtract of Operand from zero.