Add "algebraic" versions of the fast-math intrinsics · rust-lang/rust@cc73b71 (original) (raw)

`@@ -86,22 +86,27 @@ pub trait BuilderMethods<'a, 'tcx>:

`

86

86

`fn add(&mut self, lhs: Self::Value, rhs: Self::Value) -> Self::Value;

`

87

87

`fn fadd(&mut self, lhs: Self::Value, rhs: Self::Value) -> Self::Value;

`

88

88

`fn fadd_fast(&mut self, lhs: Self::Value, rhs: Self::Value) -> Self::Value;

`

``

89

`+

fn fadd_algebraic(&mut self, lhs: Self::Value, rhs: Self::Value) -> Self::Value;

`

89

90

`fn sub(&mut self, lhs: Self::Value, rhs: Self::Value) -> Self::Value;

`

90

91

`fn fsub(&mut self, lhs: Self::Value, rhs: Self::Value) -> Self::Value;

`

91

92

`fn fsub_fast(&mut self, lhs: Self::Value, rhs: Self::Value) -> Self::Value;

`

``

93

`+

fn fsub_algebraic(&mut self, lhs: Self::Value, rhs: Self::Value) -> Self::Value;

`

92

94

`fn mul(&mut self, lhs: Self::Value, rhs: Self::Value) -> Self::Value;

`

93

95

`fn fmul(&mut self, lhs: Self::Value, rhs: Self::Value) -> Self::Value;

`

94

96

`fn fmul_fast(&mut self, lhs: Self::Value, rhs: Self::Value) -> Self::Value;

`

``

97

`+

fn fmul_algebraic(&mut self, lhs: Self::Value, rhs: Self::Value) -> Self::Value;

`

95

98

`fn udiv(&mut self, lhs: Self::Value, rhs: Self::Value) -> Self::Value;

`

96

99

`fn exactudiv(&mut self, lhs: Self::Value, rhs: Self::Value) -> Self::Value;

`

97

100

`fn sdiv(&mut self, lhs: Self::Value, rhs: Self::Value) -> Self::Value;

`

98

101

`fn exactsdiv(&mut self, lhs: Self::Value, rhs: Self::Value) -> Self::Value;

`

99

102

`fn fdiv(&mut self, lhs: Self::Value, rhs: Self::Value) -> Self::Value;

`

100

103

`fn fdiv_fast(&mut self, lhs: Self::Value, rhs: Self::Value) -> Self::Value;

`

``

104

`+

fn fdiv_algebraic(&mut self, lhs: Self::Value, rhs: Self::Value) -> Self::Value;

`

101

105

`fn urem(&mut self, lhs: Self::Value, rhs: Self::Value) -> Self::Value;

`

102

106

`fn srem(&mut self, lhs: Self::Value, rhs: Self::Value) -> Self::Value;

`

103

107

`fn frem(&mut self, lhs: Self::Value, rhs: Self::Value) -> Self::Value;

`

104

108

`fn frem_fast(&mut self, lhs: Self::Value, rhs: Self::Value) -> Self::Value;

`

``

109

`+

fn frem_algebraic(&mut self, lhs: Self::Value, rhs: Self::Value) -> Self::Value;

`

105

110

`fn shl(&mut self, lhs: Self::Value, rhs: Self::Value) -> Self::Value;

`

106

111

`fn lshr(&mut self, lhs: Self::Value, rhs: Self::Value) -> Self::Value;

`

107

112

`fn ashr(&mut self, lhs: Self::Value, rhs: Self::Value) -> Self::Value;

`