Displaying 1 result from an estimated 1 matches for "foo_arg".
Did you mean:
foo_all
2016 Oct 19
4
[Sparc] vararg double issue on 32 bit Sparc processors
...around the "double" va_arg instruction does work:
define void @foo(i32 %v, i8* %ap) local_unnamed_addr {
entry:
%ap.addr = alloca i8*, align 4
store i8* %ap, i8** %ap.addr, align 4
%0 = va_arg i8** %ap.addr, i64
%conv = trunc i64 %0 to i32
store i32 %conv, i32* @foo_arg, align 4
%1 = va_arg i8** %ap.addr, double
%2 = load i32, i32* @foo_arg, align 4
...
I had been attempting to make various changes to SparcISelLowering.cpp to try to simulate something similar where the code is output, but I don't feel as though I'm heading in the right directi...