-
Notifications
You must be signed in to change notification settings - Fork 309
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
8-wide target for Skylake #1308
Comments
Last time I check LLVM status, they were not ready to produce 256bit AVX512 code. It was about half a year ago. I need to check current status. |
ISPC v1.11 introduced the
|
Do you have steps to reproduce these fails?
Is it failing sometimes, not always? What you tried trunk version? It's available to download, links are on the bottom of README of ISPC repo (Windows may not work temporarily, but Linux should work). |
@johguenther Do you observe this problem with current ispc version (v1.17.0)? Should we close this issue? |
I've also experienced a similar issue when trying to use the test.ispc: struct Sampler {
varying float (*uniform computeSample_varying)(const Sampler *uniform _self);
};
varying float computeSample(const Sampler *uniform self)
{
return 1.f;
}
export void func_call_with_ptr(void *uniform _sampler)
{
Sampler *uniform sampler = (Sampler *uniform) _sampler;
sampler->computeSample_varying = computeSample;
} Failure case with multiple targets:
These cases succeed:
So the issue seems to only occur when combining the It would be useful if this could be fixed, as we want to be able to compile a single 8-wide ISPC library with |
I can reproduce it. @gregjohnson thanks a lot for the reproducer. |
Thanks! |
For some workloads it is faster to use 8-wide SIMD on Skylake (due to the lower frequency when using 16-wide SIMD). Thus, are there plans to add e.g. a
avx512skx-i32x8
target (which makes use of the AVX-512 VL instructions)?The text was updated successfully, but these errors were encountered: