1 # RUN: llc -o - %s -mtriple=mips-unknown-linux-gnu -enable-shrink-wrap=true \ 2 # RUN: -start-before=shrink-wrap -stop-after=prologepilog | FileCheck %s 3 4 --- | 5 declare void @foo() 6 define void @testBuildPairF64() { 7 ret void 8 } 9 define void @testBuildPairF64_64() { 10 ret void 11 } 12 define void @testBuildPairF64implicitSp() { 13 ret void 14 } 15 define void @testBuildPairF64_64implicitSp() { 16 ret void 17 } 18 define void @testExtractElementF64() { 19 ret void 20 } 21 define void @testExtractElementF64_64() { 22 ret void 23 } 24 define void @testExtractElementF64implicitSp() { 25 ret void 26 } 27 define void @testExtractElementF64_64implicitSp() { 28 ret void 29 } 30 ... 31 --- 32 name: testBuildPairF64 33 # CHECK-LABEL: name: testBuildPairF64 34 # CHECK: bb.0 35 # CHECK-NEXT: successors 36 # CHECK-NEXT: {{[[:space:]]$}} 37 # CHECK-NEXT: BuildPairF64 38 body: | 39 bb.0: 40 $d0 = BuildPairF64 $zero, $zero 41 bb.1: 42 JAL @foo, implicit-def $ra 43 bb.2: 44 RetRA 45 ... 46 --- 47 name: testBuildPairF64_64 48 # CHECK-LABEL: name: testBuildPairF64_64 49 # CHECK: bb.0 50 # CHECK-NEXT: successors 51 # CHECK-NEXT: {{[[:space:]]$}} 52 # CHECK-NEXT: BuildPairF64_64 53 body: | 54 bb.0: 55 $d0_64 = BuildPairF64_64 $zero, $zero 56 bb.1: 57 JAL @foo, implicit-def $ra 58 bb.2: 59 RetRA 60 ... 61 --- 62 name: testBuildPairF64implicitSp 63 # CHECK-LABEL: name: testBuildPairF64implicitSp 64 # CHECK: bb.0 65 # CHECK-NEXT: successors 66 # CHECK-NEXT: {{[[:space:]]$}} 67 # CHECK-NEXT: $sp = ADDiu $sp, -{{[0-9]+}} 68 body: | 69 bb.0: 70 $d0 = BuildPairF64 $zero, $zero, implicit $sp 71 bb.1: 72 JAL @foo, implicit-def $ra 73 bb.2: 74 RetRA 75 ... 76 --- 77 name: testBuildPairF64_64implicitSp 78 # CHECK-LABEL: name: testBuildPairF64_64implicitSp 79 # CHECK: bb.0 80 # CHECK-NEXT: successors 81 # CHECK-NEXT: {{[[:space:]]$}} 82 # CHECK-NEXT: $sp = ADDiu $sp, -{{[0-9]+}} 83 body: | 84 bb.0: 85 $d0_64 = BuildPairF64_64 $zero, $zero, implicit $sp 86 bb.1: 87 JAL @foo, implicit-def $ra 88 bb.2: 89 RetRA 90 ... 91 --- 92 name: testExtractElementF64 93 # CHECK-LABEL: name: testExtractElementF64 94 # CHECK: bb.0 95 # CHECK-NEXT: successors 96 # CHECK-NEXT: {{[[:space:]]$}} 97 # CHECK-NEXT: ExtractElementF64 98 body: | 99 bb.0: 100 $at = ExtractElementF64 $d6, 1 101 bb.1: 102 JAL @foo, implicit-def $ra 103 bb.2: 104 RetRA 105 ... 106 --- 107 name: testExtractElementF64_64 108 # CHECK-LABEL: name: testExtractElementF64_64 109 # CHECK: bb.0 110 # CHECK-NEXT: successors 111 # CHECK-NEXT: {{[[:space:]]$}} 112 # CHECK-NEXT: ExtractElementF64_64 113 body: | 114 bb.0: 115 $at = ExtractElementF64_64 $d12_64, 1 116 bb.1: 117 JAL @foo, implicit-def $ra 118 bb.2: 119 RetRA 120 ... 121 --- 122 name: testExtractElementF64implicitSp 123 # CHECK-LABEL: name: testExtractElementF64implicitSp 124 # CHECK: bb.0 125 # CHECK-NEXT: successors 126 # CHECK-NEXT: {{[[:space:]]$}} 127 # CHECK-NEXT: $sp = ADDiu $sp, -{{[0-9]+}} 128 body: | 129 bb.0: 130 $at = ExtractElementF64 $d6, 1, implicit $sp 131 bb.1: 132 JAL @foo, implicit-def $ra 133 bb.2: 134 RetRA 135 ... 136 --- 137 name: testExtractElementF64_64implicitSp 138 # CHECK-LABEL: name: testExtractElementF64_64implicitSp 139 # CHECK: bb.0 140 # CHECK-NEXT: successors 141 # CHECK-NEXT: {{[[:space:]]$}} 142 # CHECK-NEXT: $sp = ADDiu $sp, -{{[0-9]+}} 143 body: | 144 bb.0: 145 $at = ExtractElementF64_64 $d12_64, 1, implicit $sp 146 bb.1: 147 JAL @foo, implicit-def $ra 148 bb.2: 149 RetRA 150 ... 151