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.
45 lines
1.2 KiB
PHP
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
|