1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93
|
// Test that different values of -mfpu pick correct CSKY FPU target-feature(s).
// RUN: %clang -target csky-unknown-linux %s -### -o %t.o 2>&1 \
// RUN: | FileCheck --check-prefix=CHECK-DEFAULT %s
// CHECK-DEFAULT-NOT: "-target-feature" "+hard-float"
// CHECK-DEFAULT-NOT: "-target-feature" "+hard-float-abi"
// CHECK-DEFAULT-NOT: "-target-feature" "+fpuv2_sf"
// CHECK-DEFAULT-NOT: "-target-feature" "+fpuv2_df"
// RUN: %clang -target csky-unknown-linux %s -mfpu=fpv2 -### -o %t.o 2>&1 \
// RUN: | FileCheck --check-prefix=CHECK-FPV2 %s
// CHECK-FPV2-NOT: "-target-feature" "+hard-float"
// CHECK-FPV2-NOT: "-target-feature" "+hard-float-abi"
// CHECK-FPV2: "-target-feature" "+fpuv2_sf"
// CHECK-FPV2: "-target-feature" "+fpuv2_df"
// RUN: %clang -target csky-unknown-linux %s -mfpu=fpv2 -mhard-float -### -o %t.o 2>&1 \
// RUN: | FileCheck --check-prefix=CHECK-FPV2-HARD %s
// CHECK-FPV2-HARD: "-target-feature" "+hard-float-abi"
// CHECK-FPV2-HARD: "-target-feature" "+hard-float"
// CHECK-FPV2-HARD: "-target-feature" "+fpuv2_sf"
// CHECK-FPV2-HARD: "-target-feature" "+fpuv2_df"
// RUN: %clang -target csky-unknown-linux %s -mfpu=fpv2_divd -mhard-float -### -o %t.o 2>&1 \
// RUN: | FileCheck --check-prefix=CHECK-FPV2DIVD-HARD %s
// CHECK-FPV2DIVD-HARD: "-target-feature" "+hard-float-abi"
// CHECK-FPV2DIVD-HARD: "-target-feature" "+hard-float"
// CHECK-FPV2DIVD-HARD: "-target-feature" "+fpuv2_sf"
// CHECK-FPV2DIVD-HARD: "-target-feature" "+fpuv2_df"
// CHECK-FPV2DIVD-HARD: "-target-feature" "+fdivdu"
// RUN: %clang -target csky-unknown-linux %s -mfpu=auto -mhard-float -### -o %t.o 2>&1 \
// RUN: | FileCheck --check-prefix=CHECK-AUTO-HARD %s
// CHECK-AUTO-HARD: "-target-feature" "+hard-float-abi"
// CHECK-AUTO-HARD: "-target-feature" "+hard-float"
// CHECK-AUTO-HARD: "-target-feature" "+fpuv2_sf"
// CHECK-AUTO-HARD: "-target-feature" "+fpuv2_df"
// CHECK-AUTO-HARD: "-target-feature" "+fdivdu"
// RUN: %clang -target csky-unknown-linux %s -mfpu=fpv2_sf -mhard-float -### -o %t.o 2>&1 \
// RUN: | FileCheck --check-prefix=CHECK-FPV2SF-HARD %s
// CHECK-FPV2SF-HARD: "-target-feature" "+hard-float-abi"
// CHECK-FPV2SF-HARD: "-target-feature" "+hard-float"
// CHECK-FPV2SF-HARD: "-target-feature" "+fpuv2_sf"
// RUN: %clang -target csky-unknown-linux %s -mfpu=fpv3 -mhard-float -### -o %t.o 2>&1 \
// RUN: | FileCheck --check-prefix=CHECK-FPV3-HARD %s
// CHECK-FPV3-HARD: "-target-feature" "+hard-float-abi"
// CHECK-FPV3-HARD: "-target-feature" "+hard-float"
// CHECK-FPV3-HARD: "-target-feature" "+fpuv3_hf"
// CHECK-FPV3-HARD: "-target-feature" "+fpuv3_hi"
// CHECK-FPV3-HARD: "-target-feature" "+fpuv3_sf"
// CHECK-FPV3-HARD: "-target-feature" "+fpuv3_df"
// RUN: %clang -target csky-unknown-linux %s -mfpu=fpv3_hf -mhard-float -### -o %t.o 2>&1 \
// RUN: | FileCheck --check-prefix=CHECK-FPV3HF-HARD %s
// CHECK-FPV3HF-HARD: "-target-feature" "+hard-float-abi"
// CHECK-FPV3HF-HARD: "-target-feature" "+hard-float"
// CHECK-FPV3HF-HARD: "-target-feature" "+fpuv3_hf"
// CHECK-FPV3HF-HARD: "-target-feature" "+fpuv3_hi"
// RUN: %clang -target csky-unknown-linux %s -mfpu=fpv3_hsf -mhard-float -### -o %t.o 2>&1 \
// RUN: | FileCheck --check-prefix=CHECK-FPV3HSF-HARD %s
// CHECK-FPV3HSF-HARD: "-target-feature" "+hard-float-abi"
// CHECK-FPV3HSF-HARD: "-target-feature" "+hard-float"
// CHECK-FPV3HSF-HARD: "-target-feature" "+fpuv3_hf"
// CHECK-FPV3HSF-HARD: "-target-feature" "+fpuv3_hi"
// CHECK-FPV3HSF-HARD: "-target-feature" "+fpuv3_sf"
// RUN: %clang -target csky-unknown-linux %s -mfpu=fpv3_sdf -mhard-float -### -o %t.o 2>&1 \
// RUN: | FileCheck --check-prefix=CHECK-FPV3DF-HARD %s
// CHECK-FPV3DF-HARD: "-target-feature" "+hard-float-abi"
// CHECK-FPV3DF-HARD: "-target-feature" "+hard-float"
// CHECK-FPV3DF-HARD: "-target-feature" "+fpuv3_sf"
// CHECK-FPV3DF-HARD: "-target-feature" "+fpuv3_df"
// RUN: %clang -target csky-unknown-linux %s -mcpu=c810 -mfpu=fpv3 -mhard-float -### -o %t.o 2>&1 \
// RUN: | FileCheck --check-prefix=CHECK-FPV3-C810 %s
// CHECK-FPV3-C810: "-target-feature" "+hard-float-abi"
// CHECK-FPV3-C810: "-target-feature" "+hard-float"
// CHECK-FPV3-C810: "-target-feature" "+fpuv3_hf"
// CHECK-FPV3-C810: "-target-feature" "+fpuv3_hi"
// CHECK-FPV3-C810: "-target-feature" "+fpuv3_sf"
// CHECK-FPV3-C810: "-target-feature" "+fpuv3_df"
// CHECK-FPV3-C810-NOT: "-target-feature" "+fpuv2"
// RUN: %clang -target csky-unknown-linux %s -mcpu=c860 -mfpu=fpv2 -mhard-float -### -o %t.o 2>&1 \
// RUN: | FileCheck --check-prefix=CHECK-FPV2-C860 %s
// CHECK-FPV2-C860: "-target-feature" "+hard-float-abi"
// CHECK-FPV2-C860: "-target-feature" "+hard-float"
// CHECK-FPV2-C860: "-target-feature" "+fpuv2_sf"
// CHECK-FPV2-C860: "-target-feature" "+fpuv2_df"
// CHECK-FPV2-C860-NOT: "-target-feature" "+fpuv3"
|