Generate S_ABSDIFF_I32 causing massive failures
- 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
Assessment
This issue has not been assessed yet.