1 // Test of the AArch32 values of -mtp=, checking that each one maps to 2 // the right target features. 3 4 // RUN: %clang --target=armv7-linux -mtp=cp15 -### -S %s 2>&1 | \ 5 // RUN: FileCheck -check-prefix=ARMv7_THREAD_POINTER-HARD %s 6 // ARMv7_THREAD_POINTER-HARD: "-target-feature" "+read-tp-tpidruro" 7 8 // RUN: %clang --target=armv7-linux -mtp=tpidruro -### -S %s 2>&1 | \ 9 // RUN: FileCheck -check-prefix=ARMv7_THREAD_POINTER-HARD %s 10 // RUN: %clang --target=armv7-linux -mtp=tpidrurw -### -S %s 2>&1 | \ 11 // RUN: FileCheck -check-prefix=ARMv7_THREAD_POINTER-TPIDRURW %s 12 // ARMv7_THREAD_POINTER-TPIDRURW: "-target-feature" "+read-tp-tpidrurw" 13 // RUN: %clang --target=armv7-linux -mtp=tpidrprw -### -S %s 2>&1 | \ 14 // RUN: FileCheck -check-prefix=ARMv7_THREAD_POINTER-TPIDRPRW %s 15 // ARMv7_THREAD_POINTER-TPIDRPRW: "-target-feature" "+read-tp-tpidrprw" 16 17 // RUN: %clang --target=armv6t2-linux -mtp=cp15 -### -S %s 2>&1 | \ 18 // RUN: FileCheck -check-prefix=ARM_THREAD_POINTER-HARD %s 19 // RUN: %clang --target=thumbv6t2-linux -mtp=cp15 -### -S %s 2>&1 | \ 20 // RUN: FileCheck -check-prefix=ARM_THREAD_POINTER-HARD %s 21 // RUN: %clang --target=armv6k-linux -mtp=cp15 -### -S %s 2>&1 | \ 22 // RUN: FileCheck -check-prefix=ARM_THREAD_POINTER-HARD %s 23 // RUN: %clang --target=armv6-linux -mtp=cp15 -### -S %s 2>&1 | \ 24 // RUN: FileCheck -check-prefix=ARM_THREAD_POINTER-HARD %s 25 // RUN: %clang --target=armv5t-linux -mtp=cp15 -### -S %s 2>&1 | \ 26 // RUN: FileCheck -check-prefix=ARM_THREAD_POINTER-HARD %s 27 // ARM_THREAD_POINTER-HARD: "-target-feature" "+read-tp-tpidruro" 28 29 // RUN: %clang --target=armv5t-linux -mtp=cp15 -x assembler -### %s 2>&1 | \ 30 // RUN: FileCheck -check-prefix=ARMv5_THREAD_POINTER_ASSEMBLER %s 31 // ARMv5_THREAD_POINTER_ASSEMBLER-NOT: hardware TLS register is not supported for the armv5 sub-architecture 32 33 // RUN: not %clang --target=armv6-linux -mthumb -mtp=cp15 -### -S %s 2>&1 | \ 34 // RUN: FileCheck -check-prefix=THUMBv6_THREAD_POINTER_UNSUPP %s 35 // RUN: not %clang --target=thumbv6-linux -mthumb -mtp=cp15 -### -S %s 2>&1 | \ 36 // RUN: FileCheck -check-prefix=THUMBv6_THREAD_POINTER_UNSUPP %s 37 // THUMBv6_THREAD_POINTER_UNSUPP: hardware TLS register is not supported for the thumbv6 sub-architecture 38 39 // RUN: %clang --target=armv7-linux -mtp=soft -### -S %s 2>&1 | \ 40 // RUN: FileCheck -check-prefix=ARMv7_THREAD_POINTER_SOFT %s 41 // ARMv7_THREAD_POINTER_SOFT-NOT: "-target-feature" "+read-tp-tpidruro" 42 43 // RUN: %clang --target=armv7-linux -### -S %s 2>&1 | \ 44 // RUN: FileCheck -check-prefix=ARMv7_THREAD_POINTER_NON %s 45 // ARMv7_THREAD_POINTER_NON-NOT: "-target-feature" "+read-tp-tpidruro" 46