@@ -779,14 +779,14 @@ def : RsqPat<V_RSQ_F64_e32, f64>;
779
779
def : GCNPat <
780
780
(f32 (fsub (f32 (VOP3Mods f32:$x, i32:$mods)),
781
781
(f32 (ffloor (f32 (VOP3Mods f32:$x, i32:$mods)))))),
782
- (V_FRACT_F32_e64 $mods, $x, DSTCLAMP.NONE, DSTOMOD.NONE )
782
+ (V_FRACT_F32_e64 $mods, $x)
783
783
>;
784
784
785
785
// Convert (x + (-floor(x))) to fract(x)
786
786
def : GCNPat <
787
787
(f64 (fadd (f64 (VOP3Mods f64:$x, i32:$mods)),
788
788
(f64 (fneg (f64 (ffloor (f64 (VOP3Mods f64:$x, i32:$mods)))))))),
789
- (V_FRACT_F64_e64 $mods, $x, DSTCLAMP.NONE, DSTOMOD.NONE )
789
+ (V_FRACT_F64_e64 $mods, $x)
790
790
>;
791
791
792
792
} // End OtherPredicates = [UnsafeFPMath]
@@ -795,27 +795,27 @@ def : GCNPat <
795
795
// f16_to_fp patterns
796
796
def : GCNPat <
797
797
(f32 (f16_to_fp i32:$src0)),
798
- (V_CVT_F32_F16_e64 SRCMODS.NONE, $src0, DSTCLAMP.NONE, DSTOMOD.NONE )
798
+ (V_CVT_F32_F16_e64 SRCMODS.NONE, $src0)
799
799
>;
800
800
801
801
def : GCNPat <
802
802
(f32 (f16_to_fp (and_oneuse i32:$src0, 0x7fff))),
803
- (V_CVT_F32_F16_e64 SRCMODS.ABS, $src0, DSTCLAMP.NONE, DSTOMOD.NONE )
803
+ (V_CVT_F32_F16_e64 SRCMODS.ABS, $src0)
804
804
>;
805
805
806
806
def : GCNPat <
807
807
(f32 (f16_to_fp (i32 (srl_oneuse (and_oneuse i32:$src0, 0x7fff0000), (i32 16))))),
808
- (V_CVT_F32_F16_e64 SRCMODS.ABS, (i32 (V_LSHRREV_B32_e64 (i32 16), i32:$src0)), DSTCLAMP.NONE, DSTOMOD.NONE )
808
+ (V_CVT_F32_F16_e64 SRCMODS.ABS, (i32 (V_LSHRREV_B32_e64 (i32 16), i32:$src0)))
809
809
>;
810
810
811
811
def : GCNPat <
812
812
(f32 (f16_to_fp (or_oneuse i32:$src0, 0x8000))),
813
- (V_CVT_F32_F16_e64 SRCMODS.NEG_ABS, $src0, DSTCLAMP.NONE, DSTOMOD.NONE )
813
+ (V_CVT_F32_F16_e64 SRCMODS.NEG_ABS, $src0)
814
814
>;
815
815
816
816
def : GCNPat <
817
817
(f32 (f16_to_fp (xor_oneuse i32:$src0, 0x8000))),
818
- (V_CVT_F32_F16_e64 SRCMODS.NEG, $src0, DSTCLAMP.NONE, DSTOMOD.NONE )
818
+ (V_CVT_F32_F16_e64 SRCMODS.NEG, $src0)
819
819
>;
820
820
821
821
def : GCNPat <
@@ -826,7 +826,7 @@ def : GCNPat <
826
826
// fp_to_fp16 patterns
827
827
def : GCNPat <
828
828
(i32 (AMDGPUfp_to_f16 (f32 (VOP3Mods f32:$src0, i32:$src0_modifiers)))),
829
- (V_CVT_F16_F32_e64 $src0_modifiers, f32:$src0, DSTCLAMP.NONE, DSTOMOD.NONE )
829
+ (V_CVT_F16_F32_e64 $src0_modifiers, f32:$src0)
830
830
>;
831
831
832
832
def : GCNPat <
@@ -1870,12 +1870,12 @@ def : GCNPat <
1870
1870
let OtherPredicates = [NoFP16Denormals] in {
1871
1871
def : GCNPat<
1872
1872
(fcanonicalize (f16 (VOP3Mods f16:$src, i32:$src_mods))),
1873
- (V_MUL_F16_e64 0, (i32 CONST.FP16_ONE), $src_mods, $src, 0, 0 )
1873
+ (V_MUL_F16_e64 0, (i32 CONST.FP16_ONE), $src_mods, $src)
1874
1874
>;
1875
1875
1876
1876
def : GCNPat<
1877
1877
(fcanonicalize (f16 (fneg (VOP3Mods f16:$src, i32:$src_mods)))),
1878
- (V_MUL_F16_e64 0, (i32 CONST.FP16_NEG_ONE), $src_mods, $src, 0, 0 )
1878
+ (V_MUL_F16_e64 0, (i32 CONST.FP16_NEG_ONE), $src_mods, $src)
1879
1879
>;
1880
1880
1881
1881
def : GCNPat<
@@ -1901,53 +1901,53 @@ def : GCNPat<
1901
1901
let OtherPredicates = [NoFP32Denormals] in {
1902
1902
def : GCNPat<
1903
1903
(fcanonicalize (f32 (VOP3Mods f32:$src, i32:$src_mods))),
1904
- (V_MUL_F32_e64 0, (i32 CONST.FP32_ONE), $src_mods, $src, 0, 0 )
1904
+ (V_MUL_F32_e64 0, (i32 CONST.FP32_ONE), $src_mods, $src)
1905
1905
>;
1906
1906
1907
1907
def : GCNPat<
1908
1908
(fcanonicalize (f32 (fneg (VOP3Mods f32:$src, i32:$src_mods)))),
1909
- (V_MUL_F32_e64 0, (i32 CONST.FP32_NEG_ONE), $src_mods, $src, 0, 0 )
1909
+ (V_MUL_F32_e64 0, (i32 CONST.FP32_NEG_ONE), $src_mods, $src)
1910
1910
>;
1911
1911
}
1912
1912
1913
1913
let OtherPredicates = [FP32Denormals] in {
1914
1914
def : GCNPat<
1915
1915
(fcanonicalize (f32 (VOP3Mods f32:$src, i32:$src_mods))),
1916
- (V_MAX_F32_e64 $src_mods, $src, $src_mods, $src, 0, 0 )
1916
+ (V_MAX_F32_e64 $src_mods, $src, $src_mods, $src)
1917
1917
>;
1918
1918
}
1919
1919
1920
1920
let OtherPredicates = [NoFP64Denormals] in {
1921
1921
def : GCNPat<
1922
1922
(fcanonicalize (f64 (VOP3Mods f64:$src, i32:$src_mods))),
1923
- (V_MUL_F64 0, CONST.FP64_ONE, $src_mods, $src, 0, 0 )
1923
+ (V_MUL_F64 0, CONST.FP64_ONE, $src_mods, $src)
1924
1924
>;
1925
1925
}
1926
1926
1927
1927
let OtherPredicates = [FP64Denormals] in {
1928
1928
def : GCNPat<
1929
1929
(fcanonicalize (f64 (VOP3Mods f64:$src, i32:$src_mods))),
1930
- (V_MAX_F64 $src_mods, $src, $src_mods, $src, 0, 0 )
1930
+ (V_MAX_F64 $src_mods, $src, $src_mods, $src)
1931
1931
>;
1932
1932
}
1933
1933
1934
1934
let OtherPredicates = [HasDLInsts] in {
1935
1935
def : GCNPat <
1936
- (fma (f32 (VOP3Mods0 f32:$src0, i32:$src0_modifiers, i1:$clamp, i32:$omod )),
1936
+ (fma (f32 (VOP3Mods f32:$src0, i32:$src0_modifiers)),
1937
1937
(f32 (VOP3Mods f32:$src1, i32:$src1_modifiers)),
1938
1938
(f32 (VOP3NoMods f32:$src2))),
1939
1939
(V_FMAC_F32_e64 $src0_modifiers, $src0, $src1_modifiers, $src1,
1940
- SRCMODS.NONE, $src2, $clamp, $omod )
1940
+ SRCMODS.NONE, $src2)
1941
1941
>;
1942
1942
} // End OtherPredicates = [HasDLInsts]
1943
1943
1944
1944
let SubtargetPredicate = isGFX10Plus in
1945
1945
def : GCNPat <
1946
- (fma (f16 (VOP3Mods0 f32:$src0, i32:$src0_modifiers, i1:$clamp, i32:$omod )),
1946
+ (fma (f16 (VOP3Mods f32:$src0, i32:$src0_modifiers)),
1947
1947
(f16 (VOP3Mods f32:$src1, i32:$src1_modifiers)),
1948
1948
(f16 (VOP3NoMods f32:$src2))),
1949
1949
(V_FMAC_F16_e64 $src0_modifiers, $src0, $src1_modifiers, $src1,
1950
- SRCMODS.NONE, $src2, $clamp, $omod )
1950
+ SRCMODS.NONE, $src2)
1951
1951
>;
1952
1952
1953
1953
// COPY is workaround tablegen bug from multiple outputs
@@ -2075,13 +2075,11 @@ def : GCNPat <
2075
2075
(V_CNDMASK_B64_PSEUDO
2076
2076
(V_MIN_F64
2077
2077
SRCMODS.NONE,
2078
- (V_FRACT_F64_e64 $mods, $x, DSTCLAMP.NONE, DSTOMOD.NONE ),
2078
+ (V_FRACT_F64_e64 $mods, $x),
2079
2079
SRCMODS.NONE,
2080
- (V_MOV_B64_PSEUDO 0x3fefffffffffffff),
2081
- DSTCLAMP.NONE, DSTOMOD.NONE),
2080
+ (V_MOV_B64_PSEUDO 0x3fefffffffffffff)),
2082
2081
$x,
2083
- (V_CMP_CLASS_F64_e64 SRCMODS.NONE, $x, (i32 3 /*NaN*/))),
2084
- DSTCLAMP.NONE, DSTOMOD.NONE)
2082
+ (V_CMP_CLASS_F64_e64 SRCMODS.NONE, $x, (i32 3 /*NaN*/))))
2085
2083
>;
2086
2084
2087
2085
} // End SubtargetPredicates = isGFX6
0 commit comments