Mercurial > hg > CbC > CbC_llvm
diff clang/test/CodeGen/complex-math.c @ 207:2e18cbf3894f
LLVM12
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Tue, 08 Jun 2021 06:07:14 +0900 |
parents | 0572611fdcc8 |
children | c4bab56944e8 |
line wrap: on
line diff
--- a/clang/test/CodeGen/complex-math.c Mon May 25 11:55:54 2020 +0900 +++ b/clang/test/CodeGen/complex-math.c Tue Jun 08 06:07:14 2021 +0900 @@ -5,7 +5,8 @@ // RUN: %clang_cc1 %s -O0 -fno-experimental-new-pass-manager -emit-llvm -triple armv7-none-linux-gnueabi -o - | FileCheck %s --check-prefix=ARM // RUN: %clang_cc1 %s -O0 -fno-experimental-new-pass-manager -emit-llvm -triple armv7-none-linux-gnueabihf -o - | FileCheck %s --check-prefix=ARMHF // RUN: %clang_cc1 %s -O0 -fno-experimental-new-pass-manager -emit-llvm -triple thumbv7k-apple-watchos2.0 -o - -target-abi aapcs16 | FileCheck %s --check-prefix=ARM7K -// RUN: %clang_cc1 %s -O0 -fno-experimental-new-pass-manager -emit-llvm -triple aarch64-unknown-unknown -ffast-math -o - | FileCheck %s --check-prefix=AARCH64-FASTMATH +// RUN: %clang_cc1 %s -O0 -fno-experimental-new-pass-manager -emit-llvm -triple aarch64-unknown-unknown -ffast-math -ffp-contract=fast -o - | FileCheck %s --check-prefix=AARCH64-FASTMATH +// RUN: %clang_cc1 %s -O0 -fno-experimental-new-pass-manager -emit-llvm -triple spir -o - | FileCheck %s --check-prefix=SPIR float _Complex add_float_rr(float a, float b) { // X86-LABEL: @add_float_rr( @@ -107,6 +108,7 @@ // X86: fcmp uno float %[[RI]] // X86: call {{.*}} @__mulsc3( // X86: ret + // SPIR: call spir_func {{.*}} @__mulsc3( return a * b; } @@ -131,6 +133,8 @@ // X86: call {{.*}} @__divsc3( // X86: ret + // SPIR: call spir_func {{.*}} @__divsc3( + // a / b = (A+iB) / (C+iD) = ((AC+BD)/(CC+DD)) + i((BC-AD)/(CC+DD)) // AARCH64-FASTMATH-LABEL: @div_float_rc(float %a, [2 x float] %b.coerce) // A = a @@ -158,6 +162,8 @@ // X86: call {{.*}} @__divsc3( // X86: ret + // SPIR: call spir_func {{.*}} @__divsc3( + // a / b = (A+iB) / (C+iD) = ((AC+BD)/(CC+DD)) + i((BC-AD)/(CC+DD)) // AARCH64-FASTMATH-LABEL: @div_float_cc([2 x float] %a.coerce, [2 x float] %b.coerce) // @@ -278,6 +284,8 @@ // X86: fcmp uno double %[[RI]] // X86: call {{.*}} @__muldc3( // X86: ret + + // SPIR: call spir_func {{.*}} @__muldc3( return a * b; } @@ -302,6 +310,8 @@ // X86: call {{.*}} @__divdc3( // X86: ret + // SPIR: call spir_func {{.*}} @__divdc3( + // a / b = (A+iB) / (C+iD) = ((AC+BD)/(CC+DD)) + i((BC-AD)/(CC+DD)) // AARCH64-FASTMATH-LABEL: @div_double_rc(double %a, [2 x double] %b.coerce) // A = a @@ -329,6 +339,8 @@ // X86: call {{.*}} @__divdc3( // X86: ret + // SPIR: call spir_func {{.*}} @__divdc3( + // a / b = (A+iB) / (C+iD) = ((AC+BD)/(CC+DD)) + i((BC-AD)/(CC+DD)) // AARCH64-FASTMATH-LABEL: @div_double_cc([2 x double] %a.coerce, [2 x double] %b.coerce) // @@ -463,6 +475,7 @@ // PPC: fcmp uno ppc_fp128 %[[RI]] // PPC: call {{.*}} @__multc3( // PPC: ret + // SPIR: call spir_func {{.*}} @__muldc3( return a * b; } @@ -490,6 +503,7 @@ // PPC-NOT: fdiv // PPC: call {{.*}} @__divtc3( // PPC: ret + // SPIR: call spir_func {{.*}} @__divdc3( // a / b = (A+iB) / (C+iD) = ((AC+BD)/(CC+DD)) + i((BC-AD)/(CC+DD)) // AARCH64-FASTMATH-LABEL: @div_long_double_rc(fp128 %a, [2 x fp128] %b.coerce) @@ -521,6 +535,7 @@ // PPC-NOT: fdiv // PPC: call {{.*}} @__divtc3( // PPC: ret + // SPIR: call spir_func {{.*}} @__divdc3( // a / b = (A+iB) / (C+iD) = ((AC+BD)/(CC+DD)) + i((BC-AD)/(CC+DD)) // AARCH64-FASTMATH-LABEL: @div_long_double_cc([2 x fp128] %a.coerce, [2 x fp128] %b.coerce) @@ -603,6 +618,8 @@ // ARM-LABEL: @foo( // ARM: call void @__muldc3 + // SPIR: call spir_func void @__muldc3 + // ARMHF-LABEL: @foo( // ARMHF: call { double, double } @__muldc3