The arm64 might have the same problem but it is currently unable to handle them even in instruction selection. Thanks to Jean Dao for reporting the bug.
27 lines
339 B
Text
27 lines
339 B
Text
# make sure dynamic allocations
|
|
# and caller-save regs interact
|
|
# soundly
|
|
|
|
function $g() {
|
|
@start
|
|
ret
|
|
}
|
|
|
|
function w $f(w %arg) {
|
|
@start
|
|
call $g()
|
|
@alloc
|
|
%r =l alloc8 16
|
|
storel 180388626474, %r
|
|
%r8 =l add 8, %r
|
|
storel 180388626474, %r8
|
|
ret %arg
|
|
}
|
|
|
|
export
|
|
function w $main() {
|
|
@start
|
|
%a =w call $f(w 0)
|
|
%b =w call $f(w 0)
|
|
ret %a
|
|
}
|