diff options
| author | jsmall-nvidia <jsmall@nvidia.com> | 2021-12-03 10:19:19 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-12-03 10:19:19 -0500 |
| commit | f4b86ff23c825f5e776a401f89302bfcd358aae8 (patch) | |
| tree | 460942f9640fa7babafbf937f26cc7f299725a33 /tests | |
| parent | 80ff45f095db5a08db264921fda2db210788d529 (diff) | |
U/Int64 coverage on slang-llvm JIT (#2040)
* #include an absolute path didn't work - because paths were taken to always be relative.
* Update slang-llvm dependencies.
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/hlsl-intrinsic/scalar-int64.slang | 15 | ||||
| -rw-r--r-- | tests/hlsl-intrinsic/scalar-int64.slang.expected.txt | 6 | ||||
| -rw-r--r-- | tests/hlsl-intrinsic/scalar-uint64.slang | 17 | ||||
| -rw-r--r-- | tests/hlsl-intrinsic/scalar-uint64.slang.expected.txt | 8 |
4 files changed, 34 insertions, 12 deletions
diff --git a/tests/hlsl-intrinsic/scalar-int64.slang b/tests/hlsl-intrinsic/scalar-int64.slang index 17ab4a9f9..68f3c4da9 100644 --- a/tests/hlsl-intrinsic/scalar-int64.slang +++ b/tests/hlsl-intrinsic/scalar-int64.slang @@ -20,10 +20,21 @@ void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID) ti += max(2, idx); ti += min(idx, 1); ti += abs(idx - 2); - ti += (idx * 3) % 5; - ti += clamp(idx * 10, 11, 23); + // Math + ti = ti - idx; + ti = ti + (ti % (idx + 5)); + ti = ti + (ti / (idx + 20)); + + // Logical ops + ti = ti | idx; + ti = ti ^ (idx & (idx + 1)); + + // Shift + ti = ti + (idx >> 1); + ti = ti + (idx << 2); + int64_t v = (ti * 0x400010035435435ll) / 3ll + 7ll - 9ll; outputBuffer[idx] = int(v) ^ int(((v >> 32) & 0xffffffff)); diff --git a/tests/hlsl-intrinsic/scalar-int64.slang.expected.txt b/tests/hlsl-intrinsic/scalar-int64.slang.expected.txt index 6ca5a87e0..d98a04780 100644 --- a/tests/hlsl-intrinsic/scalar-int64.slang.expected.txt +++ b/tests/hlsl-intrinsic/scalar-int64.slang.expected.txt @@ -1,4 +1,4 @@ 1E50A006 -2793FF3D -8A1AA9A7 -ED76E236 +68D74A70 +3CA14012 +FB81B54E diff --git a/tests/hlsl-intrinsic/scalar-uint64.slang b/tests/hlsl-intrinsic/scalar-uint64.slang index f195f17f2..089a756fa 100644 --- a/tests/hlsl-intrinsic/scalar-uint64.slang +++ b/tests/hlsl-intrinsic/scalar-uint64.slang @@ -19,13 +19,24 @@ void computeMain(uint3 dispatchThreadID : SV_DispatchThreadID) uint64_t ti = 0; ti += max(2, idx); - ti += min(idx, 1ull); - ti += (idx * 3) % 5; - + ti += min(idx, 1ull); ti += clamp(idx * 10, 11, 23); ti += countbits(idx * 13); + // Math + ti = ti - idx; + ti = ti + (ti % (idx + 5)); + ti = ti + (ti / (idx + 20)); + + // Logical ops + ti = ti | idx; + ti = ti ^ (idx & (idx + 1)); + + // Shift + ti = ti + (idx >> 1); + ti = ti + (idx << 2); + uint64_t v = uint64_t(ti) * 0x8000100354354354ull; // Let's check all the bits make it uint64_t u = v | 0x8000000000000000ull; diff --git a/tests/hlsl-intrinsic/scalar-uint64.slang.expected.txt b/tests/hlsl-intrinsic/scalar-uint64.slang.expected.txt index d3843ea52..460172e38 100644 --- a/tests/hlsl-intrinsic/scalar-uint64.slang.expected.txt +++ b/tests/hlsl-intrinsic/scalar-uint64.slang.expected.txt @@ -1,4 +1,4 @@ -C6B4BB6F -142802D2 -619FA985 -34A0408 +C3553575 +B9320367 +ABB0EB5F +49FF9F5F |
