Details
- Reviewers
antiagainst - Commits
- rG8dae0b6b6c9a: [mlir][spirv] arith::RemSIOp OpenCL lowering
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
@antiagainst actually, I have an issue with this Shader/Kernel ops selection approach. I am using AtomicFAddEXT in kernel which depends on SPV_C_AtomicFloat32AddEXT which have implies = [SPV_C_Shader];. Intel L0 drivers can successfully compile and run such kernels but it breaks this entire approach. Do you have any ideas how to handle this properly? As a quick workaround I can manually patch AtomicFloat32AddEXT to remove implies.
I think it's a bug in the upstream JSON grammar. From the spec (https://github.com/KhronosGroup/SPIRV-Registry/blob/main/extensions/EXT/SPV_EXT_shader_atomic_float_add.asciidoc) AtomicFloat32AddEXT/AtomicFloat64AddEXT has no implicit implied capabilities (the table there is malformed though), but the commit to update JSON grammar has (https://github.com/KhronosGroup/SPIRV-Headers/commit/7083cb52e1812201c2d5641306fcbca639c9560f). I'd suggest you to open a pull request to SPIRV-Headers repro to fix this. In the meanwhile, feel free to manually drop the implies in the td files.