summaryrefslogtreecommitdiff
path: root/src/ir.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/ir.h')
-rw-r--r--src/ir.h20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/ir.h b/src/ir.h
index 387f95b4..87766e02 100644
--- a/src/ir.h
+++ b/src/ir.h
@@ -323,6 +323,7 @@ enum class ExprType {
ReturnCallIndirect,
Select,
SimdLaneOp,
+ SimdLoadLane,
SimdShuffleOp,
LoadSplat,
LoadZero,
@@ -454,6 +455,25 @@ class SimdLaneOpExpr : public ExprMixin<ExprType::SimdLaneOp> {
uint64_t val;
};
+class SimdLoadLaneExpr : public ExprMixin<ExprType::SimdLoadLane> {
+ public:
+ SimdLoadLaneExpr(Opcode opcode,
+ Address align,
+ Address offset,
+ uint64_t val,
+ const Location& loc = Location())
+ : ExprMixin<ExprType::SimdLoadLane>(loc),
+ opcode(opcode),
+ align(align),
+ offset(offset),
+ val(val) {}
+
+ Opcode opcode;
+ Address align;
+ Address offset;
+ uint64_t val;
+};
+
class SimdShuffleOpExpr : public ExprMixin<ExprType::SimdShuffleOp> {
public:
SimdShuffleOpExpr(Opcode opcode, v128 val, const Location& loc = Location())