6
6
// CHECK-DAG: @csqrt(complex<f64>) -> complex<f64>
7
7
// CHECK-DAG: @ctanhf(complex<f32>) -> complex<f32>
8
8
// CHECK-DAG: @ctanh(complex<f64>) -> complex<f64>
9
+ // CHECK-DAG: @ccos(complex<f64>) -> complex<f64>
10
+ // CHECK-DAG: @csin(complex<f64>) -> complex<f64>
9
11
10
12
// CHECK-LABEL: func @cpow_caller
11
13
// CHECK-SAME: %[[FLOAT:.*]]: complex<f32>
@@ -42,3 +44,27 @@ func.func @ctanh_caller(%float: complex<f32>, %double: complex<f64>) -> (complex
42
44
// CHECK: return %[[FLOAT_RESULT]], %[[DOUBLE_RESULT]]
43
45
return %float_result , %double_result : complex <f32 >, complex <f64 >
44
46
}
47
+
48
+ // CHECK-LABEL: func @ccos_caller
49
+ // CHECK-SAME: %[[FLOAT:.*]]: complex<f32>
50
+ // CHECK-SAME: %[[DOUBLE:.*]]: complex<f64>
51
+ func.func @ccos_caller (%float: complex <f32 >, %double: complex <f64 >) -> (complex <f32 >, complex <f64 >) {
52
+ // CHECK: %[[FLOAT_RESULT:.*]] = call @ccosf(%[[FLOAT]])
53
+ %float_result = complex.cos %float : complex <f32 >
54
+ // CHECK: %[[DOUBLE_RESULT:.*]] = call @ccos(%[[DOUBLE]])
55
+ %double_result = complex.cos %double : complex <f64 >
56
+ // CHECK: return %[[FLOAT_RESULT]], %[[DOUBLE_RESULT]]
57
+ return %float_result , %double_result : complex <f32 >, complex <f64 >
58
+ }
59
+
60
+ // CHECK-LABEL: func @csin_caller
61
+ // CHECK-SAME: %[[FLOAT:.*]]: complex<f32>
62
+ // CHECK-SAME: %[[DOUBLE:.*]]: complex<f64>
63
+ func.func @csin_caller (%float: complex <f32 >, %double: complex <f64 >) -> (complex <f32 >, complex <f64 >) {
64
+ // CHECK: %[[FLOAT_RESULT:.*]] = call @csinf(%[[FLOAT]])
65
+ %float_result = complex.sin %float : complex <f32 >
66
+ // CHECK: %[[DOUBLE_RESULT:.*]] = call @csin(%[[DOUBLE]])
67
+ %double_result = complex.sin %double : complex <f64 >
68
+ // CHECK: return %[[FLOAT_RESULT]], %[[DOUBLE_RESULT]]
69
+ return %float_result , %double_result : complex <f32 >, complex <f64 >
70
+ }
0 commit comments