Home
last modified time | relevance | path

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

123

/freebsd/contrib/llvm-project/llvm/lib/Target/RISCV/
H A DRISCVInstrInfoD.td190 def : InstAlias<"fneg.d $rd, $rs", (FSGNJN_D FPR64:$rd, FPR64:$rs, FPR64:$rs)>;
209 def : InstAlias<"fneg.d $rd, $rs", (FSGNJN_D_INX FPR64INX:$rd, FPR64INX:$rs, FPR64INX:$rs)>;
223 def : InstAlias<"fneg.d $rd, $rs", (FSGNJN_D_IN32X FPR64IN32X:$rd, FPR64IN32X:$rs, FPR64IN32X:$rs)>;
279 def : Pat<(fneg FPR64:$rs1), (FSGNJN_D $rs1, $rs1)>;
285 def : Pat<(fcopysign FPR64:$rs1, (fneg FPR64:$rs2)), (FSGNJN_D $rs1, $rs2)>;
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)>;
[all …]
H A DRISCVInstrInfoZfh.td211 def : InstAlias<"fneg.h $rd, $rs", (FSGNJN_H FPR16:$rd, FPR16:$rs, FPR16:$rs)>;
234 def : InstAlias<"fneg.h $rd, $rs", (FSGNJN_H_INX FPR16INX:$rd, FPR16INX:$rs, FPR16INX:$rs)>;
269 def : Pat<(f16 (fneg FPR16:$rs1)), (FSGNJN_H $rs1, $rs1)>;
275 def : Pat<(f16 (fcopysign FPR16:$rs1, (f16 (fneg FPR16:$rs2)))), (FSGNJN_H $rs1, $rs2)>;
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)>;
317 def : Pat<(fcopysign FPR16INX:$rs1, (fneg FPR16INX:$rs2)), (FSGNJN_H_INX $rs1, $rs2)>;
[all …]
H A DRISCVInstrInfoF.td404 def : InstAlias<"fneg.s $rd, $rs", (FSGNJN_S FPR32:$rd, FPR32:$rs, FPR32:$rs)>;
453 def : InstAlias<"fneg.s $rd, $rs", (FSGNJN_S_INX FPR32INX:$rd, FPR32INX:$rs, FPR32INX:$rs)>;
527 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)),
570 def : Pat<(fcopysign FPR32INX:$rs1, (fneg FPR32INX:$rs2)), (FSGNJN_S_INX $rs1, $rs2)>;
[all …]
H A DRISCVInstrInfoVSDPatterns.td740 def : Pat<(fma (fneg (wti.Vector (riscv_fpextend_vl_oneuse
745 (fneg wti.RegClass:$rd)),
753 (fneg (wti.Vector (riscv_fpextend_vl_oneuse
756 (fneg wti.RegClass:$rd)),
763 …def : Pat<(fma (fneg (wti.Vector (SplatFPOp (fpext_oneuse (vti.Scalar vti.ScalarRegClass:$rs1))))),
766 (fneg wti.RegClass:$rd)),
789 (fneg wti.RegClass:$rd)),
799 (fneg wti.RegClass:$rd)),
817 def : Pat<(fma (fneg (wti.Vector (riscv_fpextend_vl_oneuse
830 (fneg (wti.Vector (riscv_fpextend_vl_oneuse
[all …]
/freebsd/contrib/llvm-project/llvm/lib/Target/ARM/
H A DARMInstrVFP.td525 [(set DPR:$Dd, (fneg (fmul DPR:$Dn, (f64 DPR:$Dm))))]>,
532 [(set SPR:$Sd, (fneg (fmul SPR:$Sn, SPR:$Sm)))]>,
543 [(set (f16 HPR:$Sd), (fneg (fmul (f16 HPR:$Sn), (f16 HPR:$Sm))))]>,
602 def : Pat<(fmul (fneg DPR:$a), (f64 DPR:$b)),
605 def : Pat<(fmul (fneg SPR:$a), SPR:$b),
1027 [(set DPR:$Dd, (fneg (f64 DPR:$Dm)))]>;
1032 [(set SPR:$Sd, (fneg SPR:$Sm))]> {
1041 [(set (f16 HPR:$Sd), (fneg (f16 HPR:$Sm)))]>;
1314 // Hoist an fabs or a fneg of a value coming from integer registers
1315 // and do the fabs/fneg on the integer value. This is never a lose
[all …]
/freebsd/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.td1465 def : Pat<(fma v8f32:$xj, v8f32:$xk, (fneg v8f32:$xa)),
1467 def : Pat<(fma v4f64:$xj, v4f64:$xk, (fneg v4f64:$xa)),
1471 def : Pat<(fneg (fma v8f32:$xj, v8f32:$xk, v8f32:$xa)),
1473 def : Pat<(fneg (fma v4f64:$xj, v4f64:$xk, v4f64:$xa)),
1475 def : Pat<(fma_nsz (fneg v8f32:$xj), v8f32:$xk, (fneg v8f32:$xa)),
1477 def : Pat<(fma_nsz (fneg v4f64:$xj), v4f64:$xk, (fneg v4f64:$xa)),
1481 def : Pat<(fneg (fma v8f32:$xj, v8f32:$xk, (fneg v8f32:$xa))),
1483 def : Pat<(fneg (fma v4f64:$xj, v4f64:$xk, (fneg v4f64:$xa))),
1485 def : Pat<(fma_nsz (fneg v8f32:$xj), v8f32:$xk, v8f32:$xa),
1487 def : Pat<(fma_nsz (fneg v4f64:$xj), v4f64:$xk, v4f64:$xa),
[all …]
H A DLoongArchLSXInstrInfo.td1589 def : Pat<(fma v4f32:$vj, v4f32:$vk, (fneg v4f32:$va)),
1591 def : Pat<(fma v2f64:$vj, v2f64:$vk, (fneg v2f64:$va)),
1595 def : Pat<(fneg (fma v4f32:$vj, v4f32:$vk, v4f32:$va)),
1597 def : Pat<(fneg (fma v2f64:$vj, v2f64:$vk, v2f64:$va)),
1599 def : Pat<(fma_nsz (fneg v4f32:$vj), v4f32:$vk, (fneg v4f32:$va)),
1601 def : Pat<(fma_nsz (fneg v2f64:$vj), v2f64:$vk, (fneg v2f64:$va)),
1605 def : Pat<(fneg (fma v4f32:$vj, v4f32:$vk, (fneg v4f32:$va))),
1607 def : Pat<(fneg (fma v2f64:$vj, v2f64:$vk, (fneg v2f64:$va))),
1609 def : Pat<(fma_nsz (fneg v4f32:$vj), v4f32:$vk, v4f32:$va),
1611 def : Pat<(fma_nsz (fneg v2f64:$vj), v2f64:$vk, v2f64:$va),
[all …]
/freebsd/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.td420 [(set f64:$XT, (any_fma f64:$XA, f64:$XB, (fneg f64:$XTi)))]>,
436 [(set f64:$XT, (fneg (any_fma f64:$XA, f64:$XB, f64:$XTi)))]>,
452 [(set f64:$XT, (fneg (any_fma f64:$XA, f64:$XB, (fneg f64:$XTi))))]>,
500 [(set v2f64:$XT, (any_fma v2f64:$XA, v2f64:$XB, (fneg v2f64:$XTi)))]>,
516 [(set v4f32:$XT, (any_fma v4f32:$XA, v4f32:$XB, (fneg v4f32:$XTi)))]>,
532 [(set v2f64:$XT, (fneg (any_fma v2f64:$XA, v2f64:$XB, v2f64:$XTi)))]>,
548 [(set v4f32:$XT, (fneg (fma v4f32:$XA, v4f32:$XB, v4f32:$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))))]>,
707 [(set f64:$XT, (fneg (fabs f64:$XB)))]>;
[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/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))>, sFPR64_V_OP>;
115 def FNMSCM : F_ACCUM_XYZ<0x2, 0b010111, "fnmscm", "", TriOpFrag<(fneg (fadd node:$LHS, (fmul node:$MHS, node:$RHS)))>, sFPR64_V_OP>;
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, node:$RHS)))>>;
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 FPR64O
[all...]
/freebsd/contrib/llvm-project/llvm/lib/Support/
H A DFloatingPointMode.cpp14 FPClassTest llvm::fneg(FPClassTest Mask) { in fneg() function in llvm
/freebsd/contrib/llvm-project/llvm/lib/Target/AMDGPU/
H A DSIInstructions.td1894 (UniformUnaryFrag<fneg> (fabs (f32 SReg_32:$src))),
1904 (UniformUnaryFrag<fneg> (f32 SReg_32:$src)),
1910 (UniformUnaryFrag<fneg> (fp16vt SReg_32:$src)),
1920 (UniformUnaryFrag<fneg> (fabs (fp16vt SReg_32:$src))),
1926 (UniformUnaryFrag<fneg> (v2f16 SReg_32:$src)),
1935 // This is really (fneg (fabs v2f16:$src))
1940 (UniformUnaryFrag<fneg> (v2f16 (bitconvert (and_oneuse (i32 SReg_32:$src), 0x7fff7fff)))),
1945 (UniformUnaryFrag<fneg> (v2f16 (fabs SReg_32:$src))),
1953 (UniformUnaryFrag<fneg> (v2f32 SReg_64:$src)),
1975 (UniformUnaryFrag<fneg> (fabs (v2f32 SReg_64:$src))),
[all …]
/freebsd/contrib/llvm-project/llvm/include/llvm/ADT/
H A DFloatingPointMode.h270 FPClassTest fneg(FPClassTest Mask);
/freebsd/contrib/llvm-project/llvm/include/llvm/Target/GlobalISel/
H A DCombine.td777 // Fold (fneg (fneg x)) -> x.
802 // Fold (fabs (fneg x)) -> (fabs x).
1168 // Transform (fsub +-0.0, X) -> (fneg X)
1226 // Transform (fsub (fneg (fmul, x, y)), z) -> (fma (fneg x), y, (fneg z))
1227 // (fsub x, (fneg (fmul, y, z))) -> (fma y, z, x)
1236 // (fma (fpext x), (fpext y), (fneg z))
1244 // Transform (fsub (fneg (fpext (fmul x, y))), z) ->
1245 // (fneg (fma (fpext x), (fpext y), z))
/freebsd/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/contrib/llvm-project/llvm/include/llvm/Analysis/
H A DValueTracking.h397 void fneg() { in fneg() function
398 KnownFPClasses = llvm::fneg(KnownFPClasses); in fneg()
/freebsd/contrib/llvm-project/llvm/lib/Target/SystemZ/
H A DSystemZOperators.td814 (any_fma node:$src1, node:$src2, (fneg node:$src3))>;
821 (any_fma node:$src2, node:$src3, (fneg node:$src1))>;
825 (fneg (any_fma node:$src1, node:$src2, node:$src3))>;
827 (fneg (any_fms node:$src1, node:$src2, node:$src3))>;
830 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/contrib/llvm-project/llvm/lib/Target/WebAssembly/
H A DWebAssemblyInstrFloat.td56 defm NEG : UnaryFP<fneg, "neg ", 0x8c, 0x9a>;
/freebsd/contrib/llvm-project/llvm/lib/Target/AArch64/
H A DAArch64InstrInfo.td4933 defm FNEG : SingleOperandFPDataNoException<0b0010, "fneg", fneg>;
5035 def : Pat<(fmul (fneg FPR16:$a), (f16 FPR16:$b)),
5038 def : Pat<(fmul (fneg FPR32:$a), (f32 FPR32:$b)),
5040 def : Pat<(fmul (fneg FPR64:$a), (f64 FPR64:$b)),
5058 TriOpFrag<(any_fma node:$LHS, (fneg node:$MHS), node:$RHS)> >;
5060 TriOpFrag<(fneg (any_fma node:$LHS, node:$MHS, node:$RHS))> >;
5062 TriOpFrag<(any_fma node:$LHS, node:$MHS, (fneg node:$RHS))> >;
5073 def : Pat<(f16 (fma (fneg FPR16:$Rn), FPR16:$Rm, FPR16:$Ra)),
5076 def : Pat<(f32 (fma (fneg FPR32:$Rn), FPR32:$Rm, FPR32:$Ra)),
5079 def : Pat<(f64 (fma (fneg FPR64:$Rn), FPR64:$Rm, FPR64:$Ra)),
[all …]

123