xref: /llvm-project/clang/test/CodeGen/complex-libcalls-2.c (revision 0d501f38f348cf046d40c9baee12f0c5145b6d8c)
1 // RUN: %clang_cc1 -triple x86_64-unknown-unknown -w -o - -emit-llvm %s | FileCheck %s
2 // RUN: %clang_cc1 -triple x86_64-unknown-unknown -w -o - -emit-llvm -fmath-errno %s | FileCheck %s
3 
4 _Complex float conjf(_Complex float);
5 _Complex double conj(_Complex double);
6 _Complex long double conjl(_Complex long double);
7 
test_conjf(float _Complex x)8 float _Complex test_conjf(float _Complex x) {
9 // CHECK-LABEL: @test_conjf(
10 // CHECK: fneg float %x.imag
11   return conjf(x);
12 }
13 
test_conj(double _Complex x)14 double _Complex test_conj(double _Complex x) {
15 // CHECK-LABEL: @test_conj(
16 // CHECK: fneg double %x.imag
17   return conj(x);
18 }
19 
test_conjl(long double _Complex x)20 long double _Complex test_conjl(long double _Complex x) {
21 // CHECK-LABEL: @test_conjl(
22 // CHECK: fneg x86_fp80 %x.imag
23   return conjl(x);
24 }
25