summaryrefslogtreecommitdiff
path: root/source
diff options
context:
space:
mode:
Diffstat (limited to 'source')
-rw-r--r--source/slang/core.meta.slang45
1 files changed, 45 insertions, 0 deletions
diff --git a/source/slang/core.meta.slang b/source/slang/core.meta.slang
index 631c09d19..a8badc05a 100644
--- a/source/slang/core.meta.slang
+++ b/source/slang/core.meta.slang
@@ -2255,6 +2255,51 @@ bool and(bool v0, bool v1)
return __and(v0, v1);
}
+[__unsafeForceInlineEarly]
+[OverloadRank(-10)]
+__intrinsic_op($(kIROp_And))
+vector<bool, N> and<let N : int>(vector<bool, N> v0, vector<bool, N> v1);
+
+[__unsafeForceInlineEarly]
+[OverloadRank(-10)]
+vector<bool, N> and<let N : int>(bool b, vector<bool, N> v)
+{
+ return and(vector<bool, N>(b), v);
+}
+
+[__unsafeForceInlineEarly]
+[OverloadRank(-10)]
+vector<bool, N> and<let N : int>(vector<bool, N> v, bool b)
+{
+ return and(v, vector<bool, N>(b));
+}
+
+[__unsafeForceInlineEarly]
+[OverloadRank(-10)]
+bool or(bool v0, bool v1)
+{
+ return __or(v0, v1);
+}
+
+[__unsafeForceInlineEarly]
+[OverloadRank(-10)]
+__intrinsic_op($(kIROp_Or))
+vector<bool, N> or<let N : int>(vector<bool, N> v0, vector<bool, N> v1);
+
+[__unsafeForceInlineEarly]
+[OverloadRank(-10)]
+vector<bool, N> or<let N : int>(bool b, vector<bool, N> v)
+{
+ return or(vector<bool, N>(b), v);
+}
+
+[__unsafeForceInlineEarly]
+[OverloadRank(-10)]
+vector<bool, N> or<let N : int>(vector<bool, N> v, bool b)
+{
+ return or(v, vector<bool, N>(b));
+}
+
__generic<T : ILogical>
[__unsafeForceInlineEarly]
[OverloadRank(-10)]