mirror of
https://github.com/FEX-Emu/linux.git
synced 2025-02-10 13:28:44 +00:00
![Kyle McMartin](/assets/img/avatar_default.png)
Currently we're hacking libs-y to include libgcc.a, but this has unforeseen consequences since the userspace libgcc is linked with fpregs enabled. We need the kernel to stop using fpregs in an uncontrolled manner to implement lazy fpu state saves. Signed-off-by: Kyle McMartin <kyle@mcmartin.ca>
20 lines
292 B
C
20 lines
292 B
C
#include "libgcc.h"
|
|
|
|
u64 __ashldi3(u64 v, int cnt)
|
|
{
|
|
int c = cnt & 31;
|
|
u32 vl = (u32) v;
|
|
u32 vh = (u32) (v >> 32);
|
|
|
|
if (cnt & 32) {
|
|
vh = (vl << c);
|
|
vl = 0;
|
|
} else {
|
|
vh = (vh << c) + (vl >> (32 - c));
|
|
vl = (vl << c);
|
|
}
|
|
|
|
return ((u64) vh << 32) + vl;
|
|
}
|
|
EXPORT_SYMBOL(__ashldi3);
|