From: Matt Arsenault Date: Wed, 20 Sep 2017 06:11:25 +0000 (+0000) Subject: AMDGPU: Move r600 only code into r600 only td file X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=e232c830608745aff3139d2d5549e9d99c358881;p=llvm AMDGPU: Move r600 only code into r600 only td file git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@313719 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Target/AMDGPU/AMDGPUInstructions.td b/lib/Target/AMDGPU/AMDGPUInstructions.td index 52f803ac097..6d388e48b76 100644 --- a/lib/Target/AMDGPU/AMDGPUInstructions.td +++ b/lib/Target/AMDGPU/AMDGPUInstructions.td @@ -501,59 +501,6 @@ def FP_HALF : PatLeaf < [{return N->isExactlyValue(0.5);}] >; -let isCodeGenOnly = 1, isPseudo = 1 in { - -let usesCustomInserter = 1 in { - -class CLAMP : AMDGPUShaderInst < - (outs rc:$dst), - (ins rc:$src0), - "CLAMP $dst, $src0", - [(set f32:$dst, (AMDGPUclamp f32:$src0))] ->; - -class FABS : AMDGPUShaderInst < - (outs rc:$dst), - (ins rc:$src0), - "FABS $dst, $src0", - [(set f32:$dst, (fabs f32:$src0))] ->; - -class FNEG : AMDGPUShaderInst < - (outs rc:$dst), - (ins rc:$src0), - "FNEG $dst, $src0", - [(set f32:$dst, (fneg f32:$src0))] ->; - -} // usesCustomInserter = 1 - -multiclass RegisterLoadStore { -let UseNamedOperandTable = 1 in { - - def RegisterLoad : AMDGPUShaderInst < - (outs dstClass:$dst), - (ins addrClass:$addr, i32imm:$chan), - "RegisterLoad $dst, $addr", - [(set i32:$dst, (AMDGPUregister_load addrPat:$addr, (i32 timm:$chan)))] - > { - let isRegisterLoad = 1; - } - - def RegisterStore : AMDGPUShaderInst < - (outs), - (ins dstClass:$val, addrClass:$addr, i32imm:$chan), - "RegisterStore $val, $addr", - [(AMDGPUregister_store i32:$val, addrPat:$addr, (i32 timm:$chan))] - > { - let isRegisterStore = 1; - } -} -} - -} // End isCodeGenOnly = 1, isPseudo = 1 - /* Generic helper patterns for intrinsics */ /* -------------------------------------- */ diff --git a/lib/Target/AMDGPU/R600Instructions.td b/lib/Target/AMDGPU/R600Instructions.td index 1fbb32678d0..63a35b6dc59 100644 --- a/lib/Target/AMDGPU/R600Instructions.td +++ b/lib/Target/AMDGPU/R600Instructions.td @@ -659,6 +659,60 @@ let Predicates = [isR600toCayman] in { // Common Instructions R600, R700, Evergreen, Cayman //===----------------------------------------------------------------------===// +let isCodeGenOnly = 1, isPseudo = 1 in { + +let usesCustomInserter = 1 in { + +class CLAMP : AMDGPUShaderInst < + (outs rc:$dst), + (ins rc:$src0), + "CLAMP $dst, $src0", + [(set f32:$dst, (AMDGPUclamp f32:$src0))] +>; + +class FABS : AMDGPUShaderInst < + (outs rc:$dst), + (ins rc:$src0), + "FABS $dst, $src0", + [(set f32:$dst, (fabs f32:$src0))] +>; + +class FNEG : AMDGPUShaderInst < + (outs rc:$dst), + (ins rc:$src0), + "FNEG $dst, $src0", + [(set f32:$dst, (fneg f32:$src0))] +>; + +} // usesCustomInserter = 1 + +multiclass RegisterLoadStore { +let UseNamedOperandTable = 1 in { + + def RegisterLoad : AMDGPUShaderInst < + (outs dstClass:$dst), + (ins addrClass:$addr, i32imm:$chan), + "RegisterLoad $dst, $addr", + [(set i32:$dst, (AMDGPUregister_load addrPat:$addr, (i32 timm:$chan)))] + > { + let isRegisterLoad = 1; + } + + def RegisterStore : AMDGPUShaderInst < + (outs), + (ins dstClass:$val, addrClass:$addr, i32imm:$chan), + "RegisterStore $val, $addr", + [(AMDGPUregister_store i32:$val, addrPat:$addr, (i32 timm:$chan))] + > { + let isRegisterStore = 1; + } +} +} + +} // End isCodeGenOnly = 1, isPseudo = 1 + + def ADD : R600_2OP_Helper <0x0, "ADD", fadd>; // Non-IEEE MUL: 0 * anything = 0 def MUL : R600_2OP_Helper <0x1, "MUL NON-IEEE">;