1249259Sdim//===- IntrinsicsR600.td - Defines R600 intrinsics ---------*- tablegen -*-===//
2249259Sdim//
3249259Sdim//                     The LLVM Compiler Infrastructure
4249259Sdim//
5249259Sdim// This file is distributed under the University of Illinois Open Source
6249259Sdim// License. See LICENSE.TXT for details.
7249259Sdim//
8249259Sdim//===----------------------------------------------------------------------===//
9249259Sdim//
10249259Sdim// This file defines all of the R600-specific intrinsics.
11249259Sdim//
12249259Sdim//===----------------------------------------------------------------------===//
13249259Sdim
14249259Sdimlet TargetPrefix = "r600" in {
15249259Sdim
16249259Sdimclass R600ReadPreloadRegisterIntrinsic<string name>
17249259Sdim  : Intrinsic<[llvm_i32_ty], [], [IntrNoMem]>,
18249259Sdim    GCCBuiltin<name>;
19249259Sdim
20249259Sdimmulticlass R600ReadPreloadRegisterIntrinsic_xyz<string prefix> {
21249259Sdim  def _x : R600ReadPreloadRegisterIntrinsic<!strconcat(prefix, "_x")>;
22249259Sdim  def _y : R600ReadPreloadRegisterIntrinsic<!strconcat(prefix, "_y")>;
23249259Sdim  def _z : R600ReadPreloadRegisterIntrinsic<!strconcat(prefix, "_z")>;
24249259Sdim}
25249259Sdim
26249259Sdimdefm int_r600_read_global_size : R600ReadPreloadRegisterIntrinsic_xyz <
27249259Sdim                                       "__builtin_r600_read_global_size">;
28249259Sdimdefm int_r600_read_local_size : R600ReadPreloadRegisterIntrinsic_xyz <
29249259Sdim                                       "__builtin_r600_read_local_size">;
30249259Sdimdefm int_r600_read_ngroups : R600ReadPreloadRegisterIntrinsic_xyz <
31249259Sdim                                       "__builtin_r600_read_ngroups">;
32249259Sdimdefm int_r600_read_tgid : R600ReadPreloadRegisterIntrinsic_xyz <
33249259Sdim                                       "__builtin_r600_read_tgid">;
34249259Sdimdefm int_r600_read_tidig : R600ReadPreloadRegisterIntrinsic_xyz <
35249259Sdim                                       "__builtin_r600_read_tidig">;
36249259Sdim} // End TargetPrefix = "r600"
37