================ @@ -14,18 +14,18 @@ // RUN: FileCheck -check-prefix=ARMv7_THREAD_POINTER-TPIDRPRW %s // ARMv7_THREAD_POINTER-TPIDRPRW: "-target-feature" "+read-tp-tpidrprw" -// RUN: %clang --target=armv6t2-linux -mtp=cp15 -### -S %s 2>&1 | \ -// RUN: FileCheck -check-prefix=ARM_THREAD_POINTER-HARD %s -// RUN: %clang --target=thumbv6t2-linux -mtp=cp15 -### -S %s 2>&1 | \ -// RUN: FileCheck -check-prefix=ARM_THREAD_POINTER-HARD %s // RUN: %clang --target=armv6k-linux -mtp=cp15 -### -S %s 2>&1 | \ // RUN: FileCheck -check-prefix=ARM_THREAD_POINTER-HARD %s -// RUN: %clang --target=armv6-linux -mtp=cp15 -### -S %s 2>&1 | \ -// RUN: FileCheck -check-prefix=ARM_THREAD_POINTER-HARD %s -// RUN: %clang --target=armv5t-linux -mtp=cp15 -### -S %s 2>&1 | \ -// RUN: FileCheck -check-prefix=ARM_THREAD_POINTER-HARD %s // ARM_THREAD_POINTER-HARD: "-target-feature" "+read-tp-tpidruro" +// RUN: %clang --target=armv6k-linux -mtp=auto -### -S %s 2>&1 | \ +// RUN: FileCheck -check-prefix=ARM_THREAD_POINTER_AUTO %s +// ARM_THREAD_POINTER_AUTO-NOT: "-target-feature" "+read-tp-tpidruro" ---------------- statham-arm wrote:
I don't see any test for `thumbv6k`. Could we add one? If I've understood this correctly, we expect `thumbv6k` _not_ to use the hardware thread register, because you can't access it from Thumb mode. That raises the question of what happens if a mixed Arm/Thumb interworking program is compiled for Armv6K. I suppose the answer is that the Thumb code has to call a function to get the thread pointer -- and the function is expected to be written in Arm state and read TPIDRURO before returning to its Thumb caller? https://github.com/llvm/llvm-project/pull/130027 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits