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;
`