1f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org//===-- AMDILSIDevice.cpp - Device Info for Southern Islands GPUs ---------===// 2f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org// 3f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org// The LLVM Compiler Infrastructure 4f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org// 5f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org// This file is distributed under the University of Illinois Open Source 6f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org// License. See LICENSE.TXT for details. 7f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org// 8f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org//==-----------------------------------------------------------------------===// 9f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#include "AMDILSIDevice.h" 10f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#include "AMDILEvergreenDevice.h" 11f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#include "AMDILNIDevice.h" 12f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#include "AMDGPUSubtarget.h" 13f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 14f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgusing namespace llvm; 15f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 16f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgAMDGPUSIDevice::AMDGPUSIDevice(AMDGPUSubtarget *ST) 17f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org : AMDGPUEvergreenDevice(ST) 18f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 19f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 20f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgAMDGPUSIDevice::~AMDGPUSIDevice() 21f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 22f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 23f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 24f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgsize_t 25f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgAMDGPUSIDevice::getMaxLDSSize() const 26f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 27f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org if (usesHardware(AMDGPUDeviceInfo::LocalMem)) { 28f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org return MAX_LDS_SIZE_900; 29f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org } else { 30f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org return 0; 31f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org } 32f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 33f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 34f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orguint32_t 35f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgAMDGPUSIDevice::getGeneration() const 36f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 37f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org return AMDGPUDeviceInfo::HD7XXX; 38f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 39f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 40f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstd::string 41f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgAMDGPUSIDevice::getDataLayout() const 42f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org{ 43f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org return std::string("e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16" 44f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org "-i32:32:32-i64:64:64-f32:32:32-f64:64:64-f80:32:32" 45f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org "-v16:16:16-v24:32:32-v32:32:32-v48:64:64-v64:64:64" 46f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org "-v96:128:128-v128:128:128-v192:256:256-v256:256:256" 47f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org "-v512:512:512-v1024:1024:1024-v2048:2048:2048" 48f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org "-n8:16:32:64"); 49f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 50