Closed wzmuda closed 3 days ago
One thing I want to see is documentation of the structure and why this structure is chosen.
Sure, where would be a good place for this? Dedicated README.md
in the compiler_rt
directory perhaps? That would be a central point for everybody who starts reading/modifying the runtime and would display nicely on github.
Summary
Introduce compiler runtime module. Add relevant CI changes and update the PR template to reflect that we should also format the Cairo code.
Start implementing ALU. Add the top-level module and submodules for
and
,or
andxor
operations. Add relevant readmes.Implemented polyfills:
and
Implements bitwise
and
operation.API
__llvm_and_bool_bool(lhs: u128, rhs: u128) -> u128
__llvm_and_i8_i8(lhs: u128, rhs: u128) -> u128
__llvm_and_i16_i16(lhs: u128, rhs: u128) -> u128
__llvm_and_i32_i32(lhs: u128, rhs: u128) -> u128
__llvm_and_i64_i64(lhs: u128, rhs: u128) -> u128
__llvm_and_i128_i128(lhs: u128, rhs: u128) -> u128
or
Implements bitwise
or
operation.API
__llvm_or_bool_bool(lhs: u128, rhs: u128) -> u128
__llvm_or_i8_i8(lhs: u128, rhs: u128) -> u128
__llvm_or_i16_i16(lhs: u128, rhs: u128) -> u128
__llvm_or_i32_i32(lhs: u128, rhs: u128) -> u128
__llvm_or_i64_i64(lhs: u128, rhs: u128) -> u128
__llvm_or_i128_i128(lhs: u128, rhs: u128) -> u128
xor
Implements bitwise
xor
operation.API
__llvm_xor_bool_bool(lhs: u128, rhs: u128) -> u128
__llvm_xor_i8_i8(lhs: u128, rhs: u128) -> u128
__llvm_xor_i16_i16(lhs: u128, rhs: u128) -> u128
__llvm_xor_i32_i32(lhs: u128, rhs: u128) -> u128
__llvm_xor_i64_i64(lhs: u128, rhs: u128) -> u128
__llvm_xor_i128_i128(lhs: u128, rhs: u128) -> u128
Other PRs for issue #38 will follow.
Details
u128
instead of felts?Checklist
scarb fmt
.