blob: 0d1de3d11eb4c79f6162e7c1484d1dfdbb384b6b [file] [log] [blame]
Tom Stellardf98f2ce2012-12-11 21:25:42 +00001//===-- AMDILSIDevice.cpp - Device Info for Southern Islands GPUs ---------===//
2//
3// The LLVM Compiler Infrastructure
4//
5// This file is distributed under the University of Illinois Open Source
6// License. See LICENSE.TXT for details.
7//
8/// \file
9//==-----------------------------------------------------------------------===//
10#include "AMDILSIDevice.h"
Chandler Carruth58a2cbe2013-01-02 10:22:59 +000011#include "AMDGPUSubtarget.h"
Tom Stellardf98f2ce2012-12-11 21:25:42 +000012#include "AMDILEvergreenDevice.h"
13#include "AMDILNIDevice.h"
Tom Stellardf98f2ce2012-12-11 21:25:42 +000014
15using namespace llvm;
16
17AMDGPUSIDevice::AMDGPUSIDevice(AMDGPUSubtarget *ST)
18 : AMDGPUEvergreenDevice(ST) {
19}
20AMDGPUSIDevice::~AMDGPUSIDevice() {
21}
22
23size_t
24AMDGPUSIDevice::getMaxLDSSize() const {
25 if (usesHardware(AMDGPUDeviceInfo::LocalMem)) {
26 return MAX_LDS_SIZE_900;
27 } else {
28 return 0;
29 }
30}
31
32uint32_t
33AMDGPUSIDevice::getGeneration() const {
34 return AMDGPUDeviceInfo::HD7XXX;
35}
36
37std::string
38AMDGPUSIDevice::getDataLayout() const {
Tom Stellardff4faab2013-03-04 17:40:28 +000039 return std::string(
40 "e"
41 "-p:64:64:64"
42 "-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64"
43 "-v16:16:16-v24:32:32-v32:32:32-v48:64:64-v64:64:64-v96:128:128"
44 "-v128:128:128-v192:256:256-v256:256:256-v512:512:512-v1024:1024:1024"
45 "-v2048:2048:2048"
46 "-n32:64"
47 );
Tom Stellardf98f2ce2012-12-11 21:25:42 +000048}