Clang Project

clang_source_code/test/Driver/arm-hwdiv.c
1// Test that different values of -mhwdiv pick correct ARM hwdiv target-feature(s).
2
3// RUN: %clang -### -target arm %s -o %t.o 2>&1 \
4// RUN:   | FileCheck --check-prefix=CHECK-DEFAULT %s
5// CHECK-DEFAULT-NOT: "-target-feature" "+hwdiv"
6// CHECK-DEFAULT-NOT: "-target-feature" "+hwdiv-arm"
7
8// RUN: %clang -### -target arm %s -mhwdiv=arm -o %t.o 2>&1 \
9// RUN:   | FileCheck --check-prefix=CHECK-ARM %s
10// CHECK-ARM: "-target-feature" "+hwdiv-arm"
11// CHECK-ARM: "-target-feature" "-hwdiv"
12
13// RUN: %clang -### -target arm %s -mhwdiv=thumb -o %t.o 2>&1 \
14// RUN:   | FileCheck --check-prefix=CHECK-THUMB %s
15// CHECK-THUMB: "-target-feature" "-hwdiv-arm"
16// CHECK-THUMB: "-target-feature" "+hwdiv"
17
18// RUN: %clang  -### -target arm %s -mhwdiv=arm,thumb -o %t.o 2>&1 \
19// RUN:   | FileCheck --check-prefix=CHECK-ARM-THUMB %s
20// CHECK-ARM-THUMB: "-target-feature" "+hwdiv-arm"
21// CHECK-ARM-THUMB: "-target-feature" "+hwdiv"
22
23// RUN: %clang  -### -target arm %s -mhwdiv=thumb,arm -o %t.o 2>&1 \
24// RUN:   | FileCheck --check-prefix=CHECK-THUMB-ARM %s
25// CHECK-THUMB-ARM: "-target-feature" "+hwdiv-arm"
26// CHECK-THUMB-ARM: "-target-feature" "+hwdiv"
27
28// RUN: %clang -### -target arm %s -mhwdiv=none -o %t.o 2>&1 \
29// RUN:   | FileCheck --check-prefix=CHECK-NONE %s
30// CHECK-NONE: "-target-feature" "-hwdiv-arm"
31// CHECK-NONE: "-target-feature" "-hwdiv"
32
33// Also check the alternative syntax.
34
35// RUN: %clang -### -target arm %s --mhwdiv arm -o %t.o 2>&1 \
36// RUN:   | FileCheck --check-prefix=CHECK-ALT %s
37// CHECK-ALT: "-target-feature" "+hwdiv-arm"
38// CHECK-ALT: "-target-feature" "-hwdiv"
39
40// RUN: %clang -### -target arm %s --mhwdiv=arm -o %t.o 2>&1 \
41// RUN:   | FileCheck --check-prefix=CHECK-ALT-EQ %s
42// CHECK-ALT-EQ: "-target-feature" "+hwdiv-arm"
43// CHECK-ALT-EQ: "-target-feature" "-hwdiv"
44
45