2013-09-02 22:11:33 +08:00
|
|
|
// RUN: %clang -target arm-none-gnueabi -munaligned-access -### %s 2> %t
|
2014-05-06 17:51:32 +08:00
|
|
|
// RUN: FileCheck --check-prefix=CHECK-UNALIGNED-ARM < %t %s
|
2013-08-25 21:01:50 +08:00
|
|
|
|
2013-09-02 22:11:33 +08:00
|
|
|
// RUN: %clang -target arm-none-gnueabi -mstrict-align -munaligned-access -### %s 2> %t
|
2014-05-06 17:51:32 +08:00
|
|
|
// RUN: FileCheck --check-prefix=CHECK-UNALIGNED-ARM < %t %s
|
2013-08-29 07:56:07 +08:00
|
|
|
|
2013-09-02 22:11:33 +08:00
|
|
|
// RUN: %clang -target arm-none-gnueabi -mno-unaligned-access -munaligned-access -### %s 2> %t
|
2014-05-06 17:51:32 +08:00
|
|
|
// RUN: FileCheck --check-prefix=CHECK-UNALIGNED-ARM < %t %s
|
2013-08-29 07:56:07 +08:00
|
|
|
|
2014-05-24 20:52:07 +08:00
|
|
|
// RUN: %clang -target aarch64-none-gnueabi -munaligned-access -### %s 2> %t
|
|
|
|
// RUN: FileCheck --check-prefix=CHECK-UNALIGNED-AARCH64 < %t %s
|
2014-05-06 17:51:32 +08:00
|
|
|
|
2014-05-24 20:52:07 +08:00
|
|
|
// RUN: %clang -target aarch64-none-gnueabi -mstrict-align -munaligned-access -### %s 2> %t
|
|
|
|
// RUN: FileCheck --check-prefix=CHECK-UNALIGNED-AARCH64 < %t %s
|
2014-05-06 17:51:32 +08:00
|
|
|
|
2014-05-24 20:52:07 +08:00
|
|
|
// RUN: %clang -target aarch64-none-gnueabi -mno-unaligned-access -munaligned-access -### %s 2> %t
|
|
|
|
// RUN: FileCheck --check-prefix=CHECK-UNALIGNED-AARCH64 < %t %s
|
2014-05-06 17:51:32 +08:00
|
|
|
|
|
|
|
// CHECK-UNALIGNED-ARM: "-backend-option" "-arm-no-strict-align"
|
2014-05-24 20:52:07 +08:00
|
|
|
// CHECK-UNALIGNED-AARCH64: "-backend-option" "-aarch64-no-strict-align"
|
2013-08-25 21:01:50 +08:00
|
|
|
|
2013-08-29 07:56:07 +08:00
|
|
|
|
2013-09-02 22:11:33 +08:00
|
|
|
// RUN: %clang -target arm-none-gnueabi -mno-unaligned-access -### %s 2> %t
|
2014-05-06 17:51:32 +08:00
|
|
|
// RUN: FileCheck --check-prefix=CHECK-ALIGNED-ARM < %t %s
|
2013-08-25 21:01:50 +08:00
|
|
|
|
2013-09-02 22:11:33 +08:00
|
|
|
// RUN: %clang -target arm-none-gnueabi -mstrict-align -### %s 2> %t
|
2014-05-06 17:51:32 +08:00
|
|
|
// RUN: FileCheck --check-prefix=CHECK-ALIGNED-ARM < %t %s
|
2013-08-29 07:56:07 +08:00
|
|
|
|
|
|
|
// RUN: %clang -target arm-none-gnueabi -munaligned-access -mno-unaligned-access -### %s 2> %t
|
2014-05-06 17:51:32 +08:00
|
|
|
// RUN: FileCheck --check-prefix=CHECK-ALIGNED-ARM < %t %s
|
2013-08-29 07:56:07 +08:00
|
|
|
|
|
|
|
// RUN: %clang -target arm-none-gnueabi -munaligned-access -mstrict-align -### %s 2> %t
|
2014-05-06 17:51:32 +08:00
|
|
|
// RUN: FileCheck --check-prefix=CHECK-ALIGNED-ARM < %t %s
|
|
|
|
|
2014-05-24 20:52:07 +08:00
|
|
|
// RUN: %clang -target aarch64-none-gnueabi -mno-unaligned-access -### %s 2> %t
|
|
|
|
// RUN: FileCheck --check-prefix=CHECK-ALIGNED-AARCH64 < %t %s
|
2014-05-06 17:51:32 +08:00
|
|
|
|
2014-05-24 20:52:07 +08:00
|
|
|
// RUN: %clang -target aarch64-none-gnueabi -mstrict-align -### %s 2> %t
|
|
|
|
// RUN: FileCheck --check-prefix=CHECK-ALIGNED-AARCH64 < %t %s
|
2014-05-06 17:51:32 +08:00
|
|
|
|
2014-05-24 20:52:07 +08:00
|
|
|
// RUN: %clang -target aarch64-none-gnueabi -munaligned-access -mno-unaligned-access -### %s 2> %t
|
|
|
|
// RUN: FileCheck --check-prefix=CHECK-ALIGNED-AARCH64 < %t %s
|
2014-05-06 17:51:32 +08:00
|
|
|
|
2014-05-24 20:52:07 +08:00
|
|
|
// RUN: %clang -target aarch64-none-gnueabi -munaligned-access -mstrict-align -### %s 2> %t
|
|
|
|
// RUN: FileCheck --check-prefix=CHECK-ALIGNED-AARCH64 < %t %s
|
2013-08-29 07:56:07 +08:00
|
|
|
|
2014-07-29 08:23:18 +08:00
|
|
|
// RUN: %clang -target aarch64-none-gnueabi -mkernel -mno-unaligned-access -### %s 2> %t
|
|
|
|
// RUN: FileCheck --check-prefix=CHECK-ALIGNED-AARCH64 < %t %s
|
|
|
|
|
2014-05-06 17:51:32 +08:00
|
|
|
// CHECK-ALIGNED-ARM: "-backend-option" "-arm-strict-align"
|
2014-05-24 20:52:07 +08:00
|
|
|
// CHECK-ALIGNED-AARCH64: "-backend-option" "-aarch64-strict-align"
|
2014-10-07 23:11:32 +08:00
|
|
|
|
|
|
|
// Make sure that v6M cores always trigger the unsupported aligned accesses error
|
|
|
|
// for all supported architecture triples.
|
|
|
|
// RUN: not %clang -c -target thumbv6m-none-gnueabi -mcpu=cortex-m0 -munaligned-access %s 2>&1 | \
|
|
|
|
// RUN: FileCheck --check-prefix CHECK-UNALIGN-NOT-SUPPORTED %s
|
|
|
|
// RUN: not %clang -c -target thumb-none-gnueabi -mcpu=cortex-m0 -munaligned-access %s 2>&1 | \
|
|
|
|
// RUN: FileCheck --check-prefix CHECK-UNALIGN-NOT-SUPPORTED %s
|
|
|
|
|
|
|
|
// CHECK-UNALIGN-NOT-SUPPORTED: error: the v6m sub-architecture does not support unaligned accesses
|