/
redgpu
/
clspv
Обзор
Документация
Войти
/
redgpu
/
clspv
Код
Запросы
0
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
test/Int8/simple_kernel.cl
33 строки
2 KB
alan-baker
Change default of -cluster-pod-kernel-args (#554)
08 апр 2020, 03:37
Не верифицирован
08 апр 2020, 03:37
374ce1a
Код
Авторство
О чём код?
// RUN: clspv %s -o %t.spv -int8 -no-inline-single // RUN: spirv-dis -o %t.spvasm %t.spv // RUN: FileCheck %s < %t.spvasm // RUN: spirv-val --target-env vulkan1.0 %t.spv char bar(char a, char b) { return a + b; } kernel void foo(global char* in, global char* out, int idx) { char x = in[idx]; char y = in[idx + 1]; out[idx] = bar(x, y); } // CHECK-DAG: [[char:%[a-zA-Z0-9_]+]] = OpTypeInt 8 0 // CHECK-DAG: [[int:%[a-zA-Z0-9_]+]] = OpTypeInt 32 0 // CHECK-DAG: [[ptr:%[a-zA-Z0-9_]+]] = OpTypePointer StorageBuffer [[char]] // CHECK-DAG: [[zero:%[a-zA-Z0-9_]+]] = OpConstant [[int]] 0 // CHECK-DAG: [[one:%[a-zA-Z0-9_]+]] = OpConstant [[int]] 1 // CHECK: [[bar:%[a-zA-Z0-9_]+]] = OpFunction [[char]] // CHECK: [[a:%[a-zA-Z0-9_]+]] = OpFunctionParameter [[char]] // CHECK: [[b:%[a-zA-Z0-9_]+]] = OpFunctionParameter [[char]] // CHECK: [[add:%[a-zA-Z0-9_]+]] = OpIAdd [[char]] [[b]] [[a]] // CHECK: OpReturnValue [[add]] // CHECK: OpFunction // CHECK: [[idx:%[a-zA-Z0-9_]+]] = OpCompositeExtract [[int]] // CHECK-DAG: [[idx1:%[a-zA-Z0-9_]+]] = OpIAdd [[int]] [[idx]] [[one]] // CHECK-DAG: [[gepx:%[a-zA-Z0-9_]+]] = OpAccessChain [[ptr]] {{.*}} [[zero]] [[idx]] // CHECK-DAG: [[gepy:%[a-zA-Z0-9_]+]] = OpAccessChain [[ptr]] {{.*}} [[zero]] [[idx1]] // CHECK-DAG: [[ldx:%[a-zA-Z0-9_]+]] = OpLoad [[char]] [[gepx]] // CHECK-DAG: [[ldy:%[a-zA-Z0-9_]+]] = OpLoad [[char]] [[gepy]] // CHECK: [[call:%[a-zA-Z0-9_]+]] = OpFunctionCall [[char]] [[bar]] [[ldx]] [[ldy]] // CHECK: [[out_gep:%[a-zA-Z0-9_]+]] = OpAccessChain [[ptr]] {{.*}} [[zero]] [[idx]] // CHECK: OpStore [[out_gep]] [[call]]