Port-sparc64 archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Implementation of VIS C API



Hi, very interesting work, thanks for sharing! I've messed around
with VIS as well as DEC/Alphas equivalent (but limited) instruction
sets. I've recently posted some examples on github, it builds on
Linux with GCC and at least as far as I remember, also on Solaris.
I haven't tested it on NetBSD though. A simple Software renderer
for "old-school" 3D-polygon shader and texture-mapping. It uses VIS
extension to do real-time phong/environment lighting etc.

https://github.com/linmag7/shader3d

Regards

Magnus Lindholm


On Mon, Nov 10, 2025 at 1:12 PM nia <nia%netbsd.org@localhost> wrote:
>
> Hi, recently got interested in SIMD instructions on sparc64.
>
> While GCC provides some builtins, they're both incomplete and
> incompatible with the C API described in "VIS Instruction
> Set User's Manual", published by Sun in 2001.
>
> These builtins are also unavailable in Clang, so writing my
> own implementation (compatible with Sun's) seemed like the best
> path forward. It is compatible with all (known) UltraSparc
> processors - I don't know any that don't implement VIS, although
> they theoretically might exist, NetBSD doesn't support them.
>
> Since I'm a beginner to SIMD programming, the test suite
> I wrote as a learning exercise mostly covers basic packed
> arithmetic.
>
> The complete patch is attached.


Home | Main Index | Thread Index | Old Index