Home | History | Annotate | Download | only in Driver
      1 // RUN: %clang -target arm-none-gnueabi -munaligned-access -### %s 2> %t
      2 // RUN: FileCheck --check-prefix=CHECK-UNALIGNED-ARM < %t %s
      3 
      4 // RUN: %clang -target arm-none-gnueabi -mstrict-align -munaligned-access -### %s 2> %t
      5 // RUN: FileCheck --check-prefix=CHECK-UNALIGNED-ARM < %t %s
      6 
      7 // RUN: %clang -target arm-none-gnueabi -mno-unaligned-access -munaligned-access -### %s 2> %t
      8 // RUN: FileCheck --check-prefix=CHECK-UNALIGNED-ARM < %t %s
      9 
     10 // 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 
     22 // RUN: %clang -target aarch64-none-gnueabi -munaligned-access -### %s 2> %t
     23 // RUN: FileCheck --check-prefix=CHECK-UNALIGNED-AARCH64 < %t %s
     24 
     25 // RUN: %clang -target aarch64-none-gnueabi -mstrict-align -munaligned-access -### %s 2> %t
     26 // RUN: FileCheck --check-prefix=CHECK-UNALIGNED-AARCH64 < %t %s
     27 
     28 // RUN: %clang -target aarch64-none-gnueabi -mno-unaligned-access -munaligned-access -### %s 2> %t
     29 // RUN: FileCheck --check-prefix=CHECK-UNALIGNED-AARCH64 < %t %s
     30 
     31 // CHECK-UNALIGNED-ARM-NOT: "-target-feature" "+strict-align"
     32 // CHECK-UNALIGNED-AARCH64-NOT: "-target-feature" "+strict-align"
     33 
     34 
     35 // RUN: %clang -target arm-none-gnueabi -mno-unaligned-access -### %s 2> %t
     36 // RUN: FileCheck --check-prefix=CHECK-ALIGNED-ARM < %t %s
     37 
     38 // RUN: %clang -target arm-none-gnueabi -mstrict-align -### %s 2> %t
     39 // RUN: FileCheck --check-prefix=CHECK-ALIGNED-ARM < %t %s
     40 
     41 // RUN: %clang -target arm-none-gnueabi -munaligned-access -mno-unaligned-access -### %s 2> %t
     42 // RUN: FileCheck --check-prefix=CHECK-ALIGNED-ARM < %t %s
     43 
     44 // RUN: %clang -target arm-none-gnueabi -munaligned-access -mstrict-align -### %s 2> %t
     45 // RUN: FileCheck --check-prefix=CHECK-ALIGNED-ARM < %t %s
     46 
     47 // 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 
     62 // 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 
     68 // RUN: %clang -target aarch64-none-gnueabi -mno-unaligned-access -### %s 2> %t
     69 // RUN: FileCheck --check-prefix=CHECK-ALIGNED-AARCH64 < %t %s
     70 
     71 // RUN: %clang -target aarch64-none-gnueabi -mstrict-align -### %s 2> %t
     72 // RUN: FileCheck --check-prefix=CHECK-ALIGNED-AARCH64 < %t %s
     73 
     74 // RUN: %clang -target aarch64-none-gnueabi -munaligned-access -mno-unaligned-access -### %s 2> %t
     75 // RUN: FileCheck --check-prefix=CHECK-ALIGNED-AARCH64 < %t %s
     76 
     77 // RUN: %clang -target aarch64-none-gnueabi -munaligned-access -mstrict-align -### %s 2> %t
     78 // RUN: FileCheck --check-prefix=CHECK-ALIGNED-AARCH64 < %t %s
     79 
     80 // RUN: %clang -target aarch64-none-gnueabi -mkernel -mno-unaligned-access -### %s 2> %t
     81 // RUN: FileCheck --check-prefix=CHECK-ALIGNED-AARCH64 < %t %s
     82 
     83 // CHECK-ALIGNED-ARM: "-target-feature" "+strict-align"
     84 // CHECK-ALIGNED-AARCH64: "-target-feature" "+strict-align"
     85 
     86 // Make sure that v6M cores always trigger the unsupported aligned accesses error
     87 // for all supported architecture triples.
     88 // 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
     92 
     93 // CHECK-UNALIGN-NOT-SUPPORTED: error: the v6m sub-architecture does not support unaligned accesses
     94