xref: /llvm-project/llvm/test/CodeGen/ARM/no-arm-mode.ll (revision d68bc7ae8dffe036be360d5fefa6890ef4e34caf)
1*d68bc7aeSFlorian Hahn; RUN: not llc -mtriple=armv7-windows-itanium -mcpu=cortex-a9 -o /dev/null %s 2>&1 \
2*d68bc7aeSFlorian Hahn; RUN:   | FileCheck %s -check-prefixes=CHECK-OPTIONS,CHECK-FEATURE
3*d68bc7aeSFlorian Hahn
4*d68bc7aeSFlorian Hahn; RUN: not llc -mtriple=thumb-unknown-linux -mcpu=cortex-m0 -o /dev/null %s 2>&1 \
5*d68bc7aeSFlorian Hahn; RUN:   | FileCheck %s -check-prefix=CHECK-FEATURE
6*d68bc7aeSFlorian Hahn
7*d68bc7aeSFlorian Hahndefine void @foo() {
8*d68bc7aeSFlorian Hahnentry:
9*d68bc7aeSFlorian Hahn  ret void
10*d68bc7aeSFlorian Hahn}
11*d68bc7aeSFlorian Hahn
12*d68bc7aeSFlorian Hahn; CHECK-OPTIONS: Function 'foo' uses ARM instructions, but the target does not support ARM mode execution.
13*d68bc7aeSFlorian Hahn
14*d68bc7aeSFlorian Hahndefine void @no_thumb_mode_feature() #0 {
15*d68bc7aeSFlorian Hahnentry:
16*d68bc7aeSFlorian Hahn  ret void
17*d68bc7aeSFlorian Hahn}
18*d68bc7aeSFlorian Hahn
19*d68bc7aeSFlorian Hahn; CHECK-FEATURE: Function 'no_thumb_mode_feature' uses ARM instructions, but the target does not support ARM mode execution.
20*d68bc7aeSFlorian Hahn
21*d68bc7aeSFlorian Hahnattributes #0 = { "target-features"="-thumb-mode" }
22