AMDGPU: Add core backend files for R600/SI codegen v6
[oota-llvm.git] / lib / Target / AMDGPU / AMDILSIDevice.cpp
1 //===-- 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 //==-----------------------------------------------------------------------===//
9 #include "AMDILSIDevice.h"
10 #include "AMDILEvergreenDevice.h"
11 #include "AMDILNIDevice.h"
12 #include "AMDILSubtarget.h"
13
14 using namespace llvm;
15
16 AMDILSIDevice::AMDILSIDevice(AMDILSubtarget *ST)
17   : AMDILEvergreenDevice(ST)
18 {
19 }
20 AMDILSIDevice::~AMDILSIDevice()
21 {
22 }
23
24 size_t
25 AMDILSIDevice::getMaxLDSSize() const
26 {
27   if (usesHardware(AMDILDeviceInfo::LocalMem)) {
28     return MAX_LDS_SIZE_900;
29   } else {
30     return 0;
31   }
32 }
33
34 uint32_t
35 AMDILSIDevice::getGeneration() const
36 {
37   return AMDILDeviceInfo::HD7XXX;
38 }
39
40 std::string
41 AMDILSIDevice::getDataLayout() const
42 {
43     return std::string("e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16"
44       "-i32:32:32-i64:64:64-f32:32:32-f64:64:64-f80:32:32"
45       "-v16:16:16-v24:32:32-v32:32:32-v48:64:64-v64:64:64"
46       "-v96:128:128-v128:128:128-v192:256:256-v256:256:256"
47       "-v512:512:512-v1024:1024:1024-v2048:2048:2048"
48       "-n8:16:32:64");
49 }