brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.3 KiB · 6914f4f Raw
27 lines · plain
1; RUN: llc -verify-machineinstrs -O0 -mtriple=spirv64-unknown-unknown %s -o - | FileCheck %s2; RUN: %if spirv-tools %{ llc -O0 -mtriple=spirv64v1.2-unknown-unknown %s -o - -filetype=obj | spirv-val --target-env opencl2.2 %}3 4; CHECK-DAG: %[[#U8:]] = OpTypeInt 8 05; CHECK-DAG: %[[#U32:]] = OpTypeInt 32 06 7; CHECK-DAG: %[[#TYPE:]] = OpTypePointer CrossWorkgroup %[[#U8]]8; CHECK-DAG: %[[#VAL:]] = OpConstantNull %[[#TYPE]]9; CHECK-DAG: %[[#VTYPE:]] = OpTypePointer CrossWorkgroup %[[#TYPE]]10; CHECK-DAG: %[[#PTR:]] = OpVariable %[[#VTYPE]] CrossWorkgroup %[[#VAL]]11@Ptr = addrspace(1) global ptr addrspace(1) null12 13; CHECK-DAG: %[[#VAL:]] = OpConstant %[[#U32]] 12314; CHECK-DAG: %[[#VTYPE:]] = OpTypePointer UniformConstant %[[#U32]]15; CHECK-DAG: %[[#INIT:]] = OpVariable %[[#VTYPE]] UniformConstant %[[#VAL]]16@Init = private addrspace(2) constant i32 12317 18define internal spir_func void @Foo() {19  ; CHECK: %[[#]] = OpLoad %[[#]] %[[#PTR]] Aligned 820  %l = load ptr addrspace(1), ptr addrspace(1) @Ptr, align 821  ; CHECK: OpCopyMemorySized %[[#]] %[[#INIT]] %[[#]] Aligned 422  call void @llvm.memcpy.p1.p2.i64(ptr addrspace(1) align 4 %l, ptr addrspace(2) align 1 @Init, i64 4, i1 false)23  ret void24}25 26declare void @llvm.memcpy.p1.p2.i64(ptr addrspace(1) noalias nocapture writeonly, ptr addrspace(2) noalias nocapture readonly, i64, i1 immarg)27