sparc ABI issue - structure returning from function is returned
in 64bit registers Fixes: #52638
This commit is contained in:
parent
fefe81605d
commit
051eddd9a9
|
@ -57,16 +57,7 @@ fn classify_ret_ty<'a, Ty, C>(cx: C, ret: &mut ArgType<'a, Ty>)
|
||||||
let size = ret.layout.size;
|
let size = ret.layout.size;
|
||||||
let bits = size.bits();
|
let bits = size.bits();
|
||||||
if bits <= 256 {
|
if bits <= 256 {
|
||||||
let unit = if bits <= 8 {
|
let unit = Reg::i64();
|
||||||
Reg::i8()
|
|
||||||
} else if bits <= 16 {
|
|
||||||
Reg::i16()
|
|
||||||
} else if bits <= 32 {
|
|
||||||
Reg::i32()
|
|
||||||
} else {
|
|
||||||
Reg::i64()
|
|
||||||
};
|
|
||||||
|
|
||||||
ret.cast_to(Uniform {
|
ret.cast_to(Uniform {
|
||||||
unit,
|
unit,
|
||||||
total: size
|
total: size
|
||||||
|
|
Loading…
Reference in New Issue