[WebAssembly] Don't perform the returned-argument optimization on constants.
[oota-llvm.git] / test / CodeGen / ARM / hints.ll
1 ; RUN: llc -mtriple armv7-eabi -o - %s | FileCheck %s
2 ; RUN: llc -mtriple thumbv6m-eabi -o - %s | FileCheck %s
3 ; RUN: llc -mtriple thumbv7-eabi -o - %s | FileCheck %s
4
5 declare void @llvm.arm.hint(i32) nounwind
6
7 define void @hint_nop() {
8 entry:
9   tail call void @llvm.arm.hint(i32 0) nounwind
10   ret void
11 }
12
13 ; CHECK-LABEL: hint_nop
14 ; CHECK: nop
15
16 define void @hint_yield() {
17 entry:
18   tail call void @llvm.arm.hint(i32 1) nounwind
19   ret void
20 }
21
22 ; CHECK-LABEL: hint_yield
23 ; CHECK: yield
24
25 define void @hint_wfe() {
26 entry:
27   tail call void @llvm.arm.hint(i32 2) nounwind
28   ret void
29 }
30
31 ; CHECK-LABEL: hint_wfe
32 ; CHECK: wfe
33
34 define void @hint_wfi() {
35 entry:
36   tail call void @llvm.arm.hint(i32 3) nounwind
37   ret void
38 }
39
40 ; CHECK-LABEL: hint_wfi
41 ; CHECK: wfi
42
43 define void @hint_sev() {
44 entry:
45   tail call void @llvm.arm.hint(i32 4) nounwind
46   ret void
47 }
48
49 ; CHECK-LABEL: hint_sev
50 ; CHECK: sev
51
52 define void @hint_sevl() {
53 entry:
54   tail call void @llvm.arm.hint(i32 5) nounwind
55   ret void
56 }
57
58 ; CHECK-LABEL: hint_sevl
59 ; CHECK: hint #5
60
61 define void @hint_undefined() {
62 entry:
63   tail call void @llvm.arm.hint(i32 8) nounwind
64   ret void
65 }
66
67 ; CHECK-LABEL: hint_undefined
68 ; CHECK: hint #8
69