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 3 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 13 } 14 15 declare void @llvm.x86.incsspd(i32) 16 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 26 } 27 28 declare i32 @llvm.x86.rdsspd(i32) 29 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 38 } 39 40 declare void @llvm.x86.saveprevssp() 41 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 51 } 52 53 declare void @llvm.x86.rstorssp(i8*) 54 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 65 } 66 67 declare void @llvm.x86.wrssd(i32, i8*) 68 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 79 } 80 81 declare void @llvm.x86.wrussd(i32, i8*) 82 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 91 } 92 93 declare void @llvm.x86.setssbsy() 94 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 104 } 105 106 declare void @llvm.x86.clrssbsy(i8* %__p) 107