mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2025-02-10 22:43:53 +00:00
[NVPTX] Add target options for PTX 3.2/4.0 and SM 5.0 (Maxwell)
Default PTX version is set to PTX 3.2 llvm-svn: 211929
This commit is contained in:
parent
1c2cdcb292
commit
6eaef88634
@ -34,12 +34,18 @@ def SM30 : SubtargetFeature<"sm_30", "SmVersion", "30",
|
||||
"Target SM 3.0">;
|
||||
def SM35 : SubtargetFeature<"sm_35", "SmVersion", "35",
|
||||
"Target SM 3.5">;
|
||||
def SM50 : SubtargetFeature<"sm_50", "SmVersion", "50",
|
||||
"Target SM 5.0">;
|
||||
|
||||
// PTX Versions
|
||||
def PTX30 : SubtargetFeature<"ptx30", "PTXVersion", "30",
|
||||
"Use PTX version 3.0">;
|
||||
def PTX31 : SubtargetFeature<"ptx31", "PTXVersion", "31",
|
||||
"Use PTX version 3.1">;
|
||||
def PTX32 : SubtargetFeature<"ptx32", "PTXVersion", "32",
|
||||
"Use PTX version 3.2">;
|
||||
def PTX40 : SubtargetFeature<"ptx40", "PTXVersion", "40",
|
||||
"Use PTX version 4.0">;
|
||||
|
||||
//===----------------------------------------------------------------------===//
|
||||
// NVPTX supported processors.
|
||||
@ -52,6 +58,7 @@ def : Proc<"sm_20", [SM20]>;
|
||||
def : Proc<"sm_21", [SM21]>;
|
||||
def : Proc<"sm_30", [SM30]>;
|
||||
def : Proc<"sm_35", [SM35]>;
|
||||
def : Proc<"sm_50", [SM50]>;
|
||||
|
||||
|
||||
def NVPTXInstrInfo : InstrInfo {
|
||||
|
@ -45,13 +45,10 @@ NVPTXSubtarget &NVPTXSubtarget::initializeSubtargetDependencies(StringRef CPU,
|
||||
|
||||
ParseSubtargetFeatures(TargetName, FS);
|
||||
|
||||
// We default to PTX 3.1, but we cannot just default to it in the initializer
|
||||
// since the attribute parser checks if the given option is >= the default.
|
||||
// So if we set ptx31 as the default, the ptx30 attribute would never match.
|
||||
// Instead, we use 0 as the default and manually set 31 if the default is
|
||||
// used.
|
||||
if (PTXVersion == 0)
|
||||
PTXVersion = 31;
|
||||
// Set default to PTX 3.2 (CUDA 5.5)
|
||||
if (PTXVersion == 0) {
|
||||
PTXVersion = 32;
|
||||
}
|
||||
|
||||
return *this;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user