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