// FP_EXTEND - Extend a smaller FP type into a larger FP type.
FP_EXTEND,
- // FNEG, FABS - Perform unary floating point negation and absolute value
- // operations.
- FNEG, FABS,
+ // FNEG, FABS, FSQRT, FSIN, FCOS - Perform unary floating point negation,
+ // absolute value, square root, sine and cosine operations.
+ FNEG, FABS, FSQRT, FSIN, FCOS,
// Other operators. LOAD and STORE have token chains as their first
// operand, then the same operands as an LLVM load/store instruction.
// Unary operators
case ISD::FABS: return "fabs";
case ISD::FNEG: return "fneg";
+ case ISD::FSQRT: return "fsqrt";
+ case ISD::FSIN: return "fsin";
+ case ISD::FCOS: return "fcos";
// Binary operators
case ISD::ADD: return "add";
case ISD::SRA_PARTS: return "sra_parts";
case ISD::SRL_PARTS: return "srl_parts";
- // Conversion operators.
+ // Conversion operators.
case ISD::SIGN_EXTEND: return "sign_extend";
case ISD::ZERO_EXTEND: return "zero_extend";
case ISD::SIGN_EXTEND_INREG: return "sign_extend_inreg";