[llvm] [SPIRV] Add OpAccessChain instruction support (PR #66253)

Michal Paszkowski via llvm-commits llvm-commits at lists.llvm.org
Mon Sep 25 00:23:26 PDT 2023


Nathan =?utf-8?q?Gau=C3=ABr?= <brioche at google.com>
Message-ID:
In-Reply-To: <llvm/llvm-project/pull/66253/llvm at github.com>


================
@@ -0,0 +1,21 @@
+; RUN: llc -O0 -mtriple=spirv-unknown-unknown %s -o - | FileCheck %s
+
+; CHECK:      [[uint:%[0-9]+]] = OpTypeInt 32 0
+; CHECK:     [[uint2:%[0-9]+]] = OpTypeVector [[uint]] 2
+; CHECK:    [[uint_1:%[0-9]+]] = OpConstant [[uint]] 1
+; CHECK:  [[ptr_uint:%[0-9]+]] = OpTypePointer Function [[uint]]
+; CHECK: [[ptr_uint2:%[0-9]+]] = OpTypePointer Function [[uint2]]
+
+define void @main() #1 {
+entry:
+  %0 = alloca <2 x i32>, align 4
+; CHECK: [[var:%[0-9]+]] = OpVariable [[ptr_uint2]] Function
+
+  %1 = getelementptr <2 x i32>, ptr %0, i32 0, i32 1
+; CHECK: {{%[0-9]+}} = OpAccessChain [[ptr_uint]] [[var]] [[uint_1]]
+
+  ret void
+}
+
+attributes #1 = { "hlsl.numthreads"="4,8,16" "hlsl.shader"="compute" }
+
----------------
michalpaszkowski wrote:

Please remove the trailing new line (single new line at the end of file).

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


More information about the llvm-commits mailing list