diff options
Diffstat (limited to 'llvm/lib/Target/AMDGPU/AMDGPUGISel.td')
| -rw-r--r-- | llvm/lib/Target/AMDGPU/AMDGPUGISel.td | 19 |
1 files changed, 15 insertions, 4 deletions
diff --git a/llvm/lib/Target/AMDGPU/AMDGPUGISel.td b/llvm/lib/Target/AMDGPU/AMDGPUGISel.td index 537d3a43aa9f..1b909568fc55 100644 --- a/llvm/lib/Target/AMDGPU/AMDGPUGISel.td +++ b/llvm/lib/Target/AMDGPU/AMDGPUGISel.td @@ -207,6 +207,8 @@ def : GINodeEquiv<G_STORE, AMDGPUst_glue> { def : GINodeEquiv<G_LOAD, AMDGPUatomic_ld_glue> { bit CheckMMOIsAtomic = 1; + let IfSignExtend = G_SEXTLOAD; + let IfZeroExtend = G_ZEXTLOAD; } def : GINodeEquiv<G_STORE, AMDGPUatomic_st_glue> { @@ -296,9 +298,7 @@ def : GINodeEquiv<G_AMDGPU_S_BUFFER_LOAD_SBYTE, SIsbuffer_load_byte>; def : GINodeEquiv<G_AMDGPU_S_BUFFER_LOAD_UBYTE, SIsbuffer_load_ubyte>; def : GINodeEquiv<G_AMDGPU_S_BUFFER_LOAD_SSHORT, SIsbuffer_load_short>; def : GINodeEquiv<G_AMDGPU_S_BUFFER_LOAD_USHORT, SIsbuffer_load_ushort>; - -def : GINodeEquiv<G_FPTRUNC_ROUND_UPWARD, SIfptrunc_round_upward>; -def : GINodeEquiv<G_FPTRUNC_ROUND_DOWNWARD, SIfptrunc_round_downward>; +def : GINodeEquiv<G_AMDGPU_S_BUFFER_PREFETCH, SIsbuffer_prefetch>; class GISelSop2Pat < SDPatternOperator node, @@ -395,11 +395,16 @@ def gi_as_i8timm : GICustomOperandRenderer<"renderTruncTImm">, def gi_as_i1timm : GICustomOperandRenderer<"renderTruncTImm">, GISDNodeXFormEquiv<as_i1timm>; +def gi_as_i1timm_zext : GICustomOperandRenderer<"renderZextBoolTImm">, + GISDNodeXFormEquiv<as_i1timm_zext>; + def gi_NegateImm : GICustomOperandRenderer<"renderNegateImm">, GISDNodeXFormEquiv<NegateImm>; -def gi_bitcast_fpimm_to_i32 : GICustomOperandRenderer<"renderBitcastImm">, +def gi_bitcast_fpimm_to_i32 : GICustomOperandRenderer<"renderBitcastFPImm32">, GISDNodeXFormEquiv<bitcast_fpimm_to_i32>; +def gi_bitcast_fpimm_to_i64 : GICustomOperandRenderer<"renderBitcastFPImm64">, + GISDNodeXFormEquiv<bitcast_fpimm_to_i64>; def gi_IMMPopCount : GICustomOperandRenderer<"renderPopcntImm">, GISDNodeXFormEquiv<IMMPopCount>; @@ -418,3 +423,9 @@ def gi_frameindex_to_targetframeindex : GICustomOperandRenderer<"renderFrameInde def gi_fp_pow2_to_exponent : GICustomOperandRenderer<"renderFPPow2ToExponent">, GISDNodeXFormEquiv<FPPow2ToExponentXForm>; + +def gi_as_hw_round_mode : GICustomOperandRenderer<"renderRoundMode">, + GISDNodeXFormEquiv<as_hw_round_mode>; + +def gi_MFMALdScaleModifierOp : GICustomOperandRenderer<"renderScaledMAIIntrinsicOperand">, + GISDNodeXFormEquiv<MFMALdScaleXForm>; |
