intel / intel/llvm

Generate S_ABSDIFF_I32 causing massive failures

Open
#20,592 0 comments 0 reactions 0 assignees View on GitHub
bug hip
Dominant language
LLVM
Stars
1.5k
Forks
854
Avg merge
3d 17h
Merged PRs (30d)
137

Description

### Describe the bug

With https://github.com/intel/llvm/commit/7d14733c12d909e1bdd1499c9557e78565aca4ae , we are seeing massive failures in CI, so this commit is temporarily reverted in pulldown https://github.com/intel/llvm/pull/20551.

Please fix the issue and reland https://github.com/intel/llvm/commit/7d14733c12d909e1bdd1499c9557e78565aca4ae.

eg:
```
FAIL: SYCL :: Basic/built-ins/marray_integer.cpp (245 of 2495)
******************** TEST 'SYCL :: Basic/built-ins/marray_integer.cpp' FAILED ********************
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 1
/__w/llvm/llvm/toolchain/bin/clang++ -Werror -fsycl -fsycl-targets=amdgcn-amd-amdhsa,spir64,nvptx64-nvidia-cuda -Xsycl-target-backend=amdgcn-amd-amdhsa --offload-arch=gfx1030 /__w/llvm/llvm/llvm/sycl/test-e2e/Basic/built-ins/marray_integer.cpp -o /__w/llvm/llvm/build-e2e/Basic/built-ins/Output/marray_integer.cpp.tmp.out
# executed command: /__w/llvm/llvm/toolchain/bin/clang++ -Werror -fsycl -fsycl-targets=amdgcn-amd-amdhsa,spir64,nvptx64-nvidia-cuda -Xsycl-target-backend=amdgcn-amd-amdhsa --offload-arch=gfx1030 /__w/llvm/llvm/llvm/sycl/test-e2e/Basic/built-ins/marray_integer.cpp -o /__w/llvm/llvm/build-e2e/Basic/built-ins/Output/marray_integer.cpp.tmp.out
# .---command stderr------------
# | lld: error: Illegal instruction detected: Operand has incorrect register class.
# | renamable $sgpr0 = S_ABSDIFF_I32 killed renamable $vgpr3, killed renamable $vgpr4, implicit-def dead $scc
# | lld: error: Illegal instruction detected: Operand has incorrect register class.
# | renamable $sgpr2 = S_ABSDIFF_I32 killed renamable $vgpr2, killed renamable $vgpr1, implicit-def dead $scc
# | lld: error: Illegal instruction detected: Operand has incorrect register class.
# | renamable $sgpr0 = S_ABSDIFF_I32 killed renamable $vgpr3, killed renamable $vgpr4, implicit-def dead $scc
# | lld: error: Illegal instruction detected: Operand has incorrect register class.
# | renamable $sgpr2 = S_ABSDIFF_I32 killed renamable $vgpr2, killed renamable $vgpr1, implicit-def dead $scc
# | llvm-foreach:
# | clang++: error: amdgcn-link command failed with exit code 1 (use -v to see invocation)
# `-----------------------------
# error: command failed with exit status: 1
```

### To reproduce

1. Include code snippet as short as possible
2. Specify the command which should be used to compile the program
3. Specify the command which should be used to launch the program
4. Indicate what is wrong and what was expected

### Environment

- OS: [e.g Windows/Linux]
- Target device and vendor: [e.g. AMD GPU]
- DPC++ version: [e.g. commit hash or output of `clang++ --version`]
- Dependencies version: [e.g. the output of `rocm-smi` and `sycl-ls --verbose`]

### Additional context

_No response_

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.