@@ -995,6 +995,48 @@ def G_FTAN : GenericInstruction {
995
995
let hasSideEffects = false;
996
996
}
997
997
998
+ // Floating point arccosine of a value.
999
+ def G_FACOS : GenericInstruction {
1000
+ let OutOperandList = (outs type0:$dst);
1001
+ let InOperandList = (ins type0:$src1);
1002
+ let hasSideEffects = false;
1003
+ }
1004
+
1005
+ // Floating point arcsine of a value.
1006
+ def G_FASIN : GenericInstruction {
1007
+ let OutOperandList = (outs type0:$dst);
1008
+ let InOperandList = (ins type0:$src1);
1009
+ let hasSideEffects = false;
1010
+ }
1011
+
1012
+ // Floating point arctangent of a value.
1013
+ def G_FATAN : GenericInstruction {
1014
+ let OutOperandList = (outs type0:$dst);
1015
+ let InOperandList = (ins type0:$src1);
1016
+ let hasSideEffects = false;
1017
+ }
1018
+
1019
+ // Floating point hyperbolic cosine of a value.
1020
+ def G_FCOSH : GenericInstruction {
1021
+ let OutOperandList = (outs type0:$dst);
1022
+ let InOperandList = (ins type0:$src1);
1023
+ let hasSideEffects = false;
1024
+ }
1025
+
1026
+ // Floating point hyperbolic sine of a value.
1027
+ def G_FSINH : GenericInstruction {
1028
+ let OutOperandList = (outs type0:$dst);
1029
+ let InOperandList = (ins type0:$src1);
1030
+ let hasSideEffects = false;
1031
+ }
1032
+
1033
+ // Floating point hyperbolic tangent of a value.
1034
+ def G_FTANH : GenericInstruction {
1035
+ let OutOperandList = (outs type0:$dst);
1036
+ let InOperandList = (ins type0:$src1);
1037
+ let hasSideEffects = false;
1038
+ }
1039
+
998
1040
// Floating point square root of a value.
999
1041
// This returns NaN for negative nonzero values.
1000
1042
// NOTE: Unlike libm sqrt(), this never sets errno. In all other respects it's
0 commit comments