blob: ceae0b57539581d5f51d82b9ba83f4c55f59fc85 [file] [log] [blame]
Tom Stellard75aadc22012-12-11 21:25:42 +00001//===-- AMDGPUIntrinsics.td - Common intrinsics -*- tablegen -*-----------===//
2//
3// The LLVM Compiler Infrastructure
4//
5// This file is distributed under the University of Illinois Open Source
6// License. See LICENSE.TXT for details.
7//
8//===----------------------------------------------------------------------===//
9//
10// This file defines intrinsics that are used by all hw codegen targets.
11//
12//===----------------------------------------------------------------------===//
13
14let TargetPrefix = "AMDGPU", isTarget = 1 in {
Matt Arsenault5d47d4a2014-06-12 21:15:44 +000015 def int_AMDGPU_clamp : Intrinsic<[llvm_anyfloat_ty], [LLVMMatchType<0>, LLVMMatchType<0>, LLVMMatchType<0>], [IntrNoMem]>;
Matt Arsenault257d48d2014-06-24 22:13:39 +000016
Tom Stellard75aadc22012-12-11 21:25:42 +000017 def int_AMDGPU_kill : Intrinsic<[], [llvm_float_ty], []>;
18 def int_AMDGPU_kilp : Intrinsic<[], [], []>;
Matt Arsenaultc96e1de2016-07-18 18:35:05 +000019
20 // Deprecated in favor of llvm.amdgcn.sffbh
Matt Arsenault051d6f92016-01-26 04:29:56 +000021 def int_AMDGPU_flbit_i32 : Intrinsic<[llvm_i32_ty], [llvm_i32_ty], [IntrNoMem]>;
22
23 // Deprecated in favor of separate int_amdgcn_cube* intrinsics.
Tom Stellard75aadc22012-12-11 21:25:42 +000024 def int_AMDGPU_cube : Intrinsic<[llvm_v4f32_ty], [llvm_v4f32_ty], [IntrNoMem]>;
Matt Arsenault051d6f92016-01-26 04:29:56 +000025
26 // Deprecated in favor of expanded bit operations
Matt Arsenault4c537172014-03-31 18:21:18 +000027 def int_AMDGPU_bfe_i32 : Intrinsic<[llvm_i32_ty], [llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [IntrNoMem]>;
28 def int_AMDGPU_bfe_u32 : Intrinsic<[llvm_i32_ty], [llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [IntrNoMem]>;
Matt Arsenaultbef34e22016-01-22 21:30:34 +000029
Matt Arsenault0c3e2332016-01-26 04:14:16 +000030 // Deprecated in favor of llvm.amdgcn.rsq
31 def int_AMDGPU_rsq : Intrinsic<
32 [llvm_anyfloat_ty], [LLVMMatchType<0>], [IntrNoMem]
33 >;
Tom Stellard75aadc22012-12-11 21:25:42 +000034}
35
Tom Stellard75aadc22012-12-11 21:25:42 +000036include "SIIntrinsics.td"