diff options
Diffstat (limited to 'src/ir.h')
-rw-r--r-- | src/ir.h | 20 |
1 files changed, 20 insertions, 0 deletions
@@ -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()) |