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 4define 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 10entry: 11 tail call void @llvm.x86.incsspd(i32 %a) 12 ret void 13} 14 15declare void @llvm.x86.incsspd(i32) 16 17define 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 23entry: 24 %0 = call i32 @llvm.x86.rdsspd(i32 %a) 25 ret i32 %0 26} 27 28declare i32 @llvm.x86.rdsspd(i32) 29 30define void @test_saveprevssp() { 31; CHECK-LABEL: test_saveprevssp: 32; CHECK: ## %bb.0: ## %entry 33; CHECK-NEXT: saveprevssp 34; CHECK-NEXT: retl 35entry: 36 tail call void @llvm.x86.saveprevssp() 37 ret void 38} 39 40declare void @llvm.x86.saveprevssp() 41 42define 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 48entry: 49 tail call void @llvm.x86.rstorssp(i8* %__p) 50 ret void 51} 52 53declare void @llvm.x86.rstorssp(i8*) 54 55define 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 62entry: 63 tail call void @llvm.x86.wrssd(i32 %a, i8* %__p) 64 ret void 65} 66 67declare void @llvm.x86.wrssd(i32, i8*) 68 69define 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 76entry: 77 tail call void @llvm.x86.wrussd(i32 %a, i8* %__p) 78 ret void 79} 80 81declare void @llvm.x86.wrussd(i32, i8*) 82 83define void @test_setssbsy() { 84; CHECK-LABEL: test_setssbsy: 85; CHECK: ## %bb.0: ## %entry 86; CHECK-NEXT: setssbsy 87; CHECK-NEXT: retl 88entry: 89 tail call void @llvm.x86.setssbsy() 90 ret void 91} 92 93declare void @llvm.x86.setssbsy() 94 95define 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 101entry: 102 tail call void @llvm.x86.clrssbsy(i8* %__p) 103 ret void 104} 105 106declare void @llvm.x86.clrssbsy(i8* %__p) 107