There are a few different issues, mostly stemming from using generation based checks for anything instead of subtarget features. Stop adding flat-address-space as a feature for HSA, as it should only be a device property. This was incorrectly allowing flat instructions to select for SI. Increase the default generation for HSA to avoid the encoding error when emitting objects. This has some other side effects from various checks which probably should be separate subtarget features (in the cost model and for dealing with the DS offset folding issue). Partial fix for bug 41070. It should probably be an error to try using amdhsa without flat support. llvm-svn: 356347
167 lines
4.2 KiB
TableGen
167 lines
4.2 KiB
TableGen
//===-- GCNProcessors.td - GCN Processor definitions ----------------------===//
|
|
//
|
|
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
|
// See https://llvm.org/LICENSE.txt for license information.
|
|
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
// The code produced for "generic" is only useful for tests and cannot
|
|
// reasonably be expected to execute on any particular target.
|
|
def : ProcessorModel<"generic", NoSchedModel,
|
|
[FeatureWavefrontSize64]
|
|
>;
|
|
|
|
def : ProcessorModel<"generic-hsa", NoSchedModel,
|
|
[FeatureWavefrontSize64, FeatureFlatAddressSpace]
|
|
>;
|
|
|
|
//===------------------------------------------------------------===//
|
|
// GCN GFX6 (Southern Islands (SI)).
|
|
//===------------------------------------------------------------===//
|
|
|
|
def : ProcessorModel<"gfx600", SIFullSpeedModel,
|
|
FeatureISAVersion6_0_0.Features
|
|
>;
|
|
|
|
def : ProcessorModel<"tahiti", SIFullSpeedModel,
|
|
FeatureISAVersion6_0_0.Features
|
|
>;
|
|
|
|
def : ProcessorModel<"gfx601", SIQuarterSpeedModel,
|
|
FeatureISAVersion6_0_1.Features
|
|
>;
|
|
|
|
def : ProcessorModel<"hainan", SIQuarterSpeedModel,
|
|
FeatureISAVersion6_0_1.Features
|
|
>;
|
|
|
|
def : ProcessorModel<"oland", SIQuarterSpeedModel,
|
|
FeatureISAVersion6_0_1.Features
|
|
>;
|
|
|
|
def : ProcessorModel<"pitcairn", SIQuarterSpeedModel,
|
|
FeatureISAVersion6_0_1.Features
|
|
>;
|
|
|
|
def : ProcessorModel<"verde", SIQuarterSpeedModel,
|
|
FeatureISAVersion6_0_1.Features
|
|
>;
|
|
|
|
//===------------------------------------------------------------===//
|
|
// GCN GFX7 (Sea Islands (CI)).
|
|
//===------------------------------------------------------------===//
|
|
|
|
def : ProcessorModel<"gfx700", SIQuarterSpeedModel,
|
|
FeatureISAVersion7_0_0.Features
|
|
>;
|
|
|
|
def : ProcessorModel<"kaveri", SIQuarterSpeedModel,
|
|
FeatureISAVersion7_0_0.Features
|
|
>;
|
|
|
|
def : ProcessorModel<"gfx701", SIFullSpeedModel,
|
|
FeatureISAVersion7_0_1.Features
|
|
>;
|
|
|
|
def : ProcessorModel<"hawaii", SIFullSpeedModel,
|
|
FeatureISAVersion7_0_1.Features
|
|
>;
|
|
|
|
def : ProcessorModel<"gfx702", SIQuarterSpeedModel,
|
|
FeatureISAVersion7_0_2.Features
|
|
>;
|
|
|
|
def : ProcessorModel<"gfx703", SIQuarterSpeedModel,
|
|
FeatureISAVersion7_0_3.Features
|
|
>;
|
|
|
|
def : ProcessorModel<"kabini", SIQuarterSpeedModel,
|
|
FeatureISAVersion7_0_3.Features
|
|
>;
|
|
|
|
def : ProcessorModel<"mullins", SIQuarterSpeedModel,
|
|
FeatureISAVersion7_0_3.Features
|
|
>;
|
|
|
|
def : ProcessorModel<"gfx704", SIQuarterSpeedModel,
|
|
FeatureISAVersion7_0_4.Features
|
|
>;
|
|
|
|
def : ProcessorModel<"bonaire", SIQuarterSpeedModel,
|
|
FeatureISAVersion7_0_4.Features
|
|
>;
|
|
|
|
//===------------------------------------------------------------===//
|
|
// GCN GFX8 (Volcanic Islands (VI)).
|
|
//===------------------------------------------------------------===//
|
|
|
|
def : ProcessorModel<"gfx801", SIQuarterSpeedModel,
|
|
FeatureISAVersion8_0_1.Features
|
|
>;
|
|
|
|
def : ProcessorModel<"carrizo", SIQuarterSpeedModel,
|
|
FeatureISAVersion8_0_1.Features
|
|
>;
|
|
|
|
def : ProcessorModel<"gfx802", SIQuarterSpeedModel,
|
|
FeatureISAVersion8_0_2.Features
|
|
>;
|
|
|
|
def : ProcessorModel<"iceland", SIQuarterSpeedModel,
|
|
FeatureISAVersion8_0_2.Features
|
|
>;
|
|
|
|
def : ProcessorModel<"tonga", SIQuarterSpeedModel,
|
|
FeatureISAVersion8_0_2.Features
|
|
>;
|
|
|
|
def : ProcessorModel<"gfx803", SIQuarterSpeedModel,
|
|
FeatureISAVersion8_0_3.Features
|
|
>;
|
|
|
|
def : ProcessorModel<"fiji", SIQuarterSpeedModel,
|
|
FeatureISAVersion8_0_3.Features
|
|
>;
|
|
|
|
def : ProcessorModel<"polaris10", SIQuarterSpeedModel,
|
|
FeatureISAVersion8_0_3.Features
|
|
>;
|
|
|
|
def : ProcessorModel<"polaris11", SIQuarterSpeedModel,
|
|
FeatureISAVersion8_0_3.Features
|
|
>;
|
|
|
|
def : ProcessorModel<"gfx810", SIQuarterSpeedModel,
|
|
FeatureISAVersion8_1_0.Features
|
|
>;
|
|
|
|
def : ProcessorModel<"stoney", SIQuarterSpeedModel,
|
|
FeatureISAVersion8_1_0.Features
|
|
>;
|
|
|
|
//===------------------------------------------------------------===//
|
|
// GCN GFX9.
|
|
//===------------------------------------------------------------===//
|
|
|
|
def : ProcessorModel<"gfx900", SIQuarterSpeedModel,
|
|
FeatureISAVersion9_0_0.Features
|
|
>;
|
|
|
|
def : ProcessorModel<"gfx902", SIQuarterSpeedModel,
|
|
FeatureISAVersion9_0_2.Features
|
|
>;
|
|
|
|
def : ProcessorModel<"gfx904", SIQuarterSpeedModel,
|
|
FeatureISAVersion9_0_4.Features
|
|
>;
|
|
|
|
def : ProcessorModel<"gfx906", SIQuarterSpeedModel,
|
|
FeatureISAVersion9_0_6.Features
|
|
>;
|
|
|
|
def : ProcessorModel<"gfx909", SIQuarterSpeedModel,
|
|
FeatureISAVersion9_0_9.Features
|
|
>;
|
|
|