@@ -152,6 +152,10 @@ const COST = Dict{Instruction,InstructionCost}(
152
152
Instruction (:vfmsub ) => InstructionCost (4 ,0.5 ), # - and * will fuse into this, so much of the time they're not twice as expensive
153
153
Instruction (:vfnmadd ) => InstructionCost (4 ,0.5 ), # + and -* will fuse into this, so much of the time they're not twice as expensive
154
154
Instruction (:vfnmsub ) => InstructionCost (4 ,0.5 ), # - and -* will fuse into this, so much of the time they're not twice as expensive
155
+ Instruction (:vfmadd231 ) => InstructionCost (4 ,0.5 ), # + and * will fuse into this, so much of the time they're not twice as expensive
156
+ Instruction (:vfmsub231 ) => InstructionCost (4 ,0.5 ), # - and * will fuse into this, so much of the time they're not twice as expensive
157
+ Instruction (:vfnmadd231 ) => InstructionCost (4 ,0.5 ), # + and -* will fuse into this, so much of the time they're not twice as expensive
158
+ Instruction (:vfnmsub231 ) => InstructionCost (4 ,0.5 ), # - and -* will fuse into this, so much of the time they're not twice as expensive
155
159
Instruction (:vfmadd! ) => InstructionCost (4 ,0.5 ), # + and * will fuse into this, so much of the time they're not twice as expensive
156
160
Instruction (:vfnmadd! ) => InstructionCost (4 ,0.5 ), # + and -* will fuse into this, so much of the time they're not twice as expensive
157
161
Instruction (:vfmsub! ) => InstructionCost (4 ,0.5 ), # + and * will fuse into this, so much of the time they're not twice as expensive
@@ -233,6 +237,10 @@ const REDUCTION_CLASS = Dict{Symbol,Float64}(
233
237
:vfmsub => ADDITIVE_IN_REDUCTIONS,
234
238
:vfnmadd => ADDITIVE_IN_REDUCTIONS,
235
239
:vfnmsub => ADDITIVE_IN_REDUCTIONS,
240
+ :vfmadd231 => ADDITIVE_IN_REDUCTIONS,
241
+ :vfmsub231 => ADDITIVE_IN_REDUCTIONS,
242
+ :vfnmadd231 => ADDITIVE_IN_REDUCTIONS,
243
+ :vfnmsub231 => ADDITIVE_IN_REDUCTIONS,
236
244
:vfmadd! => ADDITIVE_IN_REDUCTIONS,
237
245
:vfnmadd! => ADDITIVE_IN_REDUCTIONS,
238
246
:vfmsub! => ADDITIVE_IN_REDUCTIONS,
@@ -316,6 +324,10 @@ const FUNCTIONSYMBOLS = Dict{Type{<:Function},Instruction}(
316
324
typeof (SIMDPirates. vfmsub) => :vfmsub ,
317
325
typeof (SIMDPirates. vfnmadd) => :vfnmadd ,
318
326
typeof (SIMDPirates. vfnmsub) => :vfnmsub ,
327
+ typeof (SIMDPirates. vfmadd231) => :vfmadd231 ,
328
+ typeof (SIMDPirates. vfmsub231) => :vfmsub231 ,
329
+ typeof (SIMDPirates. vfnmadd231) => :vfnmadd231 ,
330
+ typeof (SIMDPirates. vfnmsub231) => :vfnmsub231 ,
319
331
typeof (SIMDPirates. vfmadd!) => :vfmadd! ,
320
332
typeof (SIMDPirates. vfnmadd!) => :vfnmadd! ,
321
333
typeof (SIMDPirates. vfmsub!) => :vfmsub! ,
0 commit comments