@@ -114,21 +114,20 @@ function recursive_muladd_search!(call, argv, cnmul::Bool = false, csub::Bool =
114
114
length (call. args) == 4 , cnmul, csub
115
115
end
116
116
117
- function capture_muladd (ex:: Expr , mod, @nospecialize (LHS) = nothing )
117
+ function capture_muladd (ex:: Expr , mod)
118
118
call = Expr (:call , Symbol (" " ), Symbol (" " ), Symbol (" " ))
119
119
found, nmul, sub = recursive_muladd_search! (call, ex. args)
120
120
found || return ex
121
121
# a, b, c = call.args[2], call.args[3], call.args[4]
122
122
# call.args[2], call.args[3], call.args[4] = c, a, b
123
- clobber = false # call.args[4] == LHS
124
123
f = if nmul && sub
125
- clobber ? :vfnmsub231 : :vfnmsub
124
+ :vfnmsub
126
125
elseif nmul
127
- clobber ? :vfnmadd231 : :vfnmadd
126
+ :vfnmadd
128
127
elseif sub
129
- clobber ? :vfmsub231 : :vfmsub
128
+ :vfmsub
130
129
else
131
- clobber ? :vfmadd231 : :vfmadd
130
+ :vfmadd
132
131
end
133
132
if mod === nothing
134
133
call. args[1 ] = f
@@ -163,7 +162,7 @@ function contract!(expr::Expr, ex::Expr, i::Int, mod)
163
162
RHS = ex. args[2 ]
164
163
# @show ex
165
164
if RHS isa Expr && RHS. head === :call
166
- ex. args[2 ] = capture_muladd (RHS, mod, ex . args[ 1 ] )
165
+ ex. args[2 ] = capture_muladd (RHS, mod)
167
166
end
168
167
end
169
168
contract_pass! (expr. args[i], mod)
0 commit comments