================ @@ -0,0 +1,49 @@ +// RUN %clang_cc1 %s -O0 -emit-llvm -triple x86_64-unknown-unknown \ +// RUN -verify -complex-range=promoted -o - | FileCheck %s + +// RUN %clang_cc1 %s -O0 -emit-llvm -triple x86_64-unknown-unknown \ +// RUN -verify=nopromotion -complex-range=promoted -target-feature -x87 -o - | FileCheck %s --check-prefix=NOX87 + +// RUN: %clang_cc1 %s -O0 -emit-llvm -triple x86_64-unknown-windows \ +// RUN: -verify=nopromotion -complex-range=promoted -o - | FileCheck %s --check-prefix=NOX87 + +// RUN: %clang_cc1 %s -O0 -emit-llvm -triple x86_64-unknown-windows \ +// RUN: -verify=nopromotion -complex-range=promoted -target-feature -x87 -o - | FileCheck %s --check-prefix=NOX87 + + + +// expected-no-diagnostics + +// CHECK-LABEL: define dso_local <2 x float> @divd +_Complex float divd(_Complex float a, _Complex float b) { + // CHECK: fpext float {{.*}} to double + // CHECK: fpext float {{.*}} to double + // CHECK: fdiv double + // CHECK: fdiv double + // CHECK: fptrunc double {{.*}} to float + // CHECK: fptrunc double {{.*}} to float + + // NOX87: fpext float {{.*}} to double + // NOX87: fpext float {{.*}} to double + // NOX87: fdiv double + // NOX87: fdiv double + // NOX87: fptrunc double {{.*}} to float + // NOX87: fptrunc double {{.*}} to float + + return a / b; +} + +// CHECK-LABEL: define dso_local { double, double } @divf +_Complex double divf(_Complex double a, _Complex double b) { + // CHECK: fpext double {{.*}} to x86_fp80 + // CHECK: fpext double {{.*}} to x86_fp80 + // CHECK: fdiv x86_fp80 + // CHECK: fdiv x86_fp80 + // CHECK: fptrunc x86_fp80 + // CHECK: fptrunc x86_fp80 + + // NOX87: fdiv double ---------------- zahiraam wrote:
Yes, improved. Added more check lines to show that. https://github.com/llvm/llvm-project/pull/133152 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits