Files
clang-p2996/libclc/generic/lib/shared/vstore_half.inc
Fraser Cormack 139e30e215 [libclc] Remove (vload|vstore)_half helpers (#137181)
These were only being used when compiling with versions of clang older
than clang 6. As such they were essentially unsupported and untested.

This somewhat simplifies the codebase, producing fewer helper functions
in the final builtins library. It also avoids typed pointer IR.

There's no change to any of the targets' bytecode other than removing
these helper functions.
2025-04-24 15:08:05 +01:00

45 lines
1.2 KiB
PHP

//===----------------------------------------------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//===----------------------------------------------------------------------===//
// This does not exist for fp16
#if __CLC_FPSIZE > 16
#if __CLC_FPSIZE == 32
#define STORE_HALF_BUILTIN __builtin_store_halff
#elif __CLC_FPSIZE == 64
#define STORE_HALF_BUILTIN __builtin_store_half
#else
#error "Invalid FP size"
#endif
#ifndef __CLC_SCALAR
#if __CLC_VECSIZE == 3
#define __CLC_OFFSET 4
#else
#define __CLC_OFFSET __CLC_VECSIZE
#endif
FUNC(__CLC_VECSIZE, __CLC_VECSIZE, __CLC_OFFSET, __CLC_GENTYPE, __private,
STORE_HALF_BUILTIN);
FUNC(__CLC_VECSIZE, __CLC_VECSIZE, __CLC_OFFSET, __CLC_GENTYPE, __local,
STORE_HALF_BUILTIN);
FUNC(__CLC_VECSIZE, __CLC_VECSIZE, __CLC_OFFSET, __CLC_GENTYPE, __global,
STORE_HALF_BUILTIN);
#undef __CLC_OFFSET
#else
FUNC(, 1, 1, __CLC_GENTYPE, __private, STORE_HALF_BUILTIN);
FUNC(, 1, 1, __CLC_GENTYPE, __local, STORE_HALF_BUILTIN);
FUNC(, 1, 1, __CLC_GENTYPE, __global, STORE_HALF_BUILTIN);
#endif
#undef STORE_HALF_BUILTIN
#endif