[llvm] [SPIR-V] Lower G_SSHLSAT and G_USHLSAT (PR #206490)

Juan Manuel Martinez CaamaƱo via llvm-commits llvm-commits at lists.llvm.org
Tue Jun 30 01:06:47 PDT 2026


================
@@ -0,0 +1,35 @@
+; RUN: llc -verify-machineinstrs -O0 -mtriple=spirv64-unknown-unknown %s -o - | FileCheck %s
+; RUN: %if spirv-tools %{ llc -O0 -mtriple=spirv64-unknown-unknown %s -o - -filetype=obj | spirv-val %}
+
+; CHECK-DAG: OpName %[[#Foo:]] "foo"
+; CHECK-DAG: OpName %[[#Bar:]] "bar"
+; CHECK: %[[#Foo]] = OpFunction
+; CHECK: %[[#Bar]] = OpFunction
+
+define spir_func void @foo(i16 %x, i16 %y) {
+entry:
+  %r1 = tail call i16 @llvm.sshl.sat.i16(i16 %x, i16 %y)
+  store i16 %r1, ptr @G_r1_foo
+  %r2 = tail call i16 @llvm.ushl.sat.i16(i16 %x, i16 %y)
+  store i16 %r2, ptr @G_r2_foo
----------------
jmmartinez wrote:

Can we check the expansion of these patterns too?

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


More information about the llvm-commits mailing list