--- /dev/null
+; RUN: llc -disable-fp-elim -O0 %s -mtriple s390x-linux-gnu -o - | FileCheck %s\r
+\r
+; int func(void);\r
+; void prologue_end_test() {\r
+; func();\r
+; func();\r
+; }\r
+\r
+define void @prologue_end_test() nounwind uwtable {\r
+ ; CHECK: prologue_end_test:\r
+ ; CHECK: .cfi_startproc\r
+ ; CHECK: aghi\r
+ ; CHECK: lgr\r
+ ; CHECK: .loc 1 3 3 prologue_end\r
+ ; CHECK: brasl {{.*}}, func\r
+ ; CHECK: brasl {{.*}}, func\r
+entry:\r
+ %call = call i32 @func(), !dbg !11\r
+ %call1 = call i32 @func(), !dbg !12\r
+ ret void, !dbg !13\r
+}\r
+\r
+declare i32 @func()\r
+\r
+!llvm.dbg.cu = !{!0}\r
+!llvm.module.flags = !{!7, !8, !9}\r
+!llvm.ident = !{!10}\r
+\r
+!0 = distinct !DICompileUnit(language: DW_LANG_C99, file: !1, producer: "clang version 3.7.0 (trunk 242129)", isOptimized: false, runtimeVersion: 0, emissionKind: 1, enums: !2, subprograms: !3)\r
+!1 = !DIFile(filename: "foo.c", directory: "/tmp")\r
+!2 = !{}\r
+!3 = !{!4}\r
+!4 = distinct !DISubprogram(name: "prologue_end_test", scope: !1, file: !1, line: 2, type: !5, isLocal: false, isDefinition: true, scopeLine: 2, isOptimized: false, function: void ()* @prologue_end_test, variables: !2)\r
+!5 = !DISubroutineType(types: !6)\r
+!6 = !{null}\r
+!7 = !{i32 2, !"Dwarf Version", i32 2}\r
+!8 = !{i32 2, !"Debug Info Version", i32 3}\r
+!9 = !{i32 1, !"PIC Level", i32 2}\r
+!10 = !{!"clang version 3.7.0 (trunk 242129)"}\r
+!11 = !DILocation(line: 3, column: 3, scope: !4)\r
+!12 = !DILocation(line: 4, column: 3, scope: !4)\r
+!13 = !DILocation(line: 5, column: 1, scope: !4)\r