Clang Project

clang_source_code/test/Driver/x86-march.c
1// Ensure we support the various CPU architecture names.
2//
3// RUN: %clang -target x86_64-unknown-unknown -c -### %s -march=nocona 2>&1 \
4// RUN:   | FileCheck %s -check-prefix=nocona
5// nocona: "-target-cpu" "nocona"
6//
7// RUN: %clang -target x86_64-unknown-unknown -c -### %s -march=core2 2>&1 \
8// RUN:   | FileCheck %s -check-prefix=core2
9// core2: "-target-cpu" "core2"
10//
11// RUN: %clang -target x86_64-unknown-unknown -c -### %s -march=penryn 2>&1 \
12// RUN:   | FileCheck %s -check-prefix=penryn
13// penryn: "-target-cpu" "penryn"
14//
15// RUN: %clang -target x86_64-unknown-unknown -c -### %s -march=nehalem 2>&1 \
16// RUN:   | FileCheck %s -check-prefix=nehalem
17// nehalem: "-target-cpu" "nehalem"
18//
19// RUN: %clang -target x86_64-unknown-unknown -c -### %s -march=westmere 2>&1 \
20// RUN:   | FileCheck %s -check-prefix=westmere
21// westmere: "-target-cpu" "westmere"
22//
23// RUN: %clang -target x86_64-unknown-unknown -c -### %s -march=sandybridge 2>&1 \
24// RUN:   | FileCheck %s -check-prefix=sandybridge
25// sandybridge: "-target-cpu" "sandybridge"
26//
27// RUN: %clang -target x86_64-unknown-unknown -c -### %s -march=ivybridge 2>&1 \
28// RUN:   | FileCheck %s -check-prefix=ivybridge
29// ivybridge: "-target-cpu" "ivybridge"
30//
31// RUN: %clang -target x86_64-unknown-unknown -c -### %s -march=haswell 2>&1 \
32// RUN:   | FileCheck %s -check-prefix=haswell
33// haswell: "-target-cpu" "haswell"
34//
35// RUN: %clang -target x86_64-unknown-unknown -c -### %s -march=broadwell 2>&1 \
36// RUN:   | FileCheck %s -check-prefix=broadwell
37// broadwell: "-target-cpu" "broadwell"
38//
39// RUN: %clang -target x86_64-unknown-unknown -c -### %s -march=skylake 2>&1 \
40// RUN:   | FileCheck %s -check-prefix=skylake
41// skylake: "-target-cpu" "skylake"
42//
43// RUN: %clang -target x86_64-unknown-unknown -c -### %s -march=skylake-avx512 2>&1 \
44// RUN:   | FileCheck %s -check-prefix=skylake-avx512
45// skylake-avx512: "-target-cpu" "skylake-avx512"
46//
47// RUN: %clang -target x86_64-unknown-unknown -c -### %s -march=skx 2>&1 \
48// RUN:   | FileCheck %s -check-prefix=skx
49// skx: "-target-cpu" "skx"
50//
51// RUN: %clang -target x86_64-unknown-unknown -c -### %s -march=cascadelake 2>&1 \
52// RUN:   | FileCheck %s -check-prefix=cascadelake
53// cascadelake: "-target-cpu" "cascadelake"
54//
55// RUN: %clang -target x86_64-unknown-unknown -c -### %s -march=knl 2>&1 \
56// RUN:   | FileCheck %s -check-prefix=knl
57// knl: "-target-cpu" "knl"
58//
59// RUN: %clang -target x86_64-unknown-unknown -c -### %s -march=knm 2>&1 \
60// RUN:   | FileCheck %s -check-prefix=knm
61// knm: "-target-cpu" "knm"
62//
63// RUN: %clang -target x86_64-unknown-unknown -c -### %s -march=cannonlake 2>&1 \
64// RUN:   | FileCheck %s -check-prefix=cannonlake
65// cannonlake: "-target-cpu" "cannonlake"
66//
67// RUN: %clang -target x86_64-unknown-unknown -c -### %s -march=icelake-client 2>&1 \
68// RUN:   | FileCheck %s -check-prefix=icelake-client
69// icelake-client: "-target-cpu" "icelake-client"
70//
71// RUN: %clang -target x86_64-unknown-unknown -c -### %s -march=icelake-server 2>&1 \
72// RUN:   | FileCheck %s -check-prefix=icelake-server
73// icelake-server: "-target-cpu" "icelake-server"
74//
75// RUN: %clang -target x86_64-unknown-unknown -c -### %s -march=lakemont 2>&1 \
76// RUN:   | FileCheck %s -check-prefix=lakemont
77// lakemont: "-target-cpu" "lakemont"
78//
79// RUN: %clang -target x86_64-unknown-unknown -c -### %s -march=bonnell 2>&1 \
80// RUN:   | FileCheck %s -check-prefix=bonnell
81// bonnell: "-target-cpu" "bonnell"
82//
83// RUN: %clang -target x86_64-unknown-unknown -c -### %s -march=silvermont 2>&1 \
84// RUN:   | FileCheck %s -check-prefix=silvermont
85// silvermont: "-target-cpu" "silvermont"
86//
87// RUN: %clang -target x86_64-unknown-unknown -c -### %s -march=goldmont 2>&1 \
88// RUN:   | FileCheck %s -check-prefix=goldmont
89// goldmont: "-target-cpu" "goldmont"
90//
91// RUN: %clang -target x86_64-unknown-unknown -c -### %s -march=goldmont-plus 2>&1 \
92// RUN:   | FileCheck %s -check-prefix=goldmont-plus
93// goldmont-plus: "-target-cpu" "goldmont-plus"
94//
95// RUN: %clang -target x86_64-unknown-unknown -c -### %s -march=tremont 2>&1 \
96// RUN:   | FileCheck %s -check-prefix=tremont
97// tremont: "-target-cpu" "tremont"
98//
99// RUN: %clang -target x86_64-unknown-unknown -c -### %s -march=k8 2>&1 \
100// RUN:   | FileCheck %s -check-prefix=k8
101// k8: "-target-cpu" "k8"
102//
103// RUN: %clang -target x86_64-unknown-unknown -c -### %s -march=opteron 2>&1 \
104// RUN:   | FileCheck %s -check-prefix=opteron
105// opteron: "-target-cpu" "opteron"
106//
107// RUN: %clang -target x86_64-unknown-unknown -c -### %s -march=athlon64 2>&1 \
108// RUN:   | FileCheck %s -check-prefix=athlon64
109// athlon64: "-target-cpu" "athlon64"
110//
111// RUN: %clang -target x86_64-unknown-unknown -c -### %s -march=athlon-fx 2>&1 \
112// RUN:   | FileCheck %s -check-prefix=athlon-fx
113// athlon-fx: "-target-cpu" "athlon-fx"
114//
115// RUN: %clang -target x86_64-unknown-unknown -c -### %s -march=k8-sse3 2>&1 \
116// RUN:   | FileCheck %s -check-prefix=k8-sse3
117// k8-sse3: "-target-cpu" "k8-sse3"
118//
119// RUN: %clang -target x86_64-unknown-unknown -c -### %s -march=opteron-sse3 2>&1 \
120// RUN:   | FileCheck %s -check-prefix=opteron-sse3
121// opteron-sse3: "-target-cpu" "opteron-sse3"
122//
123// RUN: %clang -target x86_64-unknown-unknown -c -### %s -march=athlon64-sse3 2>&1 \
124// RUN:   | FileCheck %s -check-prefix=athlon64-sse3
125// athlon64-sse3: "-target-cpu" "athlon64-sse3"
126//
127// RUN: %clang -target x86_64-unknown-unknown -c -### %s -march=amdfam10 2>&1 \
128// RUN:   | FileCheck %s -check-prefix=amdfam10
129// amdfam10: "-target-cpu" "amdfam10"
130//
131// RUN: %clang -target x86_64-unknown-unknown -c -### %s -march=barcelona 2>&1 \
132// RUN:   | FileCheck %s -check-prefix=barcelona
133// barcelona: "-target-cpu" "barcelona"
134//
135// RUN: %clang -target x86_64-unknown-unknown -c -### %s -march=bdver1 2>&1 \
136// RUN:   | FileCheck %s -check-prefix=bdver1
137// bdver1: "-target-cpu" "bdver1"
138//
139// RUN: %clang -target x86_64-unknown-unknown -c -### %s -march=bdver2 2>&1 \
140// RUN:   | FileCheck %s -check-prefix=bdver2
141// bdver2: "-target-cpu" "bdver2"
142//
143// RUN: %clang -target x86_64-unknown-unknown -c -### %s -march=bdver3 2>&1 \
144// RUN:   | FileCheck %s -check-prefix=bdver3
145// bdver3: "-target-cpu" "bdver3"
146//
147// RUN: %clang -target x86_64-unknown-unknown -c -### %s -march=bdver4 2>&1 \
148// RUN:   | FileCheck %s -check-prefix=bdver4
149// bdver4: "-target-cpu" "bdver4"
150//
151// RUN: %clang -target x86_64-unknown-unknown -c -### %s -march=btver1 2>&1 \
152// RUN:   | FileCheck %s -check-prefix=btver1
153// btver1: "-target-cpu" "btver1"
154//
155// RUN: %clang -target x86_64-unknown-unknown -c -### %s -march=btver2 2>&1 \
156// RUN:   | FileCheck %s -check-prefix=btver2
157// btver2: "-target-cpu" "btver2"
158//
159// RUN: %clang -target x86_64-unknown-unknown -c -### %s -march=znver1 2>&1 \
160// RUN:   | FileCheck %s -check-prefix=znver1
161// znver1: "-target-cpu" "znver1"
162//
163// RUN: %clang -target x86_64-unknown-unknown -c -### %s -march=znver2 2>&1 \
164// RUN:   | FileCheck %s -check-prefix=znver2
165// znver2: "-target-cpu" "znver2"
166