[llvm] [SPIR-V] Support `SPV_INTEL_int4` extension (PR #141031)

LLVM Continuous Integration via llvm-commits llvm-commits at lists.llvm.org
Thu May 22 17:56:58 PDT 2025


llvm-ci wrote:

LLVM Buildbot has detected a new failure on builder `llvm-clang-x86_64-expensive-checks-debian` running on `gribozavr4` while building `llvm` at step 6 "test-build-unified-tree-check-all".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/16/builds/19473

<details>
<summary>Here is the relevant piece of the build log for the reference</summary>

```
Step 6 (test-build-unified-tree-check-all) failure: test (failure)
******************** TEST 'LLVM :: CodeGen/SPIRV/extensions/SPV_INTEL_int4/negative.ll' FAILED ********************
Exit Code: 2

Command Output (stderr):
--
/b/1/llvm-clang-x86_64-expensive-checks-debian/build/bin/llc -verify-machineinstrs -O0 -mtriple=spirv32-unknown-unknown --spirv-ext=+SPV_INTEL_arbitrary_precision_integers /b/1/llvm-clang-x86_64-expensive-checks-debian/llvm-project/llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_int4/negative.ll -o - | /b/1/llvm-clang-x86_64-expensive-checks-debian/build/bin/FileCheck /b/1/llvm-clang-x86_64-expensive-checks-debian/llvm-project/llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_int4/negative.ll --check-prefixes=CHECK,CHECK-INT-4 # RUN: at line 1
+ /b/1/llvm-clang-x86_64-expensive-checks-debian/build/bin/FileCheck /b/1/llvm-clang-x86_64-expensive-checks-debian/llvm-project/llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_int4/negative.ll --check-prefixes=CHECK,CHECK-INT-4
+ /b/1/llvm-clang-x86_64-expensive-checks-debian/build/bin/llc -verify-machineinstrs -O0 -mtriple=spirv32-unknown-unknown --spirv-ext=+SPV_INTEL_arbitrary_precision_integers /b/1/llvm-clang-x86_64-expensive-checks-debian/llvm-project/llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_int4/negative.ll -o -
/b/1/llvm-clang-x86_64-expensive-checks-debian/build/bin/llc -O0 -mtriple=spirv32-unknown-unknown /b/1/llvm-clang-x86_64-expensive-checks-debian/llvm-project/llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_int4/negative.ll -o - | /b/1/llvm-clang-x86_64-expensive-checks-debian/build/bin/FileCheck /b/1/llvm-clang-x86_64-expensive-checks-debian/llvm-project/llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_int4/negative.ll --check-prefixes=CHECK,CHECK-INT-8 # RUN: at line 3
+ /b/1/llvm-clang-x86_64-expensive-checks-debian/build/bin/llc -O0 -mtriple=spirv32-unknown-unknown /b/1/llvm-clang-x86_64-expensive-checks-debian/llvm-project/llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_int4/negative.ll -o -
+ /b/1/llvm-clang-x86_64-expensive-checks-debian/build/bin/FileCheck /b/1/llvm-clang-x86_64-expensive-checks-debian/llvm-project/llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_int4/negative.ll --check-prefixes=CHECK,CHECK-INT-8

# After SPIRV pre legalizer
# Machine code for function foo: IsSSA, TracksLiveness

bb.1.entry:
  %2:type(s64) = OpTypeFunction %1:type(s64)
  %7:type(s64) = OpTypeInt 8, 0
  %10:type(s64) = OpTypeFunction %1:type(s64), %7:type(s64)
  %11:type(s64) = OpTypePointer 7, %7:type(s64)
  %1:type(s64) = OpTypeVoid
  %0:iid(s64) = OpFunction %1:type(s64), 0, %2:type(s64)
  OpName %0:iid(s64), 7303014
  OpEntryPoint 6, %0:iid(s64), 7303014
  %12:iid(s8) = G_CONSTANT i4 1
  %4:iid(s8) = ASSIGN_TYPE %12:iid(s8), %7:type(s64)
  %9:iid(s64) = OpFunction %1:type(s64), 0, %10:type(s64)
  %8:iid(s8) = OpFunctionParameter %7:type(s64)
  OpName %9:iid(s64), 7303010
  OpDecorate %9:iid(s64), 41, 7303010, 1
  %3:pid(p0) = G_INTRINSIC_W_SIDE_EFFECTS intrinsic(@llvm.spv.alloca), 1
  G_STORE %4:iid(s8), %3:pid(p0) :: (store (s4) into %ir.0)
  %5:iid(s8) = G_LOAD %3:pid(p0) :: (load (s4) from %ir.0)
  %6:iid(s64) = OpFunctionCall %1:type(s64), @boo, %5:iid(s8)
  OpReturn

# End machine code for function foo.

*** Bad machine code: inconsistent constant size ***
- function:    foo
- basic block: %bb.1 entry (0x9ec9298)
- instruction: %12:iid(s8) = G_CONSTANT i4 1
LLVM ERROR: Found 1 machine code errors.
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
Stack dump:
0.	Program arguments: /b/1/llvm-clang-x86_64-expensive-checks-debian/build/bin/llc -O0 -mtriple=spirv32-unknown-unknown /b/1/llvm-clang-x86_64-expensive-checks-debian/llvm-project/llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_int4/negative.ll -o -
1.	Running pass 'Function Pass Manager' on module '/b/1/llvm-clang-x86_64-expensive-checks-debian/llvm-project/llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_int4/negative.ll'.
2.	Running pass 'Verify generated machine code' on function '@foo'
 #0 0x0000000003946cf7 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/b/1/llvm-clang-x86_64-expensive-checks-debian/build/bin/llc+0x3946cf7)
 #1 0x00000000039447ae llvm::sys::RunSignalHandlers() (/b/1/llvm-clang-x86_64-expensive-checks-debian/build/bin/llc+0x39447ae)
...

```

</details>

https://github.com/llvm/llvm-project/pull/141031


More information about the llvm-commits mailing list