ravenslofty / ps2-clang-patches Goto Github PK
View Code? Open in Web Editor NEWA port of LLVM to the PS2. Early stages; help appreciated.
A port of LLVM to the PS2. Early stages; help appreciated.
The EE Core has a SIMD-ish extension called Multimedia Instructions.
It is quite an eclectic mix, and I would have to go through it in more detail to see what can be done.
Although it has 64-bit addition/subtraction, it doesn't have a 64-bit multiply/divide unit, which is frustrating.
The EE Core has multiple pipelines (it's 2-way superscalar), but it requires the programmer to manually emit (INSN)1 opcodes to harness the otherwise dormant second pipeline. Perhaps a routine for 64-bit multiply can be produced using both multiply pipelines together.
The PS2's FPU behaves in a distinctly non-IEEE 754 fashion; there are no traps (this can be fixed by checking flags, perhaps), a fixed rounding mode (truncation), no NaNs or infinities, and all of it is single-precision.
I've already had to break the N32 ABI by setting long double
to be equal to 64-bit double
, when the ABI calls for 128-bit long double
. I don't think this will meaningfully affect anybody's code though.
The EE can use VU0 through the coprocessor 2 interface to give it upper or lower instructions. This isn't quite as efficient as using VU0 in micro mode, but it's also much more convenient; perhaps Clang could autovectorise it?
I don't know how much effort it will be to ensure Clang doesn't emit these instructions for atomic locking on a single core CPU.
Hello! I'm exploring creating a bare bones PS2 Linux distro that can run off a disc without requiring FMCB or a modchip. The main thing I'm looking for is a compiler that will actually run on the PS2 so it can actually be used for writing new software without depending on cross-compilation, could this project do that?
I'm planning to base it on Maximus32's 3.8 kernel since it's the newest I've found.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.