1 //===-- AMDILNIDevice.cpp - Device Info for Northern Islands devices ------===//
3 // The LLVM Compiler Infrastructure
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
8 //==-----------------------------------------------------------------------===//
9 #include "AMDILNIDevice.h"
10 #include "AMDILEvergreenDevice.h"
11 #include "AMDGPUSubtarget.h"
15 AMDGPUNIDevice::AMDGPUNIDevice(AMDGPUSubtarget
*ST
)
16 : AMDGPUEvergreenDevice(ST
)
18 std::string name
= ST
->getDeviceName();
19 if (name
== "caicos") {
20 mDeviceFlag
= OCL_DEVICE_CAICOS
;
21 } else if (name
== "turks") {
22 mDeviceFlag
= OCL_DEVICE_TURKS
;
23 } else if (name
== "cayman") {
24 mDeviceFlag
= OCL_DEVICE_CAYMAN
;
26 mDeviceFlag
= OCL_DEVICE_BARTS
;
29 AMDGPUNIDevice::~AMDGPUNIDevice()
34 AMDGPUNIDevice::getMaxLDSSize() const
36 if (usesHardware(AMDGPUDeviceInfo::LocalMem
)) {
37 return MAX_LDS_SIZE_900
;
44 AMDGPUNIDevice::getGeneration() const
46 return AMDGPUDeviceInfo::HD6XXX
;
50 AMDGPUCaymanDevice::AMDGPUCaymanDevice(AMDGPUSubtarget
*ST
)
56 AMDGPUCaymanDevice::~AMDGPUCaymanDevice()
61 AMDGPUCaymanDevice::setCaps()
63 if (mSTM
->isOverride(AMDGPUDeviceInfo::DoubleOps
)) {
64 mHWBits
.set(AMDGPUDeviceInfo::DoubleOps
);
65 mHWBits
.set(AMDGPUDeviceInfo::FMA
);
67 mHWBits
.set(AMDGPUDeviceInfo::Signed24BitOps
);
68 mSWBits
.reset(AMDGPUDeviceInfo::Signed24BitOps
);
69 mSWBits
.set(AMDGPUDeviceInfo::ArenaSegment
);