39 lines
1.0 KiB
Plaintext
39 lines
1.0 KiB
Plaintext
select.graph {
|
||
%entry = +select.entry -> #select.chain
|
||
|
||
%0 = +select.register @0 : i32 -> #select.register
|
||
%1 = +select.register @1 : i32 -> #select.register
|
||
|
||
%v.0, %c.0 = +select.register.read %entry, %0 \
|
||
: (#select.chain, #select.register) \
|
||
-> (i32, #select.chain)
|
||
|
||
%v.1, %c.1 = +select.register.read %entry, %1 \
|
||
: (#select.chain, #select.register) \
|
||
-> (i32, #select.chain)
|
||
|
||
%2 = +select.register @2 : i32
|
||
|
||
%v.2, %c.2 = +select.register.read %entry, %2 \
|
||
: (#select.chain, #select.register) \
|
||
-> (#select.register, #select.chain)
|
||
|
||
%v.3 = arith.build-pair %v.0, %v.1 : (i32, i32) -> i64
|
||
|
||
%v.4 = arith.truncate %v.2 : i64 -> i32
|
||
|
||
%v.5 = arith.mul %v.4, %v.3 : (i32, i32) -> i32
|
||
|
||
%x0 = +select.mach-register @x0 : i32 -> #select.register
|
||
|
||
%c.3, %g.0 = +select.register.write %entry, %x0, %v.5 \
|
||
: (#select.chain, #select.register, i32) \
|
||
-> (#select.chain, #select.glue)
|
||
|
||
%c.4 = *risc-v.RET %c.3, %x0, %g.0 \
|
||
: (#select.chain, #select.register, #select.glue) \
|
||
-> #select.chain
|
||
|
||
+select.graph-root %c.4 : #select.chain
|
||
}
|