1// REQUIRES: clang-driver, amdgpu-registered-target 2 3// Check bundle ID for code object v2. 4 5// RUN: %clang -### -target x86_64-linux-gnu \ 6// RUN: -mno-code-object-v3 \ 7// RUN: --offload-arch=gfx906 -nogpulib \ 8// RUN: %s 2>&1 | FileCheck -check-prefixes=V2,V2-WARN %s 9 10// RUN: %clang -### -target x86_64-linux-gnu \ 11// RUN: -mcode-object-version=2 \ 12// RUN: --offload-arch=gfx906 -nogpulib \ 13// RUN: %s 2>&1 | FileCheck -check-prefix=V2 %s 14 15// V2-WARN: warning: argument '-mno-code-object-v3' is deprecated, use '-mcode-object-version=2' instead [-Wdeprecated] 16// V2: "-mllvm" "--amdhsa-code-object-version=2" 17// V2: "-targets=host-x86_64-unknown-linux,hip-amdgcn-amd-amdhsa--gfx906" 18 19// Check bundle ID for code object v3. 20 21// RUN: %clang -### -target x86_64-linux-gnu \ 22// RUN: -mcode-object-v3 \ 23// RUN: --offload-arch=gfx906 -nogpulib \ 24// RUN: %s 2>&1 | FileCheck -check-prefixes=V3,V3-WARN %s 25 26// RUN: %clang -### -target x86_64-linux-gnu \ 27// RUN: -mcode-object-version=3 \ 28// RUN: --offload-arch=gfx906 -nogpulib \ 29// RUN: %s 2>&1 | FileCheck -check-prefix=V3 %s 30 31// RUN: %clang -### -target x86_64-linux-gnu \ 32// RUN: -mcode-object-version=4 -mcode-object-version=3 \ 33// RUN: --offload-arch=gfx906 -nogpulib \ 34// RUN: %s 2>&1 | FileCheck -check-prefix=V3 %s 35 36// V3-WARN: warning: argument '-mcode-object-v3' is deprecated, use '-mcode-object-version=3' instead [-Wdeprecated] 37// V3: "-mllvm" "--amdhsa-code-object-version=3" 38// V3: "-targets=host-x86_64-unknown-linux,hip-amdgcn-amd-amdhsa--gfx906" 39 40// Check bundle ID for code object version 4. 41 42// RUN: %clang -### -target x86_64-linux-gnu \ 43// RUN: -mcode-object-version=4 \ 44// RUN: --offload-arch=gfx906 -nogpulib \ 45// RUN: %s 2>&1 | FileCheck -check-prefix=V4 %s 46 47// V4: "-mllvm" "--amdhsa-code-object-version=4" 48// V4: "-targets=host-x86_64-unknown-linux,hipv4-amdgcn-amd-amdhsa--gfx906" 49 50// Check bundle ID for code object version 5. 51 52// RUN: %clang -### -target x86_64-linux-gnu \ 53// RUN: -mcode-object-version=5 \ 54// RUN: --offload-arch=gfx906 -nogpulib \ 55// RUN: %s 2>&1 | FileCheck -check-prefix=V5 %s 56 57// V5: "-mllvm" "--amdhsa-code-object-version=5" 58// V5: "-targets=host-x86_64-unknown-linux,hipv4-amdgcn-amd-amdhsa--gfx906" 59 60// Check bundle ID for code object version default 61 62// RUN: %clang -### -target x86_64-linux-gnu \ 63// RUN: --offload-arch=gfx906 -nogpulib \ 64// RUN: %s 2>&1 | FileCheck -check-prefix=VD %s 65 66// VD: "-targets=host-x86_64-unknown-linux,hipv4-amdgcn-amd-amdhsa--gfx906" 67 68// Check invalid code object version option. 69 70// RUN: %clang -### -target x86_64-linux-gnu \ 71// RUN: -mcode-object-version=1 \ 72// RUN: --offload-arch=gfx906 -nogpulib \ 73// RUN: %s 2>&1 | FileCheck -check-prefix=INVALID %s 74// INVALID: error: invalid integral value '1' in '-mcode-object-version=1' 75// INVALID-NOT: error: invalid integral value 76 77// Check warnings are emitted for legacy options before -mcode-object-version options. 78// Check warnings are emitted only once. 79 80// RUN: %clang -### -target x86_64-linux-gnu \ 81// RUN: -mno-code-object-v3 -mcode-object-v3 -mcode-object-version=4 \ 82// RUN: --offload-arch=gfx906 -nogpulib \ 83// RUN: %s 2>&1 | FileCheck -check-prefixes=WARN %s 84// WARN: warning: argument '-mno-code-object-v3' is deprecated, use '-mcode-object-version=2' instead [-Wdeprecated] 85// WARN: warning: argument '-mcode-object-v3' is deprecated, use '-mcode-object-version=3' instead [-Wdeprecated] 86// WARN-NOT: warning: argument {{.*}} is deprecated 87