summaryrefslogtreecommitdiffstats
path: root/source/slang/slang-ir-peephole.cpp
diff options
context:
space:
mode:
authorYong He <yonghe@outlook.com>2024-02-02 22:04:40 -0800
committerGitHub <noreply@github.com>2024-02-02 22:04:40 -0800
commitc15e7ade4e27e1649d5b98f5854e9e52bb9e60ae (patch)
tree22082fda85b2b25eec36da8c4505de7b6cb987fc /source/slang/slang-ir-peephole.cpp
parenta67cb0609587c230746b52567ff5775cab215220 (diff)
Atomics+Wave ops intrinsics fixes. (#3542)
* Fix atomics intrinsics, increase kMaxDescriptorSets. * Add SPIRVASM to known non-differentiable insts. * Support fp16 wave ops when targeting glsl. * Fixes. * Fix vk validation errors. * Fix. * Add to allowed failures.
Diffstat (limited to 'source/slang/slang-ir-peephole.cpp')
-rw-r--r--source/slang/slang-ir-peephole.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/source/slang/slang-ir-peephole.cpp b/source/slang/slang-ir-peephole.cpp
index 22bcafdf4..fb67c6842 100644
--- a/source/slang/slang-ir-peephole.cpp
+++ b/source/slang/slang-ir-peephole.cpp
@@ -983,6 +983,7 @@ struct PeepholeContext : InstPassBase
}
case kIROp_IsInt:
case kIROp_IsFloat:
+ case kIROp_IsHalf:
case kIROp_IsUnsignedInt:
case kIROp_IsSignedInt:
case kIROp_IsBool:
@@ -1009,6 +1010,9 @@ struct PeepholeContext : InstPassBase
case kIROp_IsFloat:
result = isFloatingType(type);
break;
+ case kIROp_IsHalf:
+ result = type->getOp() == kIROp_HalfType;
+ break;
case kIROp_IsUnsignedInt:
result = isIntegralType(type) && !getIntTypeInfo(type).isSigned;
break;