This will be useful to avoid the bit-casting noise
required to extend support for Floating Point
Operations in atomic optimizer for DPP in D156301
Details
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
Did you run the clang tests? I expect this would break the builtin test
llvm/test/CodeGen/AMDGPU/llvm.amdgcn.update.dpp.ll | ||
---|---|---|
114 | Add tests with the different immediate operands exercised |
llvm/lib/Target/AMDGPU/VOP1Instructions.td | ||
---|---|---|
1215–1221 | Can factor this into a pattern class and just instantiate twice |
llvm/lib/Target/AMDGPU/VOP1Instructions.td | ||
---|---|---|
1215–1216 | In a follow on, can/should handle all the legal types (v2i16 and v2f16 are easy, i16/f16 are potentially a little more work) | |
llvm/test/CodeGen/AMDGPU/llvm.amdgcn.update.dpp.ll | ||
219 | Nit: drop the call site attributes and use true/false instead of i1 0/1 |
As a follow on could have AMDGPUInstCombineIntrinsic try to fold bitcasts in
llvm/include/llvm/IR/IntrinsicsAMDGPU.td | ||
---|---|---|
2180 | this shouldn't break any existing clients, a name mangling param was needed anyway |
llvm/include/llvm/IR/IntrinsicsAMDGPU.td | ||
---|---|---|
2180 | Are you referring to clients like LLPC ? Is there any way to make sure that its not breaking any of the clients ? |
llvm/test/CodeGen/AMDGPU/llvm.amdgcn.update.dpp.ll | ||
---|---|---|
219 | test nit not done |
this shouldn't break any existing clients, a name mangling param was needed anyway