[ARM] Adjust how NEON shifts are lowered
[llvm-core.git] / test / CodeGen / X86 / x32-cet-intrinsics.ll
bloba77970a12e8696f5152ce43ca6eb9513ea4ee05e
1 ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
2 ; RUN: llc < %s -mtriple=i386-apple-darwin -mattr=+shstk | FileCheck %s
4 define void @test_incsspd(i32 %a) local_unnamed_addr {
5 ; CHECK-LABEL: test_incsspd:
6 ; CHECK:       ## %bb.0: ## %entry
7 ; CHECK-NEXT:    movl {{[0-9]+}}(%esp), %eax
8 ; CHECK-NEXT:    incsspd %eax
9 ; CHECK-NEXT:    retl
10 entry:
11   tail call void @llvm.x86.incsspd(i32 %a)
12   ret void
15 declare void @llvm.x86.incsspd(i32)
17 define i32 @test_rdsspd(i32 %a) {
18 ; CHECK-LABEL: test_rdsspd:
19 ; CHECK:       ## %bb.0: ## %entry
20 ; CHECK-NEXT:    movl {{[0-9]+}}(%esp), %eax
21 ; CHECK-NEXT:    rdsspd %eax
22 ; CHECK-NEXT:    retl
23 entry:
24   %0 = call i32 @llvm.x86.rdsspd(i32 %a)
25   ret i32 %0
28 declare i32 @llvm.x86.rdsspd(i32)
30 define void @test_saveprevssp() {
31 ; CHECK-LABEL: test_saveprevssp:
32 ; CHECK:       ## %bb.0: ## %entry
33 ; CHECK-NEXT:    saveprevssp
34 ; CHECK-NEXT:    retl
35 entry:
36   tail call void @llvm.x86.saveprevssp()
37   ret void
40 declare void @llvm.x86.saveprevssp()
42 define void @test_rstorssp(i8* %__p) {
43 ; CHECK-LABEL: test_rstorssp:
44 ; CHECK:       ## %bb.0: ## %entry
45 ; CHECK-NEXT:    movl {{[0-9]+}}(%esp), %eax
46 ; CHECK-NEXT:    rstorssp (%eax)
47 ; CHECK-NEXT:    retl
48 entry:
49   tail call void @llvm.x86.rstorssp(i8* %__p)
50   ret void
53 declare void @llvm.x86.rstorssp(i8*)
55 define void @test_wrssd(i32 %a, i8* %__p) {
56 ; CHECK-LABEL: test_wrssd:
57 ; CHECK:       ## %bb.0: ## %entry
58 ; CHECK-NEXT:    movl {{[0-9]+}}(%esp), %eax
59 ; CHECK-NEXT:    movl {{[0-9]+}}(%esp), %ecx
60 ; CHECK-NEXT:    wrssd %eax, (%ecx)
61 ; CHECK-NEXT:    retl
62 entry:
63   tail call void @llvm.x86.wrssd(i32 %a, i8* %__p)
64   ret void
67 declare void @llvm.x86.wrssd(i32, i8*)
69 define void @test_wrussd(i32 %a, i8* %__p) {
70 ; CHECK-LABEL: test_wrussd:
71 ; CHECK:       ## %bb.0: ## %entry
72 ; CHECK-NEXT:    movl {{[0-9]+}}(%esp), %eax
73 ; CHECK-NEXT:    movl {{[0-9]+}}(%esp), %ecx
74 ; CHECK-NEXT:    wrussd %eax, (%ecx)
75 ; CHECK-NEXT:    retl
76 entry:
77   tail call void @llvm.x86.wrussd(i32 %a, i8* %__p)
78   ret void
81 declare void @llvm.x86.wrussd(i32, i8*)
83 define void @test_setssbsy() {
84 ; CHECK-LABEL: test_setssbsy:
85 ; CHECK:       ## %bb.0: ## %entry
86 ; CHECK-NEXT:    setssbsy
87 ; CHECK-NEXT:    retl
88 entry:
89   tail call void @llvm.x86.setssbsy()
90   ret void
93 declare void @llvm.x86.setssbsy()
95 define void @test_clrssbsy(i8* %__p) {
96 ; CHECK-LABEL: test_clrssbsy:
97 ; CHECK:       ## %bb.0: ## %entry
98 ; CHECK-NEXT:    movl {{[0-9]+}}(%esp), %eax
99 ; CHECK-NEXT:    clrssbsy (%eax)
100 ; CHECK-NEXT:    retl
101 entry:
102   tail call void @llvm.x86.clrssbsy(i8* %__p)
103   ret void
106 declare void @llvm.x86.clrssbsy(i8* %__p)