Skip to content

Latest commit

 

History

History
47 lines (24 loc) · 1.36 KB

README.md

File metadata and controls

47 lines (24 loc) · 1.36 KB

evmSimdOPParser

translates simd opcodes to evm bytecode

Takes consecutively 4 command line arguments:

  • rawRepeat = Bytecode generated for scalar input file is repeated rawRepeat times and appended to stdout
  • rawPath = Path of input file for scalar operations
  • simdRepeat = Bytecode generated for simd input file is repeated simdRepeat times and appended to stdout
  • simdPath = Path of input file for simd operations

Simd Input File:

Xpush (SimdByte I LW8 LC4) [1,2,3,4]

Xpush (SimdByte I LW8 LC4) [1,2,3,4]

Xadd (SimdByte I LW8 LC4)

Pop

After running the command ".\ethparser.exe 0 .\ops\xadd\int\LW8\ethRaw.txt 1 .\ops\xadd\int\LW8\LC4\ethSimd.txt":

Simd Output:

e02c0000000000000001000000000000000200000000000000030000000000000004e02c0000000000000001000000000000000200000000000000030000000000000004c12c50

Scalar Input File:

Push LW8 15

Push LW8 15

Add

Pop

After running the command ".\ethparser.exe 4 .\ops\xadd\int\LW8\ethRaw.txt 0 .\ops\xadd\int\LW8\LC4\ethSimd.txt":

Scalar Output:

67000000000000000f67000000000000000f015067000000000000000f67000000000000000f015067000000000000000f67000000000000000f015067000000000000000f67000000000000000f0150

Note that, element count=4 for 1 simd addition computationally equal to 4 scalar additions. The examples above computes same amount of additions which corresponds to 4 scalar addition.