blob: e0b4946d0a4b165fa6f435f208caca3966c6c039 [file] [log] [blame]
Renato Golin47aeab52013-09-02 14:11:33 +00001// RUN: %clang -target arm-none-gnueabi -munaligned-access -### %s 2> %t
Kevin Qine5cee2602014-05-06 09:51:32 +00002// RUN: FileCheck --check-prefix=CHECK-UNALIGNED-ARM < %t %s
Renato Golin171b6b12013-08-25 13:01:50 +00003
Renato Golin47aeab52013-09-02 14:11:33 +00004// RUN: %clang -target arm-none-gnueabi -mstrict-align -munaligned-access -### %s 2> %t
Kevin Qine5cee2602014-05-06 09:51:32 +00005// RUN: FileCheck --check-prefix=CHECK-UNALIGNED-ARM < %t %s
Renato Golin8d5f3142013-08-28 23:56:07 +00006
Renato Golin47aeab52013-09-02 14:11:33 +00007// RUN: %clang -target arm-none-gnueabi -mno-unaligned-access -munaligned-access -### %s 2> %t
Kevin Qine5cee2602014-05-06 09:51:32 +00008// RUN: FileCheck --check-prefix=CHECK-UNALIGNED-ARM < %t %s
Renato Golin8d5f3142013-08-28 23:56:07 +00009
Akira Hatanaka7651dd82015-07-28 22:26:45 +000010// RUN: %clang -target armv6-apple-darwin -### %s 2> %t
11// RUN: FileCheck --check-prefix=CHECK-UNALIGNED-ARM < %t %s
12
13// RUN: %clang -target armv6-netbsd-eabi -### %s 2> %t
14// RUN: FileCheck --check-prefix=CHECK-UNALIGNED-ARM < %t %s
15
16// RUN: %clang -target armv7-unknown-linux -### %s 2> %t
17// RUN: FileCheck --check-prefix=CHECK-UNALIGNED-ARM < %t %s
18
19// RUN: %clang -target armv7-unknown-nacl-gnueabihf -### %s 2> %t
20// RUN: FileCheck --check-prefix=CHECK-UNALIGNED-ARM < %t %s
21
Tim Northover573cbee2014-05-24 12:52:07 +000022// RUN: %clang -target aarch64-none-gnueabi -munaligned-access -### %s 2> %t
23// RUN: FileCheck --check-prefix=CHECK-UNALIGNED-AARCH64 < %t %s
Kevin Qine5cee2602014-05-06 09:51:32 +000024
Tim Northover573cbee2014-05-24 12:52:07 +000025// RUN: %clang -target aarch64-none-gnueabi -mstrict-align -munaligned-access -### %s 2> %t
26// RUN: FileCheck --check-prefix=CHECK-UNALIGNED-AARCH64 < %t %s
Kevin Qine5cee2602014-05-06 09:51:32 +000027
Tim Northover573cbee2014-05-24 12:52:07 +000028// RUN: %clang -target aarch64-none-gnueabi -mno-unaligned-access -munaligned-access -### %s 2> %t
29// RUN: FileCheck --check-prefix=CHECK-UNALIGNED-AARCH64 < %t %s
Kevin Qine5cee2602014-05-06 09:51:32 +000030
Akira Hatanaka7651dd82015-07-28 22:26:45 +000031// CHECK-UNALIGNED-ARM-NOT: "-target-feature" "+strict-align"
Akira Hatanaka085da7e2015-07-29 14:25:58 +000032// CHECK-UNALIGNED-AARCH64-NOT: "-target-feature" "+strict-align"
Renato Golin171b6b12013-08-25 13:01:50 +000033
Renato Golin8d5f3142013-08-28 23:56:07 +000034
Renato Golin47aeab52013-09-02 14:11:33 +000035// RUN: %clang -target arm-none-gnueabi -mno-unaligned-access -### %s 2> %t
Kevin Qine5cee2602014-05-06 09:51:32 +000036// RUN: FileCheck --check-prefix=CHECK-ALIGNED-ARM < %t %s
Renato Golin171b6b12013-08-25 13:01:50 +000037
Renato Golin47aeab52013-09-02 14:11:33 +000038// RUN: %clang -target arm-none-gnueabi -mstrict-align -### %s 2> %t
Kevin Qine5cee2602014-05-06 09:51:32 +000039// RUN: FileCheck --check-prefix=CHECK-ALIGNED-ARM < %t %s
Renato Golin8d5f3142013-08-28 23:56:07 +000040
41// RUN: %clang -target arm-none-gnueabi -munaligned-access -mno-unaligned-access -### %s 2> %t
Kevin Qine5cee2602014-05-06 09:51:32 +000042// RUN: FileCheck --check-prefix=CHECK-ALIGNED-ARM < %t %s
Renato Golin8d5f3142013-08-28 23:56:07 +000043
44// RUN: %clang -target arm-none-gnueabi -munaligned-access -mstrict-align -### %s 2> %t
Kevin Qine5cee2602014-05-06 09:51:32 +000045// RUN: FileCheck --check-prefix=CHECK-ALIGNED-ARM < %t %s
Renato Golin8d5f3142013-08-28 23:56:07 +000046
Akira Hatanaka7651dd82015-07-28 22:26:45 +000047// RUN: %clang -target arm-none-gnueabi -### %s 2> %t
48// RUN: FileCheck --check-prefix=CHECK-ALIGNED-ARM < %t %s
49
50// RUN: %clang -target armv5-apple-darwin -### %s 2> %t
51// RUN: FileCheck --check-prefix=CHECK-ALIGNED-ARM < %t %s
52
53// RUN: %clang -target armv5t-netbsd-eabi -### %s 2> %t
54// RUN: FileCheck --check-prefix=CHECK-ALIGNED-ARM < %t %s
55
56// RUN: %clang -target armv6-unknown-linux -### %s 2> %t
57// RUN: FileCheck --check-prefix=CHECK-ALIGNED-ARM < %t %s
58
59// RUN: %clang -target armv6-unknown-nacl-gnueabihf -### %s 2> %t
60// RUN: FileCheck --check-prefix=CHECK-ALIGNED-ARM < %t %s
61
Alexandros Lamprineaseda554a2015-10-05 12:45:10 +000062// RUN: %clang -target armv6m-apple-darwin -### %s 2> %t
63// RUN: FileCheck --check-prefix=CHECK-ALIGNED-ARM < %t %s
64
65// RUN: %clang -target armv6m-netbsd-eabi -### %s 2> %t
66// RUN: FileCheck --check-prefix=CHECK-ALIGNED-ARM < %t %s
67
Tim Northover573cbee2014-05-24 12:52:07 +000068// RUN: %clang -target aarch64-none-gnueabi -mno-unaligned-access -### %s 2> %t
69// RUN: FileCheck --check-prefix=CHECK-ALIGNED-AARCH64 < %t %s
Kevin Qine5cee2602014-05-06 09:51:32 +000070
Tim Northover573cbee2014-05-24 12:52:07 +000071// RUN: %clang -target aarch64-none-gnueabi -mstrict-align -### %s 2> %t
72// RUN: FileCheck --check-prefix=CHECK-ALIGNED-AARCH64 < %t %s
Kevin Qine5cee2602014-05-06 09:51:32 +000073
Tim Northover573cbee2014-05-24 12:52:07 +000074// RUN: %clang -target aarch64-none-gnueabi -munaligned-access -mno-unaligned-access -### %s 2> %t
75// RUN: FileCheck --check-prefix=CHECK-ALIGNED-AARCH64 < %t %s
Kevin Qine5cee2602014-05-06 09:51:32 +000076
Tim Northover573cbee2014-05-24 12:52:07 +000077// RUN: %clang -target aarch64-none-gnueabi -munaligned-access -mstrict-align -### %s 2> %t
78// RUN: FileCheck --check-prefix=CHECK-ALIGNED-AARCH64 < %t %s
Kevin Qine5cee2602014-05-06 09:51:32 +000079
Bob Wilson0874e532014-07-29 00:23:18 +000080// RUN: %clang -target aarch64-none-gnueabi -mkernel -mno-unaligned-access -### %s 2> %t
81// RUN: FileCheck --check-prefix=CHECK-ALIGNED-AARCH64 < %t %s
82
Akira Hatanaka7651dd82015-07-28 22:26:45 +000083// CHECK-ALIGNED-ARM: "-target-feature" "+strict-align"
Akira Hatanaka085da7e2015-07-29 14:25:58 +000084// CHECK-ALIGNED-AARCH64: "-target-feature" "+strict-align"
Jonathan Roelofs2b00d542014-10-07 15:11:32 +000085
Bradley Smithf4affc12016-03-03 13:52:22 +000086// Make sure that v6M cores and v8M Baseline always trigger the unsupported
87// aligned accesses error for all supported architecture triples.
Jonathan Roelofs2b00d542014-10-07 15:11:32 +000088// RUN: not %clang -c -target thumbv6m-none-gnueabi -mcpu=cortex-m0 -munaligned-access %s 2>&1 | \
89// RUN: FileCheck --check-prefix CHECK-UNALIGN-NOT-SUPPORTED %s
90// RUN: not %clang -c -target thumb-none-gnueabi -mcpu=cortex-m0 -munaligned-access %s 2>&1 | \
91// RUN: FileCheck --check-prefix CHECK-UNALIGN-NOT-SUPPORTED %s
Bradley Smithf4affc12016-03-03 13:52:22 +000092// RUN: not %clang -c -target thumbv8m.base-none-gnueabi -munaligned-access %s 2>&1 | \
93// RUN: FileCheck --check-prefix CHECK-UNALIGN-NOT-SUPPORTED %s
Jonathan Roelofs2b00d542014-10-07 15:11:32 +000094
Bradley Smithf4affc12016-03-03 13:52:22 +000095// CHECK-UNALIGN-NOT-SUPPORTED: error: the {{.*}} sub-architecture does not support unaligned accesses