Skip to content

Add double-pumped neon-i8x32 and neon-i16x16 ISAs, new Cortex and Apple CPUs #42

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
May 23, 2025

Conversation

MarijnS95
Copy link
Contributor

These were added in the 1.26 release. Also improve some existing deprecation notices to list when they were deprecated, now that we know the actual version in which that happened. Some "pending" deprecations weren't pushed through in 1.26 nor 1.27 though.

@MarijnS95
Copy link
Contributor Author

https://github.com/ispc/ispc/releases/tag/v1.27.0 seems to have received some new AVX targets as well, perhaps those should be added.

… Apple CPUs

These were added in [the 1.26 release].  Also improve some existing
deprecation notices to list _when_ they were deprecated, now that
we know the actual version in which that happened.  Some "pending"
deprecations weren't pushed through in 1.26 nor 1.27 though.

[the 1.26 release]: https://github.com/ispc/ispc/releases/tag/v1.26.0
@MarijnS95
Copy link
Contributor Author

We should most likely also add all the new generic-xx targets introduced in 1.26.

Copy link
Owner

@Twinklebear Twinklebear left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @MarijnS95 ! If you want to add the other ISAs or flags I'm happy to review PRs, my wife and I just had our first baby recently though so I likely won't be making direct contributions to most side projects for a bit

@Twinklebear Twinklebear merged commit 85760c2 into Twinklebear:master May 23, 2025
3 checks passed
@MarijnS95 MarijnS95 deleted the opt-update branch May 24, 2025 08:56
@MarijnS95
Copy link
Contributor Author

@Twinklebear congrats, awesome! Enjoy your precious time!

I'll happily PR more flags, but want it to be driven by some benchmarking on our end. We're seeing heavy slowdowns on Apple devices and believe it is because of missing these flags but I need a more digestible benchmark in https://github.com/Traverse-Research/intel-tex-rs-2 similar to what we have in https://github.com/Traverse-Research/ispc-downsampler.

Then I can also experiment with migrating to those generic flags :)

@MarijnS95
Copy link
Contributor Author

Using generic arguments appears to not really be implemented yet, and/or makes it impossible to correctly select what CPU and ISA to target (https://github.com/ispc/ispc/blob/381723518e6673f21d86a8c411f2be6b86449b9e/src/ispc.cpp#L2840-L2854):

  cargo:warning=(ISPC) /private/tmp/ispc-20250516-7919-9wqsh8/ispc-1.27.0/src/ispc.cpp(2853): FATAL ERROR: Ubiqutous target in TargetToISA()

This only works when selecting one specific Target ISA and setting a CPU.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants