Brig.h revision 11308
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