diff options
author | Kaitlin Peng <kaitlinpeng@microsoft.com> | 2025-03-28 21:47:25 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-03-29 00:47:25 -0400 |
commit | 40c1d50024f8f0306b8601559d69663ae3d2d9bb (patch) | |
tree | c41ae33a4f2d49d8328ed6cd5db0d6f3e8aed924 /llvm/lib/CodeGen | |
parent | 1e03408d4b17a792da5fd01b30f05ff055cfbd79 (diff) | |
download | llvm-40c1d50024f8f0306b8601559d69663ae3d2d9bb.zip llvm-40c1d50024f8f0306b8601559d69663ae3d2d9bb.tar.gz llvm-40c1d50024f8f0306b8601559d69663ae3d2d9bb.tar.bz2 |
[HLSL] Implement the `smoothstep` intrinsic (#132288)
Closes #99156.
Tasks completed:
- Implement `smoothstep` using HLSL source in `hlsl_intrinsics.h`
- Implement the `smoothstep` SPIR-V target built-in in
`clang/include/clang/Basic/BuiltinsSPIRV.td`
- Add sema checks for `smoothstep` to `CheckSPIRVBuiltinFunctionCall` in
`clang/lib/Sema/SemaSPIRV.cpp`
- Add codegen for spv `smoothstep` to `EmitSPIRVBuiltinExpr` in
`clang/lib/CodeGen/TargetBuiltins/SPIR.cpp`
- Add codegen tests to `clang/test/CodeGenHLSL/builtins/smoothstep.hlsl`
- Add spv codegen test to
`clang/test/CodeGenSPIRV/Builtins/smoothstep.c`
- Add sema tests to
`clang/test/SemaHLSL/BuiltIns/smoothstep-errors.hlsl`
- Add spv sema tests to
`clang/test/SemaSPIRV/BuiltIns/smoothstep-errors.c`
- Create the `int_spv_smoothstep` intrinsic in `IntrinsicsSPIRV.td`
- In SPIRVInstructionSelector.cpp create the `smoothstep` lowering and
map it to `int_spv_smoothstep` in
`SPIRVInstructionSelector::selectIntrinsic`
- Create SPIR-V backend test case in
`llvm/test/CodeGen/SPIRV/hlsl-intrinsics/smoothstep.ll`
- Create SPIR-V backend test case in
`llvm/test/CodeGen/SPIRV/opencl/smoothstep.ll`
Diffstat (limited to 'llvm/lib/CodeGen')
0 files changed, 0 insertions, 0 deletions