2014-12-07 12:18:57 +00:00
|
|
|
//===-- CIInstructions.td - CI Instruction Defintions ---------------------===//
|
|
|
|
//
|
|
|
|
// The LLVM Compiler Infrastructure
|
|
|
|
//
|
|
|
|
// This file is distributed under the University of Illinois Open Source
|
|
|
|
// License. See LICENSE.TXT for details.
|
|
|
|
//
|
|
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
// Instruction definitions for CI and newer.
|
|
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
|
|
|
|
|
|
|
|
def isCIVI : Predicate <
|
2015-01-30 23:24:40 +00:00
|
|
|
"Subtarget->getGeneration() == AMDGPUSubtarget::SEA_ISLANDS || "
|
|
|
|
"Subtarget->getGeneration() == AMDGPUSubtarget::VOLCANIC_ISLANDS"
|
2015-04-23 19:33:54 +00:00
|
|
|
>, AssemblerPredicate<"FeatureCIInsts">;
|
2014-12-07 12:18:57 +00:00
|
|
|
|
|
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
// VOP1 Instructions
|
|
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
|
|
|
|
let SubtargetPredicate = isCIVI in {
|
|
|
|
|
|
|
|
defm V_TRUNC_F64 : VOP1Inst <vop1<0x17>, "v_trunc_f64",
|
|
|
|
VOP_F64_F64, ftrunc
|
|
|
|
>;
|
|
|
|
defm V_CEIL_F64 : VOP1Inst <vop1<0x18>, "v_ceil_f64",
|
|
|
|
VOP_F64_F64, fceil
|
|
|
|
>;
|
|
|
|
defm V_FLOOR_F64 : VOP1Inst <vop1<0x1A>, "v_floor_f64",
|
|
|
|
VOP_F64_F64, ffloor
|
|
|
|
>;
|
|
|
|
defm V_RNDNE_F64 : VOP1Inst <vop1<0x19>, "v_rndne_f64",
|
|
|
|
VOP_F64_F64, frint
|
|
|
|
>;
|
|
|
|
defm V_LOG_LEGACY_F32 : VOP1Inst <vop1<0x45, 0x4c>, "v_log_legacy_f32",
|
|
|
|
VOP_F32_F32
|
|
|
|
>;
|
|
|
|
defm V_EXP_LEGACY_F32 : VOP1Inst <vop1<0x46, 0x4b>, "v_exp_legacy_f32",
|
|
|
|
VOP_F32_F32
|
|
|
|
>;
|
|
|
|
} // End SubtargetPredicate = isCIVI
|