/freebsd/contrib/llvm-project/llvm/lib/Target/RISCV/ |
H A D | RISCVInstrInfoD.td | 190 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 D | RISCVInstrInfoZfh.td | 211 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 D | RISCVInstrInfoF.td | 404 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 D | RISCVInstrInfoVSDPatterns.td | 740 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 D | ARMInstrVFP.td | 525 [(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 D | LoongArchFloat32InstrInfo.td | 172 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 D | LoongArchFloat64InstrInfo.td | 144 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 D | LoongArchLASXInstrInfo.td | 1465 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 D | LoongArchLSXInstrInfo.td | 1589 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 D | README_P9.txt | 181 (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 D | PPCInstrVSX.td | 420 [(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 D | PPCInstrSPE.td | 219 [(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 D | CSKYInstrInfoF1.td | 107 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 D | CSKYInstrInfoF2.td | 52 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 D | FloatingPointMode.cpp | 14 FPClassTest llvm::fneg(FPClassTest Mask) { in fneg() function in llvm
|
/freebsd/contrib/llvm-project/llvm/lib/Target/AMDGPU/ |
H A D | SIInstructions.td | 1894 (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 D | FloatingPointMode.h | 270 FPClassTest fneg(FPClassTest Mask);
|
/freebsd/contrib/llvm-project/llvm/include/llvm/Target/GlobalISel/ |
H A D | Combine.td | 777 // 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 D | MicroMipsInstrFPU.td | 134 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 D | MipsInstrFPU.td | 534 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 D | ValueTracking.h | 397 void fneg() { in fneg() function 398 KnownFPClasses = llvm::fneg(KnownFPClasses); in fneg()
|
/freebsd/contrib/llvm-project/llvm/lib/Target/SystemZ/ |
H A D | SystemZOperators.td | 814 (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 D | SystemZInstrFP.td | 330 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 D | WebAssemblyInstrFloat.td | 56 defm NEG : UnaryFP<fneg, "neg ", 0x8c, 0x9a>;
|
/freebsd/contrib/llvm-project/llvm/lib/Target/AArch64/ |
H A D | AArch64InstrInfo.td | 4933 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 …]
|