llvm / llvm/offload-test-suite
[Metal][Clang] `WaveActiveSum.fp32` fails on macOS Metal Clang but passes on macOS Metal DXC
@bob80905 is already working on this.
Since Jan 26, 2026.
- Dominant language
- C++
- Stars
- 18
- Forks
- 39
- Avg merge
- 2d 18h
- Merged PRs (30d)
- 40
Description
The `WaveActiveSum.fp32` test fails on macOS Metal Clang but passes on macOS Metal DXC.
```
╭───┬──────────────────────┬─────────────┬───────────────────┬────────┬─────────────────────────────────╮
│ # │ timestamp │ run-id │ workflow │ status │ test │
├───┼──────────────────────┼─────────────┼───────────────────┼────────┼─────────────────────────────────┤
│ 0 │ 2025-11-28T23:07:22Z │ 19775436498 │ macOS Metal DXC │ PASS │ WaveOps/WaveActiveSum.fp32.test │
│ 1 │ 2025-11-28T23:05:58Z │ 19775415943 │ macOS Metal Clang │ XFAIL │ WaveOps/WaveActiveSum.fp32.test │
╰───┴──────────────────────┴─────────────┴───────────────────┴────────┴─────────────────────────────────╯
```
Logs: https://github.com/llvm/offload-test-suite/actions/runs/19841117939/job/56849629894#step:12:2519
```
********************
FAIL: OffloadTest-clang-mtl :: WaveOps/WaveActiveSum.fp32.test (278 of 294)
******************** TEST 'OffloadTest-clang-mtl :: WaveOps/WaveActiveSum.fp32.test' FAILED ********************
Exit Code: 1
Command Output (stdout):
--
Signed DxilContainer written to "/var/folders/zv/v734td6n3_3fl4qmc2hcdkcc0000gn/T/lit-tmp-4yrhm586/source-bd4b98.dxo"
Validation succeeded.Using Metal API
Created compute commands.
--
Command Output (stderr):
--
/Users/cbieneman/actions-runner/_work/offload-test-suite/offload-test-suite/llvm-project/build/bin/split-file /Users/cbieneman/actions-runner/_work/offload-test-suite/offload-test-suite/OffloadTest/test/WaveOps/WaveActiveSum.fp32.test /Users/cbieneman/actions-runner/_work/offload-test-suite/offload-test-suite/llvm-project/build/tools/OffloadTest/test/clang-mtl/WaveOps/Output/WaveActiveSum.fp32.test.tmp # RUN: at line 183
+ /Users/cbieneman/actions-runner/_work/offload-test-suite/offload-test-suite/llvm-project/build/bin/split-file /Users/cbieneman/actions-runner/_work/offload-test-suite/offload-test-suite/OffloadTest/test/WaveOps/WaveActiveSum.fp32.test /Users/cbieneman/actions-runner/_work/offload-test-suite/offload-test-suite/llvm-project/build/tools/OffloadTest/test/clang-mtl/WaveOps/Output/WaveActiveSum.fp32.test.tmp
/Users/cbieneman/actions-runner/_work/offload-test-suite/offload-test-suite/llvm-project/build/bin/clang-dxc -metal --dxv-path=/Users/cbieneman/actions-runner/_work/offload-test-suite/offload-test-suite/DXC/build/bin -T cs_6_5 -Fo /Users/cbieneman/actions-runner/_work/offload-test-suite/offload-test-suite/llvm-project/build/tools/OffloadTest/test/clang-mtl/WaveOps/Output/WaveActiveSum.fp32.test.tmp.o /Users/cbieneman/actions-runner/_work/offload-test-suite/offload-test-suite/llvm-project/build/tools/OffloadTest/test/clang-mtl/WaveOps/Output/WaveActiveSum.fp32.test.tmp/source.hlsl # RUN: at line 184
+ /Users/cbieneman/actions-runner/_work/offload-test-suite/offload-test-suite/llvm-project/build/bin/clang-dxc -metal --dxv-path=/Users/cbieneman/actions-runner/_work/offload-test-suite/offload-test-suite/DXC/build/bin -T cs_6_5 -Fo /Users/cbieneman/actions-runner/_work/offload-test-suite/offload-test-suite/llvm-project/build/tools/OffloadTest/test/clang-mtl/WaveOps/Output/WaveActiveSum.fp32.test.tmp.o /Users/cbieneman/actions-runner/_work/offload-test-suite/offload-test-suite/llvm-project/build/tools/OffloadTest/test/clang-mtl/WaveOps/Output/WaveActiveSum.fp32.test.tmp/source.hlsl
/Users/cbieneman/actions-runner/_work/offload-test-suite/offload-test-suite/llvm-project/build/bin/offloader -debug-layer /Users/cbieneman/actions-runner/_work/offload-test-suite/offload-test-suite/llvm-project/build/tools/OffloadTest/test/clang-mtl/WaveOps/Output/WaveActiveSum.fp32.test.tmp/pipeline.yaml /Users/cbieneman/actions-runner/_work/offload-test-suite/offload-test-suite/llvm-project/build/tools/OffloadTest/test/clang-mtl/WaveOps/Output/WaveActiveSum.fp32.test.tmp.o # RUN: at line 185
+ /Users/cbieneman/actions-runner/_work/offload-test-suite/offload-test-suite/llvm-project/build/bin/offloader -debug-layer /Users/cbieneman/actions-runner/_work/offload-test-suite/offload-test-suite/llvm-project/build/tools/OffloadTest/test/clang-mtl/WaveOps/Output/WaveActiveSum.fp32.test.tmp/pipeline.yaml /Users/cbieneman/actions-runner/_work/offload-test-suite/offload-test-suite/llvm-project/build/tools/OffloadTest/test/clang-mtl/WaveOps/Output/WaveActiveSum.fp32.test.tmp.o
2025-12-01 17:40:45.010 offloader[95751:556689300] *** -[NSAutoreleasePool addObject:]: Do not use this instance method on specific pools -- just use -autorelease instead.
Test failed: ExpectedOut2
Comparison Rule: BufferExact
Expected:
---
Name: ExpectedOut2
Format: Float32
Stride: 16
Data: [ 1, 10, 0, 0, 2, 20, 0, 0, 3, 30, 0, 0, 4, 40, 0, 0 ]
OutputProps:
Height: 0
Width: 0
Depth: 0
...
Got:
---
Name: Out2
Format: Float32
Stride: 16
Data: [ 4, 10, 0, 0, 4, 20, 0, 0, 4, 30, 0, 0, 4, 40, 0, 0 ]
OutputProps:
Height: 0
Width: 0
Depth: 0
...
Full Hex 64bit representation of Expected Buffer Values:
[ 0x1, 0x10, 0x0, 0x0, 0x2, 0x20, 0x0, 0x0, 0x3, 0x30, 0x0, 0x0, 0x4, 0x40, 0x0, 0x0 ]
Full Hex 64bit representation of Actual Buffer Values:
[ 0x4, 0x10, 0x0, 0x0, 0x4, 0x20, 0x0, 0x0, 0x4, 0x30, 0x0, 0x0, 0x4, 0x40, 0x0, 0x0 ]
Test failed: ExpectedOut3
Comparison Rule: BufferExact
Expected:
---
Name: ExpectedOut3
Format: Float32
Stride: 16
Data: [ 1, 10, 100, 0, 2, 20, 200, 0, 3, 30, 300, 0, 4, 40,
400, 0 ]
OutputProps:
Height: 0
Width: 0
Depth: 0
...
Got:
---
Name: Out3
Format: Float32
Stride: 16
Data: [ 4, 40, 100, 0, 4, 40, 200, 0, 4, 40, 300, 0, 4, 40,
400, 0 ]
OutputProps:
Height: 0
Width: 0
Depth: 0
...
Full Hex 64bit representation of Expected Buffer Values:
[ 0x1, 0x10, 0x100, 0x0, 0x2, 0x20, 0x200, 0x0, 0x3, 0x30, 0x300, 0x0, 0x4, 0x40, 0x400, 0x0 ]
Full Hex 64bit representation of Actual Buffer Values:
[ 0x4, 0x40, 0x100, 0x0, 0x4, 0x40, 0x200, 0x0, 0x4, 0x40, 0x300, 0x0, 0x4, 0x40, 0x400, 0x0 ]
Test failed: ExpectedOut4
Comparison Rule: BufferExact
Expected:
---
Name: ExpectedOut4
Format: Float32
Stride: 16
Data: [ 1, 10, 100, 1000, 2, 20, 200, 2000, 3, 30, 300, 3000,
4, 40, 400, 4000 ]
OutputProps:
Height: 0
Width: 0
Depth: 0
...
Got:
---
Name: Out4
Format: Float32
Stride: 16
Data: [ 4, 40, 400, 1000, 4, 40, 400, 2000, 4, 40, 400, 3000,
4, 40, 400, 4000 ]
OutputProps:
Height: 0
Width: 0
Depth: 0
...
Full Hex 64bit representation of Expected Buffer Values:
[ 0x1, 0x10, 0x100, 0x1000, 0x2, 0x20, 0x200, 0x2000, 0x3, 0x30, 0x300, 0x3000, 0x4, 0x40, 0x400, 0x4000 ]
Full Hex 64bit representation of Actual Buffer Values:
[ 0x4, 0x40, 0x400, 0x1000, 0x4, 0x40, 0x400, 0x2000, 0x4, 0x40, 0x400, 0x3000, 0x4, 0x40, 0x400, 0x4000 ]
```
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.