From 5e8ed426df840b53b83ff1bb29e13ac02ed32d4f Mon Sep 17 00:00:00 2001 From: Bhargava Shastry Date: Thu, 14 Mar 2019 22:26:25 +0100 Subject: [PATCH] Add more binary operations to the yul proto spec. --- test/tools/ossfuzz/protoToYul.cpp | 33 +++++++++++++++++++++++++++++++ test/tools/ossfuzz/yulProto.proto | 11 +++++++++++ 2 files changed, 44 insertions(+) diff --git a/test/tools/ossfuzz/protoToYul.cpp b/test/tools/ossfuzz/protoToYul.cpp index f454ff304..ec0dfdeb1 100644 --- a/test/tools/ossfuzz/protoToYul.cpp +++ b/test/tools/ossfuzz/protoToYul.cpp @@ -102,6 +102,39 @@ ostream& yul::test::yul_fuzzer::operator<<(ostream& _os, BinaryOp const& _x) case BinaryOp::GT: _os << "gt"; break; + case BinaryOp::SHR: + _os << "shr"; + break; + case BinaryOp::SHL: + _os << "shl"; + break; + case BinaryOp::SAR: + _os << "sar"; + break; + case BinaryOp::SDIV: + _os << "sdiv"; + break; + case BinaryOp::SMOD: + _os << "smod"; + break; + case BinaryOp::EXP: + _os << "exp"; + break; + case BinaryOp::SLT: + _os << "slt"; + break; + case BinaryOp::SGT: + _os << "sgt"; + break; + case BinaryOp::BYTE: + _os << "byte"; + break; + case BinaryOp::SI: + _os << "signextend"; + break; + case BinaryOp::KECCAK: + _os << "keccak256"; + break; } return _os << "(" << _x.left() << "," << _x.right() << ")"; } diff --git a/test/tools/ossfuzz/yulProto.proto b/test/tools/ossfuzz/yulProto.proto index f6f7dcc7f..60f9b2f1f 100644 --- a/test/tools/ossfuzz/yulProto.proto +++ b/test/tools/ossfuzz/yulProto.proto @@ -82,6 +82,17 @@ message BinaryOp { EQ = 8; LT = 9; GT = 10; + SHR = 11; + SHL = 12; + SAR = 13; + SDIV = 14; + SMOD = 15; + EXP = 16; + SLT = 17; + SGT = 18; + BYTE = 19; + SI = 20; + KECCAK = 21; }; required BOp op = 1; required Expression left = 2;