[llvm] [SPIR-V] Add OpSMulExtended and OpUMulExtended builtin support (PR #187474)

via llvm-commits llvm-commits at lists.llvm.org
Thu Apr 16 07:06:58 PDT 2026


github-actions[bot] wrote:

<!--PREMERGE ADVISOR COMMENT: Windows-->
# :window: Windows x64 Test Results

* 133650 tests passed
* 3114 tests skipped
* 1 test failed

## Failed Tests
(click on a test name to see its output)

### LLVM
<details>
<summary>LLVM.CodeGen/SPIRV/smulextended-builtin.ll</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 1
c:\_work\llvm-project\llvm-project\build\bin\llc.exe -verify-machineinstrs -O0 -mtriple=spirv64-unknown-unknown C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\SPIRV\smulextended-builtin.ll -o - | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\SPIRV\smulextended-builtin.ll --check-prefix=CHECK-SPIRV
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\llc.exe' -verify-machineinstrs -O0 -mtriple=spirv64-unknown-unknown 'C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\SPIRV\smulextended-builtin.ll' -o -
# note: command had no output on stdout or stderr
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe' 'C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\SPIRV\smulextended-builtin.ll' --check-prefix=CHECK-SPIRV
# .---command stderr------------
# | C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\SPIRV\smulextended-builtin.ll:27:51: error: undefined variable: uint
# | ; CHECK-SPIRV: [[#a_s:]] = OpFunctionParameter [[#uint]]
# |                                                   ^
# | <stdin>:71:2: note: possible intended match here
# |  %29 = OpFunctionParameter %9
# |  ^
# | 
# | Input file: <stdin>
# | Check file: C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\SPIRV\smulextended-builtin.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |             .
# |             .
# |             .
# |            61:  %20 = OpTypeFunction %12 %9 %9 
# |            62:  %21 = OpTypeInt 64 0 
# |            63:  %22 = OpTypeStruct %21 %21 
# |            64:  %23 = OpTypeFunction %22 %21 %21 
# |            65:  %24 = OpTypeVector %9 4 
# |            66:  %25 = OpTypeStruct %24 %24 
# | check:27'0                                X error: match failed for invalid pattern
# | check:27'1                                  undefined variable: uint
# |            67:  %26 = OpTypeFunction %25 %24 %24 
# | check:27'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            68:  %27 = OpTypeFunction %12 %9 
# | check:27'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            69:  %30 = OpFunction %10 None %11 ; -- Begin function test_builtin_smulext_sret 
# | check:27'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            70:  %28 = OpFunctionParameter %9 
# | check:27'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            71:  %29 = OpFunctionParameter %9 
# | check:27'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:27'2      ?                             possible intended match
# |            72:  %2 = OpLabel 
# | check:27'0     ~~~~~~~~~~~~~~
# |            73:  %31 = OpVariable %13 Function  
# | check:27'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            74:  %32 = OpSMulExtended %12 %28 %29 
# | check:27'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            75:  OpStore %31 %32  
# | check:27'0     ~~~~~~~~~~~~~~~~~~
# |            76:  OpReturn 
# | check:27'0     ~~~~~~~~~~
# |             .
# |             .
# |             .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

```
</details>

If these failures are unrelated to your changes (for example tests are broken or flaky at HEAD), please open an issue at https://github.com/llvm/llvm-project/issues and add the `infrastructure` label.

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


More information about the llvm-commits mailing list