Break circular dependency between FIR dialect and utilities
[llvm-project.git] / flang / test / Fir / convert.fir
blobef9242ef1d8b410b070226b2bf8159d475237712
1 // RUN: tco --target=x86_64-unknown-linux-gnu %s | FileCheck %s
3 // CHECK-LABEL: define { double, double } @c(<2 x float> %
4 func.func @c(%x : !fir.complex<4>) -> !fir.complex<8> {
5 // CHECK: %[[R:.*]] = extractvalue { float, float } %{{.*}}, 0
6 // CHECK: %[[I:.*]] = extractvalue { float, float } %{{.*}}, 1
7 // CHECK: %[[CR:.*]] = fpext float %[[R]] to double
8 // CHECK: %[[CI:.*]] = fpext float %[[I]] to double
9 // CHECK: %[[X:.*]] = insertvalue { double, double } undef, double %[[CR]], 0
10 // CHECK: insertvalue { double, double } %[[X]], double %[[CI]], 1
11   %1 = fir.convert %x : (!fir.complex<4>) -> !fir.complex<8>
12   return %1 : !fir.complex<8>