111308Santhony.gutierrez@amd.com// University of Illinois/NCSA
211308Santhony.gutierrez@amd.com// Open Source License
311308Santhony.gutierrez@amd.com//
411308Santhony.gutierrez@amd.com// Copyright (c) 2013, Advanced Micro Devices, Inc.
511308Santhony.gutierrez@amd.com// All rights reserved.
611308Santhony.gutierrez@amd.com//
711308Santhony.gutierrez@amd.com// Developed by:
811308Santhony.gutierrez@amd.com//
911308Santhony.gutierrez@amd.com//     HSA Team
1011308Santhony.gutierrez@amd.com//
1111308Santhony.gutierrez@amd.com//     Advanced Micro Devices, Inc
1211308Santhony.gutierrez@amd.com//
1311308Santhony.gutierrez@amd.com//     www.amd.com
1411308Santhony.gutierrez@amd.com//
1511308Santhony.gutierrez@amd.com// Permission is hereby granted, free of charge, to any person obtaining a copy of
1611308Santhony.gutierrez@amd.com// this software and associated documentation files (the "Software"), to deal with
1711308Santhony.gutierrez@amd.com// the Software without restriction, including without limitation the rights to
1811308Santhony.gutierrez@amd.com// use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
1911308Santhony.gutierrez@amd.com// of the Software, and to permit persons to whom the Software is furnished to do
2011308Santhony.gutierrez@amd.com// so, subject to the following conditions:
2111308Santhony.gutierrez@amd.com//
2211308Santhony.gutierrez@amd.com//     * Redistributions of source code must retain the above copyright notice,
2311308Santhony.gutierrez@amd.com//       this list of conditions and the following disclaimers.
2411308Santhony.gutierrez@amd.com//
2511308Santhony.gutierrez@amd.com//     * Redistributions in binary form must reproduce the above copyright notice,
2611308Santhony.gutierrez@amd.com//       this list of conditions and the following disclaimers in the
2711308Santhony.gutierrez@amd.com//       documentation and/or other materials provided with the distribution.
2811308Santhony.gutierrez@amd.com//
2911308Santhony.gutierrez@amd.com//     * Neither the names of the LLVM Team, University of Illinois at
3011308Santhony.gutierrez@amd.com//       Urbana-Champaign, nor the names of its contributors may be used to
3111308Santhony.gutierrez@amd.com//       endorse or promote products derived from this Software without specific
3211308Santhony.gutierrez@amd.com//       prior written permission.
3311308Santhony.gutierrez@amd.com//
3411308Santhony.gutierrez@amd.com// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
3511308Santhony.gutierrez@amd.com// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
3611308Santhony.gutierrez@amd.com// FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
3711308Santhony.gutierrez@amd.com// CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
3811308Santhony.gutierrez@amd.com// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
3911308Santhony.gutierrez@amd.com// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS WITH THE
4011308Santhony.gutierrez@amd.com// SOFTWARE.
4111308Santhony.gutierrez@amd.com#ifndef INTERNAL_BRIG_H
4211308Santhony.gutierrez@amd.com#define INTERNAL_BRIG_H
4311308Santhony.gutierrez@amd.com
4411308Santhony.gutierrez@amd.com#include <stdint.h>
4511308Santhony.gutierrez@amd.com
4611308Santhony.gutierrez@amd.comnamespace Brig {
4711308Santhony.gutierrez@amd.com#include "Brig_new.hpp"
4811308Santhony.gutierrez@amd.com
4911308Santhony.gutierrez@amd.com// These typedefs provide some backward compatibility with earlier versions
5011308Santhony.gutierrez@amd.com// of Brig.h, reducing the number of code changes. The distinct names also
5111308Santhony.gutierrez@amd.com// increase legibility by showing the code's intent.
5211308Santhony.gutierrez@amd.comtypedef BrigBase BrigDirective;
5311308Santhony.gutierrez@amd.comtypedef BrigBase BrigOperand;
5411308Santhony.gutierrez@amd.com
5511308Santhony.gutierrez@amd.comenum BrigMemoryFenceSegments { // for internal use only
5611308Santhony.gutierrez@amd.com    //.mnemo={ s/^BRIG_MEMORY_FENCE_SEGMENT_//;lc }
5711308Santhony.gutierrez@amd.com    //.mnemo_token=_EMMemoryFenceSegments
5811308Santhony.gutierrez@amd.com    //.mnemo_context=EInstModifierInstFenceContext
5911308Santhony.gutierrez@amd.com    BRIG_MEMORY_FENCE_SEGMENT_GLOBAL = 0,
6011308Santhony.gutierrez@amd.com    BRIG_MEMORY_FENCE_SEGMENT_GROUP = 1,
6111308Santhony.gutierrez@amd.com    BRIG_MEMORY_FENCE_SEGMENT_IMAGE = 2,
6211308Santhony.gutierrez@amd.com    BRIG_MEMORY_FENCE_SEGMENT_LAST = 3 //.skip
6311308Santhony.gutierrez@amd.com};
6411308Santhony.gutierrez@amd.com
6511308Santhony.gutierrez@amd.com}
6611308Santhony.gutierrez@amd.com
6711308Santhony.gutierrez@amd.com#endif // defined(INTERNAL_BRIG_H)
68