1// University of Illinois/NCSA
2// Open Source License
3//
4// Copyright (c) 2013, Advanced Micro Devices, Inc.
5// All rights reserved.
6//
7// Developed by:
8//
9//     HSA Team
10//
11//     Advanced Micro Devices, Inc
12//
13//     www.amd.com
14//
15// Permission is hereby granted, free of charge, to any person obtaining a copy of
16// this software and associated documentation files (the "Software"), to deal with
17// the Software without restriction, including without limitation the rights to
18// use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
19// of the Software, and to permit persons to whom the Software is furnished to do
20// so, subject to the following conditions:
21//
22//     * Redistributions of source code must retain the above copyright notice,
23//       this list of conditions and the following disclaimers.
24//
25//     * Redistributions in binary form must reproduce the above copyright notice,
26//       this list of conditions and the following disclaimers in the
27//       documentation and/or other materials provided with the distribution.
28//
29//     * Neither the names of the LLVM Team, University of Illinois at
30//       Urbana-Champaign, nor the names of its contributors may be used to
31//       endorse or promote products derived from this Software without specific
32//       prior written permission.
33//
34// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
35// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
36// FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
37// CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
38// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
39// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS WITH THE
40// SOFTWARE.
41#ifndef INTERNAL_BRIG_H
42#define INTERNAL_BRIG_H
43
44#include <stdint.h>
45
46namespace Brig {
47#include "Brig_new.hpp"
48
49// These typedefs provide some backward compatibility with earlier versions
50// of Brig.h, reducing the number of code changes. The distinct names also
51// increase legibility by showing the code's intent.
52typedef BrigBase BrigDirective;
53typedef BrigBase BrigOperand;
54
55enum BrigMemoryFenceSegments { // for internal use only
56    //.mnemo={ s/^BRIG_MEMORY_FENCE_SEGMENT_//;lc }
57    //.mnemo_token=_EMMemoryFenceSegments
58    //.mnemo_context=EInstModifierInstFenceContext
59    BRIG_MEMORY_FENCE_SEGMENT_GLOBAL = 0,
60    BRIG_MEMORY_FENCE_SEGMENT_GROUP = 1,
61    BRIG_MEMORY_FENCE_SEGMENT_IMAGE = 2,
62    BRIG_MEMORY_FENCE_SEGMENT_LAST = 3 //.skip
63};
64
65}
66
67#endif // defined(INTERNAL_BRIG_H)
68