[ESIMD] Improve simd::replicate API#3782
Conversation
|
I think we can keep the first two (simple) versions of
Otherwise, it becomes too much of a boilerplate to type. |
|
We discussed that with @rolandschulz and @kbobrovs and agreed that this way would be too verbose. |
|
I updated the PR according to what we agreed. llvm-test-suite patch is in progress. |
ee5960d to
d445b04
Compare
Co-authored-by: kbobrovs <Konstantin.S.Bobrovsky@intel.com>
d445b04 to
ac7bca9
Compare
kbobrovs
left a comment
There was a problem hiding this comment.
@DenisBakhvalov, please add E2E test to llvm-test-suite too.
|
@rolandschulz, we've got informal approval from you when discussing it, but a formal one here from you would be appreciated. |
|
@rolandschulz, merging this one - let us know if you have comments. |
- Split FloatConversionsINTEL (6215) into FloatConversionsFtoFINTEL (6215) and FloatConversionsFtoSINTEL (6216). - Drop OpClampConvertFToFINTEL and OpClampStochasticRoundFToFINTEL. Their behavior is now expressed as OpFConvert / OpStochasticRoundFToFINTEL decorated with SaturatedToLargestFloat8NormalConversionEXT (fp8) or unconditionally clamped (fp4). - Drop ClampConvert\*ToE2M1INTEL builtins - fp4 saturation is unconditional, so they collapse into Convert*ToE2M1INTEL. Spec: https://github.com/intel/llvm/blob/sycl/sycl/doc/design/spirv-extensions/SPV_INTEL_fp_conversions.asciidoc AI-assisted: Claude Opus 4.7 (commercial SaaS) Original commit: KhronosGroup/SPIRV-LLVM-Translator@8edb4243a4be261
This patch deprecates two error-prone versions of
simd::replicateAPI:auto v0_rep = v0.replicate<2, 4, 2>(1);auto v0_rep = v0.replicate<2, 4, 2, 2>(1);To replace them, we introduce a struct of compile-time arguments, which user can fill with: