xref: /llvm-project/clang/test/Driver/loongarch-mtune.c (revision fcec298087dba0c83f6d0bbafd6cd934c42cbf82)
1f62c9252SWeining Lu // RUN: %clang --target=loongarch64 -mtune=loongarch64 -fsyntax-only %s -### 2>&1 | \
2f62c9252SWeining Lu // RUN:   FileCheck %s --check-prefix=CC1ARG -DCPU=loongarch64
3f62c9252SWeining Lu // RUN: %clang --target=loongarch64 -mtune=loongarch64 -S -emit-llvm %s -o - | \
4f62c9252SWeining Lu // RUN:   FileCheck %s --check-prefix=IRATTR -DCPU=loongarch64
5f62c9252SWeining Lu 
6f62c9252SWeining Lu // RUN: %clang --target=loongarch64 -mtune=la464 -fsyntax-only %s -### 2>&1 | \
7f62c9252SWeining Lu // RUN:   FileCheck %s --check-prefix=CC1ARG -DCPU=la464
8f62c9252SWeining Lu // RUN: %clang --target=loongarch64 -mtune=la464 -S -emit-llvm %s -o - | \
9f62c9252SWeining Lu // RUN:   FileCheck %s --check-prefix=IRATTR -DCPU=la464
10f62c9252SWeining Lu 
11*fcec2980SAmi-zhang // RUN: %clang --target=loongarch64 -mtune=la664 -fsyntax-only %s -### 2>&1 | \
12*fcec2980SAmi-zhang // RUN:   FileCheck %s --check-prefix=CC1ARG -DCPU=la664
13*fcec2980SAmi-zhang // RUN: %clang --target=loongarch64 -mtune=la664 -S -emit-llvm %s -o - | \
14*fcec2980SAmi-zhang // RUN:   FileCheck %s --check-prefix=IRATTR -DCPU=la664
15*fcec2980SAmi-zhang 
16f62c9252SWeining Lu // RUN: %clang --target=loongarch64 -mtune=invalidcpu -fsyntax-only %s -### 2>&1 | \
17f62c9252SWeining Lu // RUN:   FileCheck %s --check-prefix=CC1ARG -DCPU=invalidcpu
18f62c9252SWeining Lu // RUN: not %clang --target=loongarch64 -mtune=invalidcpu -S -emit-llvm %s -o /dev/null 2>&1 | \
19f62c9252SWeining Lu // RUN:   FileCheck %s --check-prefix=ERROR -DCPU=invalidcpu
20f62c9252SWeining Lu 
21f62c9252SWeining Lu // RUN: %clang --target=loongarch64 -mtune=generic -fsyntax-only %s -### 2>&1 | \
22f62c9252SWeining Lu // RUN:   FileCheck %s --check-prefix=CC1ARG -DCPU=generic
23f62c9252SWeining Lu // RUN: not %clang --target=loongarch64 -mtune=generic -S -emit-llvm %s -o /dev/null 2>&1 | \
24f62c9252SWeining Lu // RUN:   FileCheck %s --check-prefix=ERROR -DCPU=generic
25f62c9252SWeining Lu 
26f62c9252SWeining Lu // RUN: %clang --target=loongarch64 -mtune=generic-la64 -fsyntax-only %s -### 2>&1 | \
27f62c9252SWeining Lu // RUN:   FileCheck %s --check-prefix=CC1ARG -DCPU=generic-la64
28f62c9252SWeining Lu // RUN: not %clang --target=loongarch64 -mtune=generic-la64 -S -emit-llvm %s -o /dev/null 2>&1 | \
29f62c9252SWeining Lu // RUN:   FileCheck %s --check-prefix=ERROR -DCPU=generic-la64
30f62c9252SWeining Lu 
31f62c9252SWeining Lu // CC1ARG: "-tune-cpu" "[[CPU]]"
32f62c9252SWeining Lu // IRATTR: "tune-cpu"="[[CPU]]"
33f62c9252SWeining Lu 
34f62c9252SWeining Lu // ERROR: error: unknown target CPU '[[CPU]]'
35f62c9252SWeining Lu // ERROR-NEXT: note: valid target CPU values are: {{.*}}
36f62c9252SWeining Lu 
37f62c9252SWeining Lu int foo(void) {
38f62c9252SWeining Lu   return 3;
39f62c9252SWeining Lu }
40