mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
@@ -0,0 +1,17 @@
|
||||
contract C {
|
||||
function f() public pure returns (uint32 x) {
|
||||
uint32 a;
|
||||
uint32 b;
|
||||
uint32 c;
|
||||
assembly {
|
||||
a := 1
|
||||
b := 2
|
||||
c := 3
|
||||
}
|
||||
x = a + b + c;
|
||||
}
|
||||
}
|
||||
// ====
|
||||
// compileViaYul: true
|
||||
// ----
|
||||
// f() -> 6
|
||||
@@ -0,0 +1,23 @@
|
||||
contract C {
|
||||
function f() public pure returns (uint32 x) {
|
||||
uint32 a;
|
||||
uint32 b;
|
||||
uint32 c;
|
||||
assembly {
|
||||
function myAwesomeFunction(param) -> returnMe {
|
||||
let localVar := 10
|
||||
returnMe := add(localVar, param)
|
||||
}
|
||||
let abc := sub(10, a)
|
||||
let xyz := 20
|
||||
a := abc
|
||||
b := myAwesomeFunction(30)
|
||||
c := xyz
|
||||
}
|
||||
x = a + b + c;
|
||||
}
|
||||
}
|
||||
// ====
|
||||
// compileViaYul: true
|
||||
// ----
|
||||
// f() -> 70
|
||||
Reference in New Issue
Block a user