search for: fp_sqrt

Displaying 3 results from an estimated 3 matches for "fp_sqrt".

Did you mean: dp_sqrt
2005 Mar 17
1
[LLVMdev] FP Intrinsics
...e are two places to implement > this: LegalizeDAG for the SelectionDAG isels, and > lib/CodeGen/IntrinsicLowering.cpp for other isels. Why not do it in SelectionDAGLowering::visitCall? The way I have implemented it now, this calls TLI.hasNativeSupportForOperation to see if it (for example FP_SQRT) is a legal operation on the target, and if not it sets RenameFn to "sin" and simply goes ahead with generating the call. This is a lot less code than doing it in LegalizeDAG, and also more efficient since it's not first lowered to an instruction and then expanded to a call. m.
2005 Mar 16
0
[LLVMdev] FP Intrinsics
...> it working I would be very grateful... (Note that if you use the > X86ISelSimple it's already working...) One of the problems that jumps out at me in the pattern version is that you have code that looks like this: + case Intrinsic::sqrt: + setValue(&I, DAG.getNode(ISD::FP_SQRT, MVT::f64, + getValue(I.getOperand(1)))); In your case, you're passing in an float, which is 32-bits. You probably want the type argument for this to be whatever the input type is, not hard coded to f64. -Chris -- http://nondot.org/sabre/ http://llvm.cs.uiuc...
2005 Mar 11
5
[LLVMdev] FP Intrinsics
Hello, I am trying to make the FP intrinsics (abs, sin, cos, sqrt) I've added work with the X86ISelPattern, but I'm having some difficulties understanding what needs to be done. I assume I have to add new nodetypes for the FP instructions to SelectionDAGNodes.h, and make nodes for these in SelectionDAGLowering::visitCall when I find the intrinsic... The part I don't quite