-
Notifications
You must be signed in to change notification settings - Fork 15.3k
Closed
Labels
floating-pointFloating-point mathFloating-point mathgood first issuehttps://github.com/llvm/llvm-project/contributehttps://github.com/llvm/llvm-project/contributellvm:SelectionDAGSelectionDAGISel as wellSelectionDAGISel as well
Description
fneg, fabs and fcopysign are defined as bit operations, and should be subject to bitwise simplification. Fneg is xor with a signbit mask, fabs is and with a sign mask, and fcopysign is and signbit mask, and inverted signbit mask, and or.
This would allow deleting more specific optimizations in visitFCOPYSIGN
This was brought up in #97180 (comment)_
Attaching starter patch to point where this needs to go:
0001-TODO-Support-FABS-FCOPYSIGN-FNEG-in-SimplifyDemanded.patch
Metadata
Metadata
Labels
floating-pointFloating-point mathFloating-point mathgood first issuehttps://github.com/llvm/llvm-project/contributehttps://github.com/llvm/llvm-project/contributellvm:SelectionDAGSelectionDAGISel as wellSelectionDAGISel as well