Mercurial > hg > CbC > CbC_llvm
diff clang/test/Driver/hip-device-libs.hip @ 221:79ff65ed7e25
LLVM12 Original
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Tue, 15 Jun 2021 19:15:29 +0900 |
parents | 0572611fdcc8 |
children | c4bab56944e8 |
line wrap: on
line diff
--- a/clang/test/Driver/hip-device-libs.hip Tue Jun 15 19:13:43 2021 +0900 +++ b/clang/test/Driver/hip-device-libs.hip Tue Jun 15 19:15:29 2021 +0900 @@ -8,7 +8,7 @@ // Test subtarget with flushing on by default. // RUN: %clang -### -target x86_64-linux-gnu \ // RUN: --cuda-gpu-arch=gfx803 \ -// RUN: --rocm-path=%S/Inputs/rocm-device-libs \ +// RUN: --rocm-path=%S/Inputs/rocm \ // RUN: %S/Inputs/hip_multiple_inputs/b.hip \ // RUN: 2>&1 | FileCheck %s --check-prefixes=ALL,FLUSHD @@ -16,7 +16,7 @@ // Test subtarget with flushing off by ddefault. // RUN: %clang -### -target x86_64-linux-gnu \ // RUN: --cuda-gpu-arch=gfx900 \ -// RUN: --rocm-path=%S/Inputs/rocm-device-libs \ +// RUN: --rocm-path=%S/Inputs/rocm \ // RUN: %S/Inputs/hip_multiple_inputs/b.hip \ // RUN: 2>&1 | FileCheck %s --check-prefixes=ALL,NOFLUSHD @@ -24,8 +24,8 @@ // Test explicit flag, opposite of target default. // RUN: %clang -### -target x86_64-linux-gnu \ // RUN: --cuda-gpu-arch=gfx900 \ -// RUN: -fcuda-flush-denormals-to-zero \ -// RUN: --rocm-path=%S/Inputs/rocm-device-libs \ +// RUN: -fgpu-flush-denormals-to-zero \ +// RUN: --rocm-path=%S/Inputs/rocm \ // RUN: %S/Inputs/hip_multiple_inputs/b.hip \ // RUN: 2>&1 | FileCheck %s --check-prefixes=ALL,FLUSHD @@ -33,8 +33,8 @@ // Test explicit flag, opposite of target default. // RUN: %clang -### -target x86_64-linux-gnu \ // RUN: --cuda-gpu-arch=gfx803 \ -// RUN: -fno-cuda-flush-denormals-to-zero \ -// RUN: --rocm-path=%S/Inputs/rocm-device-libs \ +// RUN: -fno-gpu-flush-denormals-to-zero \ +// RUN: --rocm-path=%S/Inputs/rocm \ // RUN: %S/Inputs/hip_multiple_inputs/b.hip \ // RUN: 2>&1 | FileCheck %s --check-prefixes=ALL,NOFLUSHD @@ -42,8 +42,8 @@ // Test explicit flag, same as target default. // RUN: %clang -### -target x86_64-linux-gnu \ // RUN: --cuda-gpu-arch=gfx900 \ -// RUN: -fno-cuda-flush-denormals-to-zero \ -// RUN: --rocm-path=%S/Inputs/rocm-device-libs \ +// RUN: -fno-gpu-flush-denormals-to-zero \ +// RUN: --rocm-path=%S/Inputs/rocm \ // RUN: %S/Inputs/hip_multiple_inputs/b.hip \ // RUN: 2>&1 | FileCheck %s --check-prefixes=ALL,NOFLUSHD @@ -51,8 +51,8 @@ // Test explicit flag, same as target default. // RUN: %clang -### -target x86_64-linux-gnu \ // RUN: --cuda-gpu-arch=gfx803 \ -// RUN: -fcuda-flush-denormals-to-zero \ -// RUN: --rocm-path=%S/Inputs/rocm-device-libs \ +// RUN: -fgpu-flush-denormals-to-zero \ +// RUN: --rocm-path=%S/Inputs/rocm \ // RUN: %S/Inputs/hip_multiple_inputs/b.hip \ // RUN: 2>&1 | FileCheck %s --check-prefixes=ALL,FLUSHD @@ -60,51 +60,84 @@ // Test last flag wins, not flushing // RUN: %clang -### -target x86_64-linux-gnu \ // RUN: --cuda-gpu-arch=gfx803 \ -// RUN: -fcuda-flush-denormals-to-zero -fno-cuda-flush-denormals-to-zero \ -// RUN: --rocm-path=%S/Inputs/rocm-device-libs \ +// RUN: -fgpu-flush-denormals-to-zero -fno-gpu-flush-denormals-to-zero \ +// RUN: --rocm-path=%S/Inputs/rocm \ // RUN: %S/Inputs/hip_multiple_inputs/b.hip \ // RUN: 2>&1 | FileCheck %s --check-prefixes=ALL,NOFLUSHD // RUN: %clang -### -target x86_64-linux-gnu \ // RUN: --cuda-gpu-arch=gfx900 \ -// RUN: -fcuda-flush-denormals-to-zero -fno-cuda-flush-denormals-to-zero \ -// RUN: --rocm-path=%S/Inputs/rocm-device-libs \ +// RUN: -fgpu-flush-denormals-to-zero -fno-gpu-flush-denormals-to-zero \ +// RUN: --rocm-path=%S/Inputs/rocm \ // RUN: %S/Inputs/hip_multiple_inputs/b.hip \ // RUN: 2>&1 | FileCheck %s --check-prefixes=ALL,NOFLUSHD // RUN: %clang -### -target x86_64-linux-gnu \ // RUN: --cuda-gpu-arch=gfx900 \ -// RUN: -fno-cuda-flush-denormals-to-zero -fcuda-flush-denormals-to-zero \ -// RUN: --rocm-path=%S/Inputs/rocm-device-libs \ +// RUN: -fno-gpu-flush-denormals-to-zero -fgpu-flush-denormals-to-zero \ +// RUN: --rocm-path=%S/Inputs/rocm \ // RUN: %S/Inputs/hip_multiple_inputs/b.hip \ // RUN: 2>&1 | FileCheck %s --check-prefixes=ALL,FLUSHD // RUN: %clang -### -target x86_64-linux-gnu \ // RUN: --cuda-gpu-arch=gfx803 \ -// RUN: -fno-cuda-flush-denormals-to-zero -fcuda-flush-denormals-to-zero \ -// RUN: --rocm-path=%S/Inputs/rocm-device-libs \ +// RUN: -fno-gpu-flush-denormals-to-zero -fgpu-flush-denormals-to-zero \ +// RUN: --rocm-path=%S/Inputs/rocm \ // RUN: %S/Inputs/hip_multiple_inputs/b.hip \ // RUN: 2>&1 | FileCheck %s --check-prefixes=ALL,FLUSHD // Test --hip-device-lib-path flag // RUN: %clang -### -target x86_64-linux-gnu \ -// RUN: --cuda-gpu-arch=gfx803 \ -// RUN: --hip-device-lib-path=%S/Inputs/rocm-device-libs/amdgcn/bitcode \ +// RUN: --cuda-gpu-arch=gfx803 -nogpuinc \ +// RUN: --hip-device-lib-path=%S/Inputs/rocm/amdgcn/bitcode \ // RUN: %S/Inputs/hip_multiple_inputs/b.hip \ // RUN: 2>&1 | FileCheck %s --check-prefixes=ALL,FLUSHD // Test environment variable HIP_DEVICE_LIB_PATH -// RUN: env HIP_DEVICE_LIB_PATH=%S/Inputs/rocm-device-libs/amdgcn/bitcode \ +// RUN: env HIP_DEVICE_LIB_PATH=%S/Inputs/rocm/amdgcn/bitcode \ // RUN: %clang -### -target x86_64-linux-gnu \ -// RUN: --cuda-gpu-arch=gfx900 \ +// RUN: --cuda-gpu-arch=gfx900 -nogpuinc \ // RUN: %S/Inputs/hip_multiple_inputs/b.hip \ // RUN: 2>&1 | FileCheck %s --check-prefixes=ALL +// Test --gpu-instrument-lib +// RUN: %clang -### -target x86_64-linux-gnu \ +// RUN: --cuda-gpu-arch=gfx900 \ +// RUN: --rocm-path=%S/Inputs/rocm \ +// RUN: --gpu-instrument-lib=%S/Inputs/hip_multiple_inputs/instrument.bc \ +// RUN: %S/Inputs/hip_multiple_inputs/b.hip \ +// RUN: 2>&1 | FileCheck %s --check-prefixes=ALL,INST + +// Test -fast-math +// RUN: %clang -### -target x86_64-linux-gnu --offload-arch=gfx900 \ +// RUN: -ffast-math --rocm-path=%S/Inputs/rocm \ +// RUN: %S/Inputs/hip_multiple_inputs/b.hip \ +// RUN: 2>&1 | FileCheck %s --check-prefixes=FAST + +// Test -ffinite-math-only +// RUN: %clang -### -target x86_64-linux-gnu --offload-arch=gfx900 \ +// RUN: -ffinite-math-only --rocm-path=%S/Inputs/rocm \ +// RUN: %S/Inputs/hip_multiple_inputs/b.hip \ +// RUN: 2>&1 | FileCheck %s --check-prefixes=FINITE + +// Test -funsafe-math-optimizations +// RUN: %clang -### -target x86_64-linux-gnu --offload-arch=gfx900 \ +// RUN: -funsafe-math-optimizations --rocm-path=%S/Inputs/rocm \ +// RUN: %S/Inputs/hip_multiple_inputs/b.hip \ +// RUN: 2>&1 | FileCheck %s --check-prefixes=UNSAFE + +// Test -fno-hip-fp32-correctly-rounded-divide-sqrt +// RUN: %clang -### -target x86_64-linux-gnu --offload-arch=gfx900 \ +// RUN: -fno-hip-fp32-correctly-rounded-divide-sqrt \ +// RUN: --rocm-path=%S/Inputs/rocm %S/Inputs/hip_multiple_inputs/b.hip \ +// RUN: 2>&1 | FileCheck %s --check-prefixes=DIVSQRT + +// ALL-NOT: error: // ALL: {{"[^"]*clang[^"]*"}} // ALL-SAME: "-mlink-builtin-bitcode" "{{.*}}hip.bc" // ALL-SAME: "-mlink-builtin-bitcode" "{{.*}}ocml.bc" @@ -118,3 +151,24 @@ // ALL-SAME: "-mlink-builtin-bitcode" "{{.*}}oclc_correctly_rounded_sqrt_on.bc" // ALL-SAME: "-mlink-builtin-bitcode" "{{.*}}oclc_wavefrontsize64_on.bc" // ALL-SAME: "-mlink-builtin-bitcode" "{{.*}}oclc_isa_version_{{[0-9]+}}.bc" +// INST-SAME: "-mlink-builtin-bitcode" "{{.*}}instrument.bc" + +// FAST: "-mlink-builtin-bitcode" "{{.*}}oclc_daz_opt_off.bc" +// FAST-SAME: "-mlink-builtin-bitcode" "{{.*}}oclc_unsafe_math_on.bc" +// FAST-SAME: "-mlink-builtin-bitcode" "{{.*}}oclc_finite_only_on.bc" +// FAST-SAME: "-mlink-builtin-bitcode" "{{.*}}oclc_correctly_rounded_sqrt_on.bc" + +// FINITE: "-mlink-builtin-bitcode" "{{.*}}oclc_daz_opt_off.bc" +// FINITE-SAME: "-mlink-builtin-bitcode" "{{.*}}oclc_unsafe_math_off.bc" +// FINITE-SAME: "-mlink-builtin-bitcode" "{{.*}}oclc_finite_only_on.bc" +// FINITE-SAME: "-mlink-builtin-bitcode" "{{.*}}oclc_correctly_rounded_sqrt_on.bc" + +// UNSAFE: "-mlink-builtin-bitcode" "{{.*}}oclc_daz_opt_off.bc" +// UNSAFE-SAME: "-mlink-builtin-bitcode" "{{.*}}oclc_unsafe_math_on.bc" +// UNSAFE-SAME: "-mlink-builtin-bitcode" "{{.*}}oclc_finite_only_off.bc" +// UNSAFE-SAME: "-mlink-builtin-bitcode" "{{.*}}oclc_correctly_rounded_sqrt_on.bc" + +// DIVSQRT: "-mlink-builtin-bitcode" "{{.*}}oclc_daz_opt_off.bc" +// DIVSQRT-SAME: "-mlink-builtin-bitcode" "{{.*}}oclc_unsafe_math_off.bc" +// DIVSQRT-SAME: "-mlink-builtin-bitcode" "{{.*}}oclc_finite_only_off.bc" +// DIVSQRT-SAME: "-mlink-builtin-bitcode" "{{.*}}oclc_correctly_rounded_sqrt_off.bc"