Home
last modified time | relevance | path

Searched refs:fneg (Results 1 – 25 of 50) sorted by relevance

12

/freebsd-14.2/contrib/llvm-project/llvm/lib/Target/RISCV/
H A DRISCVInstrInfoD.td279 def : Pat<(fneg FPR64:$rs1), (FSGNJN_D $rs1, $rs1)>;
296 def : Pat<(any_fma FPR64:$rs1, FPR64:$rs2, (fneg FPR64:$rs3)),
300 def : Pat<(any_fma (fneg FPR64:$rs1), FPR64:$rs2, FPR64:$rs3),
304 def : Pat<(any_fma (fneg FPR64:$rs1), FPR64:$rs2, (fneg FPR64:$rs3)),
308 def : Pat<(fneg (any_fma_nsz FPR64:$rs1, FPR64:$rs2, FPR64:$rs3)),
315 def : Pat<(fneg FPR64INX:$rs1), (FSGNJN_D_INX $rs1, $rs1)>;
321 def : Pat<(fcopysign FPR64INX:$rs1, (fneg FPR64INX:$rs2)),
341 def : Pat<(any_fma (fneg FPR64INX:$rs1), FPR64INX:$rs2, (fneg FPR64INX:$rs3)),
352 def : Pat<(fneg FPR64IN32X:$rs1), (FSGNJN_D_IN32X $rs1, $rs1)>;
358 def : Pat<(fcopysign FPR64IN32X:$rs1, (fneg FPR64IN32X:$rs2)),
[all …]
H A DRISCVInstrInfoZfh.td211 def : InstAlias<"fneg.h $rd, $rs", (FSGNJN_H FPR16:$rd, FPR16:$rs, FPR16:$rs)>;
269 def : Pat<(f16 (fneg FPR16:$rs1)), (FSGNJN_H $rs1, $rs1)>;
284 def : Pat<(f16 (any_fma FPR16:$rs1, FPR16:$rs2, (fneg FPR16:$rs3))),
288 def : Pat<(f16 (any_fma (fneg FPR16:$rs1), FPR16:$rs2, FPR16:$rs3)),
292 def : Pat<(f16 (any_fma (fneg FPR16:$rs1), FPR16:$rs2, (fneg FPR16:$rs3))),
296 def : Pat<(f16 (fneg (any_fma_nsz FPR16:$rs1, FPR16:$rs2, FPR16:$rs3))),
311 def : Pat<(fneg FPR16INX:$rs1), (FSGNJN_H_INX $rs1, $rs1)>;
326 def : Pat<(any_fma FPR16INX:$rs1, FPR16INX:$rs2, (fneg FPR16INX:$rs3)),
330 def : Pat<(any_fma (fneg FPR16INX:$rs1), FPR16INX:$rs2, FPR16INX:$rs3),
334 def : Pat<(any_fma (fneg FPR16INX:$rs1), FPR16INX:$rs2, (fneg FPR16INX:$rs3)),
[all …]
H A DRISCVInstrInfoF.td527 def : Pat<(fneg FPR32:$rs1), (FSGNJN_S $rs1, $rs1)>;
536 def : Pat<(fneg FPR32INX:$rs1), (FSGNJN_S_INX $rs1, $rs1)>;
546 def : Pat<(fcopysign FPR32:$rs1, (fneg FPR32:$rs2)), (FSGNJN_S $rs1, $rs2)>;
553 def : Pat<(any_fma FPR32:$rs1, FPR32:$rs2, (fneg FPR32:$rs3)),
557 def : Pat<(any_fma (fneg FPR32:$rs1), FPR32:$rs2, FPR32:$rs3),
561 def : Pat<(any_fma (fneg FPR32:$rs1), FPR32:$rs2, (fneg FPR32:$rs3)),
565 def : Pat<(fneg (any_fma_nsz FPR32:$rs1, FPR32:$rs2, FPR32:$rs3)),
577 def : Pat<(any_fma FPR32INX:$rs1, FPR32INX:$rs2, (fneg FPR32INX:$rs3)),
581 def : Pat<(any_fma (fneg FPR32INX:$rs1), FPR32INX:$rs2, FPR32INX:$rs3),
585 def : Pat<(any_fma (fneg FPR32INX:$rs1), FPR32INX:$rs2, (fneg FPR32INX:$rs3)),
[all …]
H A DRISCVInstrInfoVSDPatterns.td746 def : Pat<(fma (fneg (wti.Vector (riscv_fpextend_vl_oneuse
751 (fneg wti.RegClass:$rd)),
759 (fneg (wti.Vector (riscv_fpextend_vl_oneuse
762 (fneg wti.RegClass:$rd)),
772 (fneg wti.RegClass:$rd)),
794 (fneg wti.RegClass:$rd)),
804 (fneg wti.RegClass:$rd)),
821 def : Pat<(fma (fneg (wti.Vector (riscv_fpextend_vl_oneuse
834 (fneg (wti.Vector (riscv_fpextend_vl_oneuse
1272 (fneg fvti.RegClass:$rd), (fneg fvti.RegClass:$rs2))),
[all …]
/freebsd-14.2/contrib/llvm-project/llvm/lib/Target/ARM/
H A DARMInstrVFP.td583 def : Pat<(fmul (fneg SPR:$a), SPR:$b),
2296 // (fma (fneg x), y, z) -> (vfms z, x, y)
2345 // (fneg (fma x, y, z)) -> (vfnma z, x, y)
2355 // (fma (fneg x), y, (fneg z)) -> (vfnma z, x, y)
2356 def : Pat<(f64 (fma (fneg DPR:$Dn), DPR:$Dm, (fneg DPR:$Ddin))),
2359 def : Pat<(f32 (fma (fneg SPR:$Sn), SPR:$Sm, (fneg SPR:$Sdin))),
2362 def : Pat<(f16 (fma (fneg (f16 HPR:$Sn)), (f16 HPR:$Sm), (fneg (f16 HPR:$Sdin)))),
2413 // (fneg (fma (fneg x), y, z)) -> (vfnms z, x, y)
2414 def : Pat<(fneg (f64 (fma (fneg DPR:$Dn), DPR:$Dm, DPR:$Ddin))),
2417 def : Pat<(fneg (f32 (fma (fneg SPR:$Sn), SPR:$Sm, SPR:$Sdin))),
[all …]
/freebsd-14.2/contrib/llvm-project/llvm/lib/Target/LoongArch/
H A DLoongArchFloat32InstrInfo.td172 def : PatFpr<fneg, FNEG_S, FPR32>;
295 def : Pat<(fma FPR32:$fj, FPR32:$fk, (fneg FPR32:$fa)),
299 def : Pat<(fneg (fma FPR32:$fj, FPR32:$fk, FPR32:$fa)),
303 def : Pat<(fma_nsz (fneg FPR32:$fj), FPR32:$fk, (fneg FPR32:$fa)),
307 def : Pat<(fneg (fma FPR32:$fj, FPR32:$fk, (fneg FPR32:$fa))),
311 def : Pat<(fma_nsz (fneg FPR32:$fj), FPR32:$fk, FPR32:$fa),
H A DLoongArchFloat64InstrInfo.td144 def : PatFpr<fneg, FNEG_D, FPR64>;
262 def : Pat<(fma FPR64:$fj, FPR64:$fk, (fneg FPR64:$fa)),
266 def : Pat<(fneg (fma FPR64:$fj, FPR64:$fk, FPR64:$fa)),
270 def : Pat<(fma_nsz (fneg FPR64:$fj), FPR64:$fk, (fneg FPR64:$fa)),
274 def : Pat<(fneg (fma FPR64:$fj, FPR64:$fk, (fneg FPR64:$fa))),
278 def : Pat<(fma_nsz (fneg FPR64:$fj), FPR64:$fk, FPR64:$fa),
H A DLoongArchLASXInstrInfo.td1463 def : Pat<(fma v8f32:$xj, v8f32:$xk, (fneg v8f32:$xa)),
1465 def : Pat<(fma v4f64:$xj, v4f64:$xk, (fneg v4f64:$xa)),
1469 def : Pat<(fneg (fma v8f32:$xj, v8f32:$xk, v8f32:$xa)),
1471 def : Pat<(fneg (fma v4f64:$xj, v4f64:$xk, v4f64:$xa)),
1473 def : Pat<(fma_nsz (fneg v8f32:$xj), v8f32:$xk, (fneg v8f32:$xa)),
1475 def : Pat<(fma_nsz (fneg v4f64:$xj), v4f64:$xk, (fneg v4f64:$xa)),
1479 def : Pat<(fneg (fma v8f32:$xj, v8f32:$xk, (fneg v8f32:$xa))),
1481 def : Pat<(fneg (fma v4f64:$xj, v4f64:$xk, (fneg v4f64:$xa))),
1483 def : Pat<(fma_nsz (fneg v8f32:$xj), v8f32:$xk, v8f32:$xa),
1485 def : Pat<(fma_nsz (fneg v4f64:$xj), v4f64:$xk, v4f64:$xa),
[all …]
H A DLoongArchLSXInstrInfo.td1563 def : Pat<(fma v4f32:$vj, v4f32:$vk, (fneg v4f32:$va)),
1565 def : Pat<(fma v2f64:$vj, v2f64:$vk, (fneg v2f64:$va)),
1569 def : Pat<(fneg (fma v4f32:$vj, v4f32:$vk, v4f32:$va)),
1571 def : Pat<(fneg (fma v2f64:$vj, v2f64:$vk, v2f64:$va)),
1573 def : Pat<(fma_nsz (fneg v4f32:$vj), v4f32:$vk, (fneg v4f32:$va)),
1575 def : Pat<(fma_nsz (fneg v2f64:$vj), v2f64:$vk, (fneg v2f64:$va)),
1579 def : Pat<(fneg (fma v4f32:$vj, v4f32:$vk, (fneg v4f32:$va))),
1581 def : Pat<(fneg (fma v2f64:$vj, v2f64:$vk, (fneg v2f64:$va))),
1583 def : Pat<(fma_nsz (fneg v4f32:$vj), v4f32:$vk, v4f32:$va),
1585 def : Pat<(fma_nsz (fneg v2f64:$vj), v2f64:$vk, v2f64:$va),
[all …]
/freebsd-14.2/contrib/llvm-project/llvm/lib/Target/PowerPC/
H A DREADME_P9.txt181 (set f128:$vT, (fneg (fabs f128:$vB))) // xsnabsqp
182 (set f128:$vT, (fneg f128:$vB)) // xsnegqp
231 [(set f128:$vT, (fma f128:$vA, f128:$vB, (fneg f128:$vTi)))]>,
236 [(set f128:$vT, (fneg (fma f128:$vA, f128:$vB, f128:$vTi)))]>,
241 [(set f128:$vT, (fneg (fma f128:$vA, f128:$vB, (fneg f128:$vTi))))]>,
283 [(set f128:$vT, (PPCfmarto f128:$vA, f128:$vB, (fneg f128:$vTi)))]>,
288 [(set f128:$vT, (fneg (PPCfmarto f128:$vA, f128:$vB, f128:$vTi)))]>,
293 [(set f128:$vT, (fneg (PPCfmarto f128:$vA, f128:$vB, (fneg f128:$vTi))))]>,
H A DPPCInstrVSX.td452 [(set f64:$XT, (fneg (any_fma f64:$XA, f64:$XB, (fneg f64:$XTi))))]>,
564 … [(set v2f64:$XT, (fneg (any_fma v2f64:$XA, v2f64:$XB, (fneg v2f64:$XTi))))]>,
580 … [(set v4f32:$XT, (fneg (any_fma v4f32:$XA, v4f32:$XB, (fneg v4f32:$XTi))))]>,
716 [(set f64:$XT, (fneg f64:$XB))]>;
2517 def : Pat<(fneg (PPCfnmsub f64:$A, f64:$B, f64:$C)),
2519 def : Pat<(PPCfnmsub f64:$A, f64:$B, (fneg f64:$C)),
2731 def : Pat<(f32 (fneg (fabs f32:$S))),
3299 def : Pat<(fneg (PPCfnmsub f32:$A, f32:$B, f32:$C)),
3301 def : Pat<(PPCfnmsub f32:$A, f32:$B, (fneg f32:$C)),
3308 def : Pat<(f32 (fneg f32:$S)),
[all …]
H A DPPCInstrSPE.td219 [(set f64:$RT, (fneg (fabs f64:$RA)))]>;
223 [(set f64:$RT, (fneg f64:$RA))]>;
306 [(set f32:$RT, (fneg (fabs f32:$RA)))]>;
310 [(set f32:$RT, (fneg f32:$RA))]>;
/freebsd-14.2/contrib/llvm-project/llvm/lib/Target/CSKY/
H A DCSKYInstrInfoF1.td107 def FNEGM : F_XZ<0x2, 0b000111, "fnegm", "", UnOpFrag<(fneg node:$Src)>, sFPR64_V_OP>;
111 def FNMULM : F_XYZ<0x2, 0b010001, "fnmulm", "", BinOpFrag<(fneg (fmul node:$LHS, node:$RHS))>, sFPR…
115 def FNMSCM : F_ACCUM_XYZ<0x2, 0b010111, "fnmscm", "", TriOpFrag<(fneg (fadd node:$LHS, (fmul node:$…
120 defm FNEG : FT_XZ<0b000111, "fneg", UnOpFrag<(fneg node:$Src)>>;
127 defm FNMUL : FT_XYZ<0b010001, "fnmul", BinOpFrag<(fneg (fmul node:$LHS, node:$RHS))>>;
131 defm FNMSC : FT_ACCUM_XYZ<0b010111, "fnmsc", TriOpFrag<(fneg (fadd node:$LHS, (fmul node:$MHS, nod…
146 def : Pat<(f32 (fmul (fneg sFPR32Op:$vrx), sFPR32Op:$vry)),
150 def : Pat<(f64 (fmul (fneg sFPR64Op:$vrx), sFPR64Op:$vry)),
H A DCSKYInstrInfoF2.td52 defm f2FNEG : F2_XZ_T<0b000111, "fneg", fneg>;
194 TriOpFrag<(fma (fneg node:$LHS), node:$MHS, node:$RHS)>>;
197 TriOpFrag<(fneg (fma node:$LHS, node:$MHS, node:$RHS))>>;
200 TriOpFrag<(fma node:$LHS, node:$MHS, (fneg node:$RHS))>>;
203 TriOpFrag<(fneg (fadd (fmul node:$LHS, node:$MHS), node:$RHS))>>;
206 TriOpFrag<(fneg (fsub node:$RHS, (fmul node:$LHS, node:$MHS)))>>;
209 BinOpFrag<(fneg (fmul node:$LHS, node:$RHS))>>;
213 def : Pat<(f32 (fmul (fneg FPR32Op:$vrx), FPR32Op:$vry)),
217 def : Pat<(f64 (fmul (fneg FPR64Op:$vrx), FPR64Op:$vry)),
/freebsd-14.2/contrib/llvm-project/llvm/lib/Support/
H A DFloatingPointMode.cpp14 FPClassTest llvm::fneg(FPClassTest Mask) { in fneg() function in llvm
/freebsd-14.2/contrib/llvm-project/llvm/include/llvm/Target/GlobalISel/
H A DCombine.td735 // Fold (fneg (fneg x)) -> x.
760 // Fold (fabs (fneg x)) -> (fabs x).
1085 // Transform (fsub +-0.0, X) -> (fneg X)
1143 // Transform (fsub (fneg (fmul, x, y)), z) -> (fma (fneg x), y, (fneg z))
1144 // (fsub x, (fneg (fmul, y, z))) -> (fma y, z, x)
1153 // (fma (fpext x), (fpext y), (fneg z))
1161 // Transform (fsub (fneg (fpext (fmul x, y))), z) ->
1162 // (fneg (fma (fpext x), (fpext y), z))
H A DSelectionDAGCompat.td93 def : GINodeEquiv<G_FNEG, fneg>;
/freebsd-14.2/contrib/llvm-project/llvm/lib/Target/AMDGPU/
H A DSIInstructions.td1900 (UniformUnaryFrag<fneg> (f32 SReg_32:$src)),
1929 // This is really (fneg (fabs v2f16:$src))
2012 (fneg (fabs (f32 VGPR_32:$src))),
2022 (fneg (f32 VGPR_32:$src)),
2032 (fneg (f16 VGPR_32:$src)),
2037 (fneg (fabs (f16 VGPR_32:$src))),
2042 (fneg (v2f16 VGPR_32:$src)),
2052 (fneg (v2f16 (fabs VGPR_32:$src))),
2067 (fneg (f64 VReg_64:$src)),
2077 (fneg (fabs (f64 VReg_64:$src))),
[all …]
/freebsd-14.2/contrib/llvm-project/llvm/include/llvm/ADT/
H A DFloatingPointMode.h270 FPClassTest fneg(FPClassTest Mask);
/freebsd-14.2/contrib/llvm-project/llvm/lib/Target/Mips/
H A DMicroMipsInstrFPU.td134 def FNEG_S_MM : MMRel, ABSS_FT<"neg.s", FGR32Opnd, FGR32Opnd, II_NEG, fneg>,
161 defm FNEG : ABSS_MMM<"neg.d", II_NEG, fneg>, ABS_FM_MM<1, 0x2d>;
402 // To generate NMADD and NMSUB instructions when fneg node is present
H A DMipsInstrFPU.td534 def FNEG_S : MMRel, ABSS_FT<"neg.s", FGR32Opnd, FGR32Opnd, II_NEG, fneg>,
537 defm FNEG : ABSS_M<"neg.d", II_NEG, fneg>, ABSS_FM<0x7, 17>, ISA_MIPS1;
984 // To generate NMADD and NMSUB instructions when fneg node is present
986 def : MipsPat<(fneg (fadd (fmul RC:$fs, RC:$ft), RC:$fr)),
988 def : MipsPat<(fneg (fsub (fmul RC:$fs, RC:$ft), RC:$fr)),
/freebsd-14.2/contrib/llvm-project/llvm/lib/Target/SystemZ/
H A DSystemZOperators.td712 (any_fma node:$src1, node:$src2, (fneg node:$src3))>;
719 (any_fma node:$src2, node:$src3, (fneg node:$src1))>;
723 (fneg (any_fma node:$src1, node:$src2, node:$src3))>;
725 (fneg (any_fms node:$src1, node:$src2, node:$src3))>;
728 def fnabs : PatFrag<(ops node:$ptr), (fneg (fabs node:$ptr))>;
H A DSystemZInstrFP.td330 def LCXBR : UnaryRRE<"lcxbr", 0xB343, fneg, FP128, FP128>;
333 def LCDFR : UnaryRRE<"lcdfr", 0xB373, fneg, FP64, FP64>;
335 def LCDFR_32 : UnaryRRE<"lcdfr", 0xB373, fneg, FP32, FP32>;
/freebsd-14.2/contrib/llvm-project/llvm/include/llvm/Analysis/
H A DValueTracking.h337 void fneg() { in fneg() function
338 KnownFPClasses = llvm::fneg(KnownFPClasses); in fneg()
/freebsd-14.2/contrib/llvm-project/llvm/lib/Target/WebAssembly/
H A DWebAssemblyInstrFloat.td56 defm NEG : UnaryFP<fneg, "neg ", 0x8c, 0x9a>;

12