1 ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py 2 ; RUN: llc < %s -mtriple=mips-mti-linux-gnu -relocation-model=static \ 3 ; RUN: -mips-tail-calls=1 -mcpu=mips32r2 -mattr=+use-indirect-jump-hazard \ 4 ; RUN: -verify-machineinstrs | FileCheck %s --check-prefix=MIPS32R2 5 ; RUN: llc < %s -mtriple=mips-img-linux-gnu -relocation-model=static \ 6 ; RUN: -mips-tail-calls=1 -mcpu=mips32r6 -mattr=+use-indirect-jump-hazard \ 7 ; RUN: -verify-machineinstrs | FileCheck %s --check-prefix=MIPS32R6 8 ; RUN: llc < %s -mtriple=mips64-mti-linux-gnu -relocation-model=static \ 9 ; RUN: -mips-tail-calls=1 -mcpu=mips64r2 -mattr=+use-indirect-jump-hazard \ 10 ; RUN: -verify-machineinstrs | FileCheck %s --check-prefix=MIPS64R2 11 ; RUN: llc < %s -mtriple=mips64-img-linux-gnu -relocation-model=static \ 12 ; RUN: -mips-tail-calls=1 -mcpu=mips64r6 -mattr=+use-indirect-jump-hazard \ 13 ; RUN: -verify-machineinstrs | FileCheck %s --check-prefix=MIPS64R6 14 15 ; RUN: llc < %s -mtriple=mips-mti-linux-gnu -relocation-model=pic \ 16 ; RUN: -mips-tail-calls=1 -mcpu=mips32r2 -mattr=+use-indirect-jump-hazard \ 17 ; RUN: -verify-machineinstrs | FileCheck %s --check-prefix=PIC-MIPS32R2 18 ; RUN: llc < %s -mtriple=mips-img-linux-gnu -relocation-model=pic \ 19 ; RUN: -mips-tail-calls=1 -mcpu=mips32r6 -mattr=+use-indirect-jump-hazard \ 20 ; RUN: -verify-machineinstrs | FileCheck %s --check-prefix=PIC-MIPS32R6 21 ; RUN: llc < %s -mtriple=mips64-mti-linux-gnu -relocation-model=pic \ 22 ; RUN: -mips-tail-calls=1 -mcpu=mips64r2 -mattr=+use-indirect-jump-hazard \ 23 ; RUN: -verify-machineinstrs | FileCheck %s --check-prefix=PIC-MIPS64R2 24 ; RUN: llc < %s -mtriple=mips64-img-linux-gnu -relocation-model=pic \ 25 ; RUN: -mips-tail-calls=1 -mcpu=mips64r6 -mattr=+use-indirect-jump-hazard \ 26 ; RUN: -verify-machineinstrs | FileCheck %s --check-prefix=PIC-MIPS64R6 27 28 @.str = private unnamed_addr constant [2 x i8] c"A\00", align 1 29 @.str.1 = private unnamed_addr constant [2 x i8] c"B\00", align 1 30 @.str.2 = private unnamed_addr constant [2 x i8] c"C\00", align 1 31 @.str.3 = private unnamed_addr constant [2 x i8] c"D\00", align 1 32 @.str.4 = private unnamed_addr constant [2 x i8] c"E\00", align 1 33 @.str.5 = private unnamed_addr constant [2 x i8] c"F\00", align 1 34 @.str.6 = private unnamed_addr constant [2 x i8] c"G\00", align 1 35 @.str.7 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 36 37 define i8* @_Z3fooi(i32 signext %Letter) { 38 ; MIPS32R2-LABEL: _Z3fooi: 39 ; MIPS32R2: # %bb.0: # %entry 40 ; MIPS32R2-NEXT: addiu $sp, $sp, -16 41 ; MIPS32R2-NEXT: .cfi_def_cfa_offset 16 42 ; MIPS32R2-NEXT: sltiu $1, $4, 7 43 ; MIPS32R2-NEXT: beqz $1, $BB0_3 44 ; MIPS32R2-NEXT: sw $4, 4($sp) 45 ; MIPS32R2-NEXT: $BB0_1: # %entry 46 ; MIPS32R2-NEXT: sll $1, $4, 2 47 ; MIPS32R2-NEXT: lui $2, %hi($JTI0_0) 48 ; MIPS32R2-NEXT: addu $1, $1, $2 49 ; MIPS32R2-NEXT: lw $1, %lo($JTI0_0)($1) 50 ; MIPS32R2-NEXT: jr.hb $1 51 ; MIPS32R2-NEXT: nop 52 ; MIPS32R2-NEXT: $BB0_2: # %sw.bb 53 ; MIPS32R2-NEXT: lui $1, %hi($.str) 54 ; MIPS32R2-NEXT: addiu $1, $1, %lo($.str) 55 ; MIPS32R2-NEXT: j $BB0_10 56 ; MIPS32R2-NEXT: sw $1, 8($sp) 57 ; MIPS32R2-NEXT: $BB0_3: # %sw.epilog 58 ; MIPS32R2-NEXT: lui $1, %hi($.str.7) 59 ; MIPS32R2-NEXT: addiu $1, $1, %lo($.str.7) 60 ; MIPS32R2-NEXT: j $BB0_10 61 ; MIPS32R2-NEXT: sw $1, 8($sp) 62 ; MIPS32R2-NEXT: $BB0_4: # %sw.bb1 63 ; MIPS32R2-NEXT: lui $1, %hi($.str.1) 64 ; MIPS32R2-NEXT: addiu $1, $1, %lo($.str.1) 65 ; MIPS32R2-NEXT: j $BB0_10 66 ; MIPS32R2-NEXT: sw $1, 8($sp) 67 ; MIPS32R2-NEXT: $BB0_5: # %sw.bb2 68 ; MIPS32R2-NEXT: lui $1, %hi($.str.2) 69 ; MIPS32R2-NEXT: addiu $1, $1, %lo($.str.2) 70 ; MIPS32R2-NEXT: j $BB0_10 71 ; MIPS32R2-NEXT: sw $1, 8($sp) 72 ; MIPS32R2-NEXT: $BB0_6: # %sw.bb3 73 ; MIPS32R2-NEXT: lui $1, %hi($.str.3) 74 ; MIPS32R2-NEXT: addiu $1, $1, %lo($.str.3) 75 ; MIPS32R2-NEXT: j $BB0_10 76 ; MIPS32R2-NEXT: sw $1, 8($sp) 77 ; MIPS32R2-NEXT: $BB0_7: # %sw.bb4 78 ; MIPS32R2-NEXT: lui $1, %hi($.str.4) 79 ; MIPS32R2-NEXT: addiu $1, $1, %lo($.str.4) 80 ; MIPS32R2-NEXT: j $BB0_10 81 ; MIPS32R2-NEXT: sw $1, 8($sp) 82 ; MIPS32R2-NEXT: $BB0_8: # %sw.bb5 83 ; MIPS32R2-NEXT: lui $1, %hi($.str.5) 84 ; MIPS32R2-NEXT: addiu $1, $1, %lo($.str.5) 85 ; MIPS32R2-NEXT: j $BB0_10 86 ; MIPS32R2-NEXT: sw $1, 8($sp) 87 ; MIPS32R2-NEXT: $BB0_9: # %sw.bb6 88 ; MIPS32R2-NEXT: lui $1, %hi($.str.6) 89 ; MIPS32R2-NEXT: addiu $1, $1, %lo($.str.6) 90 ; MIPS32R2-NEXT: sw $1, 8($sp) 91 ; MIPS32R2-NEXT: $BB0_10: # %return 92 ; MIPS32R2-NEXT: lw $2, 8($sp) 93 ; MIPS32R2-NEXT: jr $ra 94 ; MIPS32R2-NEXT: addiu $sp, $sp, 16 95 ; 96 ; MIPS32R6-LABEL: _Z3fooi: 97 ; MIPS32R6: # %bb.0: # %entry 98 ; MIPS32R6-NEXT: addiu $sp, $sp, -16 99 ; MIPS32R6-NEXT: .cfi_def_cfa_offset 16 100 ; MIPS32R6-NEXT: sltiu $1, $4, 7 101 ; MIPS32R6-NEXT: beqz $1, $BB0_3 102 ; MIPS32R6-NEXT: sw $4, 4($sp) 103 ; MIPS32R6-NEXT: $BB0_1: # %entry 104 ; MIPS32R6-NEXT: sll $1, $4, 2 105 ; MIPS32R6-NEXT: lui $2, %hi($JTI0_0) 106 ; MIPS32R6-NEXT: addu $1, $1, $2 107 ; MIPS32R6-NEXT: lw $1, %lo($JTI0_0)($1) 108 ; MIPS32R6-NEXT: jr.hb $1 109 ; MIPS32R6-NEXT: nop 110 ; MIPS32R6-NEXT: $BB0_2: # %sw.bb 111 ; MIPS32R6-NEXT: lui $1, %hi($.str) 112 ; MIPS32R6-NEXT: addiu $1, $1, %lo($.str) 113 ; MIPS32R6-NEXT: j $BB0_10 114 ; MIPS32R6-NEXT: sw $1, 8($sp) 115 ; MIPS32R6-NEXT: $BB0_3: # %sw.epilog 116 ; MIPS32R6-NEXT: lui $1, %hi($.str.7) 117 ; MIPS32R6-NEXT: addiu $1, $1, %lo($.str.7) 118 ; MIPS32R6-NEXT: j $BB0_10 119 ; MIPS32R6-NEXT: sw $1, 8($sp) 120 ; MIPS32R6-NEXT: $BB0_4: # %sw.bb1 121 ; MIPS32R6-NEXT: lui $1, %hi($.str.1) 122 ; MIPS32R6-NEXT: addiu $1, $1, %lo($.str.1) 123 ; MIPS32R6-NEXT: j $BB0_10 124 ; MIPS32R6-NEXT: sw $1, 8($sp) 125 ; MIPS32R6-NEXT: $BB0_5: # %sw.bb2 126 ; MIPS32R6-NEXT: lui $1, %hi($.str.2) 127 ; MIPS32R6-NEXT: addiu $1, $1, %lo($.str.2) 128 ; MIPS32R6-NEXT: j $BB0_10 129 ; MIPS32R6-NEXT: sw $1, 8($sp) 130 ; MIPS32R6-NEXT: $BB0_6: # %sw.bb3 131 ; MIPS32R6-NEXT: lui $1, %hi($.str.3) 132 ; MIPS32R6-NEXT: addiu $1, $1, %lo($.str.3) 133 ; MIPS32R6-NEXT: j $BB0_10 134 ; MIPS32R6-NEXT: sw $1, 8($sp) 135 ; MIPS32R6-NEXT: $BB0_7: # %sw.bb4 136 ; MIPS32R6-NEXT: lui $1, %hi($.str.4) 137 ; MIPS32R6-NEXT: addiu $1, $1, %lo($.str.4) 138 ; MIPS32R6-NEXT: j $BB0_10 139 ; MIPS32R6-NEXT: sw $1, 8($sp) 140 ; MIPS32R6-NEXT: $BB0_8: # %sw.bb5 141 ; MIPS32R6-NEXT: lui $1, %hi($.str.5) 142 ; MIPS32R6-NEXT: addiu $1, $1, %lo($.str.5) 143 ; MIPS32R6-NEXT: j $BB0_10 144 ; MIPS32R6-NEXT: sw $1, 8($sp) 145 ; MIPS32R6-NEXT: $BB0_9: # %sw.bb6 146 ; MIPS32R6-NEXT: lui $1, %hi($.str.6) 147 ; MIPS32R6-NEXT: addiu $1, $1, %lo($.str.6) 148 ; MIPS32R6-NEXT: sw $1, 8($sp) 149 ; MIPS32R6-NEXT: $BB0_10: # %return 150 ; MIPS32R6-NEXT: lw $2, 8($sp) 151 ; MIPS32R6-NEXT: jr $ra 152 ; MIPS32R6-NEXT: addiu $sp, $sp, 16 153 ; 154 ; MIPS64R2-LABEL: _Z3fooi: 155 ; MIPS64R2: # %bb.0: # %entry 156 ; MIPS64R2-NEXT: daddiu $sp, $sp, -16 157 ; MIPS64R2-NEXT: .cfi_def_cfa_offset 16 158 ; MIPS64R2-NEXT: sw $4, 4($sp) 159 ; MIPS64R2-NEXT: lwu $2, 4($sp) 160 ; MIPS64R2-NEXT: sltiu $1, $2, 7 161 ; MIPS64R2-NEXT: beqz $1, .LBB0_3 162 ; MIPS64R2-NEXT: nop 163 ; MIPS64R2-NEXT: .LBB0_1: # %entry 164 ; MIPS64R2-NEXT: dsll $1, $2, 3 165 ; MIPS64R2-NEXT: lui $2, %highest(.LJTI0_0) 166 ; MIPS64R2-NEXT: daddiu $2, $2, %higher(.LJTI0_0) 167 ; MIPS64R2-NEXT: dsll $2, $2, 16 168 ; MIPS64R2-NEXT: daddiu $2, $2, %hi(.LJTI0_0) 169 ; MIPS64R2-NEXT: dsll $2, $2, 16 170 ; MIPS64R2-NEXT: daddu $1, $1, $2 171 ; MIPS64R2-NEXT: ld $1, %lo(.LJTI0_0)($1) 172 ; MIPS64R2-NEXT: jr.hb $1 173 ; MIPS64R2-NEXT: nop 174 ; MIPS64R2-NEXT: .LBB0_2: # %sw.bb 175 ; MIPS64R2-NEXT: lui $1, %highest(.L.str) 176 ; MIPS64R2-NEXT: daddiu $1, $1, %higher(.L.str) 177 ; MIPS64R2-NEXT: dsll $1, $1, 16 178 ; MIPS64R2-NEXT: daddiu $1, $1, %hi(.L.str) 179 ; MIPS64R2-NEXT: dsll $1, $1, 16 180 ; MIPS64R2-NEXT: daddiu $1, $1, %lo(.L.str) 181 ; MIPS64R2-NEXT: j .LBB0_10 182 ; MIPS64R2-NEXT: sd $1, 8($sp) 183 ; MIPS64R2-NEXT: .LBB0_3: # %sw.epilog 184 ; MIPS64R2-NEXT: lui $1, %highest(.L.str.7) 185 ; MIPS64R2-NEXT: daddiu $1, $1, %higher(.L.str.7) 186 ; MIPS64R2-NEXT: dsll $1, $1, 16 187 ; MIPS64R2-NEXT: daddiu $1, $1, %hi(.L.str.7) 188 ; MIPS64R2-NEXT: dsll $1, $1, 16 189 ; MIPS64R2-NEXT: daddiu $1, $1, %lo(.L.str.7) 190 ; MIPS64R2-NEXT: j .LBB0_10 191 ; MIPS64R2-NEXT: sd $1, 8($sp) 192 ; MIPS64R2-NEXT: .LBB0_4: # %sw.bb1 193 ; MIPS64R2-NEXT: lui $1, %highest(.L.str.1) 194 ; MIPS64R2-NEXT: daddiu $1, $1, %higher(.L.str.1) 195 ; MIPS64R2-NEXT: dsll $1, $1, 16 196 ; MIPS64R2-NEXT: daddiu $1, $1, %hi(.L.str.1) 197 ; MIPS64R2-NEXT: dsll $1, $1, 16 198 ; MIPS64R2-NEXT: daddiu $1, $1, %lo(.L.str.1) 199 ; MIPS64R2-NEXT: j .LBB0_10 200 ; MIPS64R2-NEXT: sd $1, 8($sp) 201 ; MIPS64R2-NEXT: .LBB0_5: # %sw.bb2 202 ; MIPS64R2-NEXT: lui $1, %highest(.L.str.2) 203 ; MIPS64R2-NEXT: daddiu $1, $1, %higher(.L.str.2) 204 ; MIPS64R2-NEXT: dsll $1, $1, 16 205 ; MIPS64R2-NEXT: daddiu $1, $1, %hi(.L.str.2) 206 ; MIPS64R2-NEXT: dsll $1, $1, 16 207 ; MIPS64R2-NEXT: daddiu $1, $1, %lo(.L.str.2) 208 ; MIPS64R2-NEXT: j .LBB0_10 209 ; MIPS64R2-NEXT: sd $1, 8($sp) 210 ; MIPS64R2-NEXT: .LBB0_6: # %sw.bb3 211 ; MIPS64R2-NEXT: lui $1, %highest(.L.str.3) 212 ; MIPS64R2-NEXT: daddiu $1, $1, %higher(.L.str.3) 213 ; MIPS64R2-NEXT: dsll $1, $1, 16 214 ; MIPS64R2-NEXT: daddiu $1, $1, %hi(.L.str.3) 215 ; MIPS64R2-NEXT: dsll $1, $1, 16 216 ; MIPS64R2-NEXT: daddiu $1, $1, %lo(.L.str.3) 217 ; MIPS64R2-NEXT: j .LBB0_10 218 ; MIPS64R2-NEXT: sd $1, 8($sp) 219 ; MIPS64R2-NEXT: .LBB0_7: # %sw.bb4 220 ; MIPS64R2-NEXT: lui $1, %highest(.L.str.4) 221 ; MIPS64R2-NEXT: daddiu $1, $1, %higher(.L.str.4) 222 ; MIPS64R2-NEXT: dsll $1, $1, 16 223 ; MIPS64R2-NEXT: daddiu $1, $1, %hi(.L.str.4) 224 ; MIPS64R2-NEXT: dsll $1, $1, 16 225 ; MIPS64R2-NEXT: daddiu $1, $1, %lo(.L.str.4) 226 ; MIPS64R2-NEXT: j .LBB0_10 227 ; MIPS64R2-NEXT: sd $1, 8($sp) 228 ; MIPS64R2-NEXT: .LBB0_8: # %sw.bb5 229 ; MIPS64R2-NEXT: lui $1, %highest(.L.str.5) 230 ; MIPS64R2-NEXT: daddiu $1, $1, %higher(.L.str.5) 231 ; MIPS64R2-NEXT: dsll $1, $1, 16 232 ; MIPS64R2-NEXT: daddiu $1, $1, %hi(.L.str.5) 233 ; MIPS64R2-NEXT: dsll $1, $1, 16 234 ; MIPS64R2-NEXT: daddiu $1, $1, %lo(.L.str.5) 235 ; MIPS64R2-NEXT: j .LBB0_10 236 ; MIPS64R2-NEXT: sd $1, 8($sp) 237 ; MIPS64R2-NEXT: .LBB0_9: # %sw.bb6 238 ; MIPS64R2-NEXT: lui $1, %highest(.L.str.6) 239 ; MIPS64R2-NEXT: daddiu $1, $1, %higher(.L.str.6) 240 ; MIPS64R2-NEXT: dsll $1, $1, 16 241 ; MIPS64R2-NEXT: daddiu $1, $1, %hi(.L.str.6) 242 ; MIPS64R2-NEXT: dsll $1, $1, 16 243 ; MIPS64R2-NEXT: daddiu $1, $1, %lo(.L.str.6) 244 ; MIPS64R2-NEXT: sd $1, 8($sp) 245 ; MIPS64R2-NEXT: .LBB0_10: # %return 246 ; MIPS64R2-NEXT: ld $2, 8($sp) 247 ; MIPS64R2-NEXT: jr $ra 248 ; MIPS64R2-NEXT: daddiu $sp, $sp, 16 249 ; 250 ; MIPS64R6-LABEL: _Z3fooi: 251 ; MIPS64R6: # %bb.0: # %entry 252 ; MIPS64R6-NEXT: daddiu $sp, $sp, -16 253 ; MIPS64R6-NEXT: .cfi_def_cfa_offset 16 254 ; MIPS64R6-NEXT: sw $4, 4($sp) 255 ; MIPS64R6-NEXT: lwu $2, 4($sp) 256 ; MIPS64R6-NEXT: sltiu $1, $2, 7 257 ; MIPS64R6-NEXT: beqzc $1, .LBB0_3 258 ; MIPS64R6-NEXT: .LBB0_1: # %entry 259 ; MIPS64R6-NEXT: dsll $1, $2, 3 260 ; MIPS64R6-NEXT: lui $2, %highest(.LJTI0_0) 261 ; MIPS64R6-NEXT: daddiu $2, $2, %higher(.LJTI0_0) 262 ; MIPS64R6-NEXT: dsll $2, $2, 16 263 ; MIPS64R6-NEXT: daddiu $2, $2, %hi(.LJTI0_0) 264 ; MIPS64R6-NEXT: dsll $2, $2, 16 265 ; MIPS64R6-NEXT: daddu $1, $1, $2 266 ; MIPS64R6-NEXT: ld $1, %lo(.LJTI0_0)($1) 267 ; MIPS64R6-NEXT: jr.hb $1 268 ; MIPS64R6-NEXT: nop 269 ; MIPS64R6-NEXT: .LBB0_2: # %sw.bb 270 ; MIPS64R6-NEXT: lui $1, %highest(.L.str) 271 ; MIPS64R6-NEXT: daddiu $1, $1, %higher(.L.str) 272 ; MIPS64R6-NEXT: dsll $1, $1, 16 273 ; MIPS64R6-NEXT: daddiu $1, $1, %hi(.L.str) 274 ; MIPS64R6-NEXT: dsll $1, $1, 16 275 ; MIPS64R6-NEXT: daddiu $1, $1, %lo(.L.str) 276 ; MIPS64R6-NEXT: j .LBB0_10 277 ; MIPS64R6-NEXT: sd $1, 8($sp) 278 ; MIPS64R6-NEXT: .LBB0_3: # %sw.epilog 279 ; MIPS64R6-NEXT: lui $1, %highest(.L.str.7) 280 ; MIPS64R6-NEXT: daddiu $1, $1, %higher(.L.str.7) 281 ; MIPS64R6-NEXT: dsll $1, $1, 16 282 ; MIPS64R6-NEXT: daddiu $1, $1, %hi(.L.str.7) 283 ; MIPS64R6-NEXT: dsll $1, $1, 16 284 ; MIPS64R6-NEXT: daddiu $1, $1, %lo(.L.str.7) 285 ; MIPS64R6-NEXT: j .LBB0_10 286 ; MIPS64R6-NEXT: sd $1, 8($sp) 287 ; MIPS64R6-NEXT: .LBB0_4: # %sw.bb1 288 ; MIPS64R6-NEXT: lui $1, %highest(.L.str.1) 289 ; MIPS64R6-NEXT: daddiu $1, $1, %higher(.L.str.1) 290 ; MIPS64R6-NEXT: dsll $1, $1, 16 291 ; MIPS64R6-NEXT: daddiu $1, $1, %hi(.L.str.1) 292 ; MIPS64R6-NEXT: dsll $1, $1, 16 293 ; MIPS64R6-NEXT: daddiu $1, $1, %lo(.L.str.1) 294 ; MIPS64R6-NEXT: j .LBB0_10 295 ; MIPS64R6-NEXT: sd $1, 8($sp) 296 ; MIPS64R6-NEXT: .LBB0_5: # %sw.bb2 297 ; MIPS64R6-NEXT: lui $1, %highest(.L.str.2) 298 ; MIPS64R6-NEXT: daddiu $1, $1, %higher(.L.str.2) 299 ; MIPS64R6-NEXT: dsll $1, $1, 16 300 ; MIPS64R6-NEXT: daddiu $1, $1, %hi(.L.str.2) 301 ; MIPS64R6-NEXT: dsll $1, $1, 16 302 ; MIPS64R6-NEXT: daddiu $1, $1, %lo(.L.str.2) 303 ; MIPS64R6-NEXT: j .LBB0_10 304 ; MIPS64R6-NEXT: sd $1, 8($sp) 305 ; MIPS64R6-NEXT: .LBB0_6: # %sw.bb3 306 ; MIPS64R6-NEXT: lui $1, %highest(.L.str.3) 307 ; MIPS64R6-NEXT: daddiu $1, $1, %higher(.L.str.3) 308 ; MIPS64R6-NEXT: dsll $1, $1, 16 309 ; MIPS64R6-NEXT: daddiu $1, $1, %hi(.L.str.3) 310 ; MIPS64R6-NEXT: dsll $1, $1, 16 311 ; MIPS64R6-NEXT: daddiu $1, $1, %lo(.L.str.3) 312 ; MIPS64R6-NEXT: j .LBB0_10 313 ; MIPS64R6-NEXT: sd $1, 8($sp) 314 ; MIPS64R6-NEXT: .LBB0_7: # %sw.bb4 315 ; MIPS64R6-NEXT: lui $1, %highest(.L.str.4) 316 ; MIPS64R6-NEXT: daddiu $1, $1, %higher(.L.str.4) 317 ; MIPS64R6-NEXT: dsll $1, $1, 16 318 ; MIPS64R6-NEXT: daddiu $1, $1, %hi(.L.str.4) 319 ; MIPS64R6-NEXT: dsll $1, $1, 16 320 ; MIPS64R6-NEXT: daddiu $1, $1, %lo(.L.str.4) 321 ; MIPS64R6-NEXT: j .LBB0_10 322 ; MIPS64R6-NEXT: sd $1, 8($sp) 323 ; MIPS64R6-NEXT: .LBB0_8: # %sw.bb5 324 ; MIPS64R6-NEXT: lui $1, %highest(.L.str.5) 325 ; MIPS64R6-NEXT: daddiu $1, $1, %higher(.L.str.5) 326 ; MIPS64R6-NEXT: dsll $1, $1, 16 327 ; MIPS64R6-NEXT: daddiu $1, $1, %hi(.L.str.5) 328 ; MIPS64R6-NEXT: dsll $1, $1, 16 329 ; MIPS64R6-NEXT: daddiu $1, $1, %lo(.L.str.5) 330 ; MIPS64R6-NEXT: j .LBB0_10 331 ; MIPS64R6-NEXT: sd $1, 8($sp) 332 ; MIPS64R6-NEXT: .LBB0_9: # %sw.bb6 333 ; MIPS64R6-NEXT: lui $1, %highest(.L.str.6) 334 ; MIPS64R6-NEXT: daddiu $1, $1, %higher(.L.str.6) 335 ; MIPS64R6-NEXT: dsll $1, $1, 16 336 ; MIPS64R6-NEXT: daddiu $1, $1, %hi(.L.str.6) 337 ; MIPS64R6-NEXT: dsll $1, $1, 16 338 ; MIPS64R6-NEXT: daddiu $1, $1, %lo(.L.str.6) 339 ; MIPS64R6-NEXT: sd $1, 8($sp) 340 ; MIPS64R6-NEXT: .LBB0_10: # %return 341 ; MIPS64R6-NEXT: ld $2, 8($sp) 342 ; MIPS64R6-NEXT: jr $ra 343 ; MIPS64R6-NEXT: daddiu $sp, $sp, 16 344 ; 345 ; PIC-MIPS32R2-LABEL: _Z3fooi: 346 ; PIC-MIPS32R2: # %bb.0: # %entry 347 ; PIC-MIPS32R2-NEXT: lui $2, %hi(_gp_disp) 348 ; PIC-MIPS32R2-NEXT: addiu $2, $2, %lo(_gp_disp) 349 ; PIC-MIPS32R2-NEXT: addiu $sp, $sp, -16 350 ; PIC-MIPS32R2-NEXT: .cfi_def_cfa_offset 16 351 ; PIC-MIPS32R2-NEXT: addu $2, $2, $25 352 ; PIC-MIPS32R2-NEXT: sltiu $1, $4, 7 353 ; PIC-MIPS32R2-NEXT: beqz $1, $BB0_3 354 ; PIC-MIPS32R2-NEXT: sw $4, 4($sp) 355 ; PIC-MIPS32R2-NEXT: $BB0_1: # %entry 356 ; PIC-MIPS32R2-NEXT: sll $1, $4, 2 357 ; PIC-MIPS32R2-NEXT: lw $3, %got($JTI0_0)($2) 358 ; PIC-MIPS32R2-NEXT: addu $1, $1, $3 359 ; PIC-MIPS32R2-NEXT: lw $1, %lo($JTI0_0)($1) 360 ; PIC-MIPS32R2-NEXT: addu $1, $1, $2 361 ; PIC-MIPS32R2-NEXT: jr.hb $1 362 ; PIC-MIPS32R2-NEXT: nop 363 ; PIC-MIPS32R2-NEXT: $BB0_2: # %sw.bb 364 ; PIC-MIPS32R2-NEXT: lw $1, %got($.str)($2) 365 ; PIC-MIPS32R2-NEXT: addiu $1, $1, %lo($.str) 366 ; PIC-MIPS32R2-NEXT: b $BB0_10 367 ; PIC-MIPS32R2-NEXT: sw $1, 8($sp) 368 ; PIC-MIPS32R2-NEXT: $BB0_3: # %sw.epilog 369 ; PIC-MIPS32R2-NEXT: lw $1, %got($.str.7)($2) 370 ; PIC-MIPS32R2-NEXT: addiu $1, $1, %lo($.str.7) 371 ; PIC-MIPS32R2-NEXT: b $BB0_10 372 ; PIC-MIPS32R2-NEXT: sw $1, 8($sp) 373 ; PIC-MIPS32R2-NEXT: $BB0_4: # %sw.bb1 374 ; PIC-MIPS32R2-NEXT: lw $1, %got($.str.1)($2) 375 ; PIC-MIPS32R2-NEXT: addiu $1, $1, %lo($.str.1) 376 ; PIC-MIPS32R2-NEXT: b $BB0_10 377 ; PIC-MIPS32R2-NEXT: sw $1, 8($sp) 378 ; PIC-MIPS32R2-NEXT: $BB0_5: # %sw.bb2 379 ; PIC-MIPS32R2-NEXT: lw $1, %got($.str.2)($2) 380 ; PIC-MIPS32R2-NEXT: addiu $1, $1, %lo($.str.2) 381 ; PIC-MIPS32R2-NEXT: b $BB0_10 382 ; PIC-MIPS32R2-NEXT: sw $1, 8($sp) 383 ; PIC-MIPS32R2-NEXT: $BB0_6: # %sw.bb3 384 ; PIC-MIPS32R2-NEXT: lw $1, %got($.str.3)($2) 385 ; PIC-MIPS32R2-NEXT: addiu $1, $1, %lo($.str.3) 386 ; PIC-MIPS32R2-NEXT: b $BB0_10 387 ; PIC-MIPS32R2-NEXT: sw $1, 8($sp) 388 ; PIC-MIPS32R2-NEXT: $BB0_7: # %sw.bb4 389 ; PIC-MIPS32R2-NEXT: lw $1, %got($.str.4)($2) 390 ; PIC-MIPS32R2-NEXT: addiu $1, $1, %lo($.str.4) 391 ; PIC-MIPS32R2-NEXT: b $BB0_10 392 ; PIC-MIPS32R2-NEXT: sw $1, 8($sp) 393 ; PIC-MIPS32R2-NEXT: $BB0_8: # %sw.bb5 394 ; PIC-MIPS32R2-NEXT: lw $1, %got($.str.5)($2) 395 ; PIC-MIPS32R2-NEXT: addiu $1, $1, %lo($.str.5) 396 ; PIC-MIPS32R2-NEXT: b $BB0_10 397 ; PIC-MIPS32R2-NEXT: sw $1, 8($sp) 398 ; PIC-MIPS32R2-NEXT: $BB0_9: # %sw.bb6 399 ; PIC-MIPS32R2-NEXT: lw $1, %got($.str.6)($2) 400 ; PIC-MIPS32R2-NEXT: addiu $1, $1, %lo($.str.6) 401 ; PIC-MIPS32R2-NEXT: sw $1, 8($sp) 402 ; PIC-MIPS32R2-NEXT: $BB0_10: # %return 403 ; PIC-MIPS32R2-NEXT: lw $2, 8($sp) 404 ; PIC-MIPS32R2-NEXT: jr $ra 405 ; PIC-MIPS32R2-NEXT: addiu $sp, $sp, 16 406 ; 407 ; PIC-MIPS32R6-LABEL: _Z3fooi: 408 ; PIC-MIPS32R6: # %bb.0: # %entry 409 ; PIC-MIPS32R6-NEXT: lui $2, %hi(_gp_disp) 410 ; PIC-MIPS32R6-NEXT: addiu $2, $2, %lo(_gp_disp) 411 ; PIC-MIPS32R6-NEXT: addiu $sp, $sp, -16 412 ; PIC-MIPS32R6-NEXT: .cfi_def_cfa_offset 16 413 ; PIC-MIPS32R6-NEXT: addu $2, $2, $25 414 ; PIC-MIPS32R6-NEXT: sltiu $1, $4, 7 415 ; PIC-MIPS32R6-NEXT: beqz $1, $BB0_3 416 ; PIC-MIPS32R6-NEXT: sw $4, 4($sp) 417 ; PIC-MIPS32R6-NEXT: $BB0_1: # %entry 418 ; PIC-MIPS32R6-NEXT: sll $1, $4, 2 419 ; PIC-MIPS32R6-NEXT: lw $3, %got($JTI0_0)($2) 420 ; PIC-MIPS32R6-NEXT: addu $1, $1, $3 421 ; PIC-MIPS32R6-NEXT: lw $1, %lo($JTI0_0)($1) 422 ; PIC-MIPS32R6-NEXT: addu $1, $1, $2 423 ; PIC-MIPS32R6-NEXT: jr.hb $1 424 ; PIC-MIPS32R6-NEXT: nop 425 ; PIC-MIPS32R6-NEXT: $BB0_2: # %sw.bb 426 ; PIC-MIPS32R6-NEXT: lw $1, %got($.str)($2) 427 ; PIC-MIPS32R6-NEXT: addiu $1, $1, %lo($.str) 428 ; PIC-MIPS32R6-NEXT: b $BB0_10 429 ; PIC-MIPS32R6-NEXT: sw $1, 8($sp) 430 ; PIC-MIPS32R6-NEXT: $BB0_3: # %sw.epilog 431 ; PIC-MIPS32R6-NEXT: lw $1, %got($.str.7)($2) 432 ; PIC-MIPS32R6-NEXT: addiu $1, $1, %lo($.str.7) 433 ; PIC-MIPS32R6-NEXT: b $BB0_10 434 ; PIC-MIPS32R6-NEXT: sw $1, 8($sp) 435 ; PIC-MIPS32R6-NEXT: $BB0_4: # %sw.bb1 436 ; PIC-MIPS32R6-NEXT: lw $1, %got($.str.1)($2) 437 ; PIC-MIPS32R6-NEXT: addiu $1, $1, %lo($.str.1) 438 ; PIC-MIPS32R6-NEXT: b $BB0_10 439 ; PIC-MIPS32R6-NEXT: sw $1, 8($sp) 440 ; PIC-MIPS32R6-NEXT: $BB0_5: # %sw.bb2 441 ; PIC-MIPS32R6-NEXT: lw $1, %got($.str.2)($2) 442 ; PIC-MIPS32R6-NEXT: addiu $1, $1, %lo($.str.2) 443 ; PIC-MIPS32R6-NEXT: b $BB0_10 444 ; PIC-MIPS32R6-NEXT: sw $1, 8($sp) 445 ; PIC-MIPS32R6-NEXT: $BB0_6: # %sw.bb3 446 ; PIC-MIPS32R6-NEXT: lw $1, %got($.str.3)($2) 447 ; PIC-MIPS32R6-NEXT: addiu $1, $1, %lo($.str.3) 448 ; PIC-MIPS32R6-NEXT: b $BB0_10 449 ; PIC-MIPS32R6-NEXT: sw $1, 8($sp) 450 ; PIC-MIPS32R6-NEXT: $BB0_7: # %sw.bb4 451 ; PIC-MIPS32R6-NEXT: lw $1, %got($.str.4)($2) 452 ; PIC-MIPS32R6-NEXT: addiu $1, $1, %lo($.str.4) 453 ; PIC-MIPS32R6-NEXT: b $BB0_10 454 ; PIC-MIPS32R6-NEXT: sw $1, 8($sp) 455 ; PIC-MIPS32R6-NEXT: $BB0_8: # %sw.bb5 456 ; PIC-MIPS32R6-NEXT: lw $1, %got($.str.5)($2) 457 ; PIC-MIPS32R6-NEXT: addiu $1, $1, %lo($.str.5) 458 ; PIC-MIPS32R6-NEXT: b $BB0_10 459 ; PIC-MIPS32R6-NEXT: sw $1, 8($sp) 460 ; PIC-MIPS32R6-NEXT: $BB0_9: # %sw.bb6 461 ; PIC-MIPS32R6-NEXT: lw $1, %got($.str.6)($2) 462 ; PIC-MIPS32R6-NEXT: addiu $1, $1, %lo($.str.6) 463 ; PIC-MIPS32R6-NEXT: sw $1, 8($sp) 464 ; PIC-MIPS32R6-NEXT: $BB0_10: # %return 465 ; PIC-MIPS32R6-NEXT: lw $2, 8($sp) 466 ; PIC-MIPS32R6-NEXT: jr $ra 467 ; PIC-MIPS32R6-NEXT: addiu $sp, $sp, 16 468 ; 469 ; PIC-MIPS64R2-LABEL: _Z3fooi: 470 ; PIC-MIPS64R2: # %bb.0: # %entry 471 ; PIC-MIPS64R2-NEXT: daddiu $sp, $sp, -16 472 ; PIC-MIPS64R2-NEXT: .cfi_def_cfa_offset 16 473 ; PIC-MIPS64R2-NEXT: lui $1, %hi(%neg(%gp_rel(_Z3fooi))) 474 ; PIC-MIPS64R2-NEXT: daddu $1, $1, $25 475 ; PIC-MIPS64R2-NEXT: daddiu $2, $1, %lo(%neg(%gp_rel(_Z3fooi))) 476 ; PIC-MIPS64R2-NEXT: sw $4, 4($sp) 477 ; PIC-MIPS64R2-NEXT: lwu $3, 4($sp) 478 ; PIC-MIPS64R2-NEXT: sltiu $1, $3, 7 479 ; PIC-MIPS64R2-NEXT: beqz $1, .LBB0_3 480 ; PIC-MIPS64R2-NEXT: nop 481 ; PIC-MIPS64R2-NEXT: .LBB0_1: # %entry 482 ; PIC-MIPS64R2-NEXT: dsll $1, $3, 3 483 ; PIC-MIPS64R2-NEXT: ld $3, %got_page(.LJTI0_0)($2) 484 ; PIC-MIPS64R2-NEXT: daddu $1, $1, $3 485 ; PIC-MIPS64R2-NEXT: ld $1, %got_ofst(.LJTI0_0)($1) 486 ; PIC-MIPS64R2-NEXT: daddu $1, $1, $2 487 ; PIC-MIPS64R2-NEXT: jr.hb $1 488 ; PIC-MIPS64R2-NEXT: nop 489 ; PIC-MIPS64R2-NEXT: .LBB0_2: # %sw.bb 490 ; PIC-MIPS64R2-NEXT: ld $1, %got_page(.L.str)($2) 491 ; PIC-MIPS64R2-NEXT: daddiu $1, $1, %got_ofst(.L.str) 492 ; PIC-MIPS64R2-NEXT: b .LBB0_10 493 ; PIC-MIPS64R2-NEXT: sd $1, 8($sp) 494 ; PIC-MIPS64R2-NEXT: .LBB0_3: # %sw.epilog 495 ; PIC-MIPS64R2-NEXT: ld $1, %got_page(.L.str.7)($2) 496 ; PIC-MIPS64R2-NEXT: daddiu $1, $1, %got_ofst(.L.str.7) 497 ; PIC-MIPS64R2-NEXT: b .LBB0_10 498 ; PIC-MIPS64R2-NEXT: sd $1, 8($sp) 499 ; PIC-MIPS64R2-NEXT: .LBB0_4: # %sw.bb1 500 ; PIC-MIPS64R2-NEXT: ld $1, %got_page(.L.str.1)($2) 501 ; PIC-MIPS64R2-NEXT: daddiu $1, $1, %got_ofst(.L.str.1) 502 ; PIC-MIPS64R2-NEXT: b .LBB0_10 503 ; PIC-MIPS64R2-NEXT: sd $1, 8($sp) 504 ; PIC-MIPS64R2-NEXT: .LBB0_5: # %sw.bb2 505 ; PIC-MIPS64R2-NEXT: ld $1, %got_page(.L.str.2)($2) 506 ; PIC-MIPS64R2-NEXT: daddiu $1, $1, %got_ofst(.L.str.2) 507 ; PIC-MIPS64R2-NEXT: b .LBB0_10 508 ; PIC-MIPS64R2-NEXT: sd $1, 8($sp) 509 ; PIC-MIPS64R2-NEXT: .LBB0_6: # %sw.bb3 510 ; PIC-MIPS64R2-NEXT: ld $1, %got_page(.L.str.3)($2) 511 ; PIC-MIPS64R2-NEXT: daddiu $1, $1, %got_ofst(.L.str.3) 512 ; PIC-MIPS64R2-NEXT: b .LBB0_10 513 ; PIC-MIPS64R2-NEXT: sd $1, 8($sp) 514 ; PIC-MIPS64R2-NEXT: .LBB0_7: # %sw.bb4 515 ; PIC-MIPS64R2-NEXT: ld $1, %got_page(.L.str.4)($2) 516 ; PIC-MIPS64R2-NEXT: daddiu $1, $1, %got_ofst(.L.str.4) 517 ; PIC-MIPS64R2-NEXT: b .LBB0_10 518 ; PIC-MIPS64R2-NEXT: sd $1, 8($sp) 519 ; PIC-MIPS64R2-NEXT: .LBB0_8: # %sw.bb5 520 ; PIC-MIPS64R2-NEXT: ld $1, %got_page(.L.str.5)($2) 521 ; PIC-MIPS64R2-NEXT: daddiu $1, $1, %got_ofst(.L.str.5) 522 ; PIC-MIPS64R2-NEXT: b .LBB0_10 523 ; PIC-MIPS64R2-NEXT: sd $1, 8($sp) 524 ; PIC-MIPS64R2-NEXT: .LBB0_9: # %sw.bb6 525 ; PIC-MIPS64R2-NEXT: ld $1, %got_page(.L.str.6)($2) 526 ; PIC-MIPS64R2-NEXT: daddiu $1, $1, %got_ofst(.L.str.6) 527 ; PIC-MIPS64R2-NEXT: sd $1, 8($sp) 528 ; PIC-MIPS64R2-NEXT: .LBB0_10: # %return 529 ; PIC-MIPS64R2-NEXT: ld $2, 8($sp) 530 ; PIC-MIPS64R2-NEXT: jr $ra 531 ; PIC-MIPS64R2-NEXT: daddiu $sp, $sp, 16 532 ; 533 ; PIC-MIPS64R6-LABEL: _Z3fooi: 534 ; PIC-MIPS64R6: # %bb.0: # %entry 535 ; PIC-MIPS64R6-NEXT: daddiu $sp, $sp, -16 536 ; PIC-MIPS64R6-NEXT: .cfi_def_cfa_offset 16 537 ; PIC-MIPS64R6-NEXT: lui $1, %hi(%neg(%gp_rel(_Z3fooi))) 538 ; PIC-MIPS64R6-NEXT: daddu $1, $1, $25 539 ; PIC-MIPS64R6-NEXT: daddiu $2, $1, %lo(%neg(%gp_rel(_Z3fooi))) 540 ; PIC-MIPS64R6-NEXT: sw $4, 4($sp) 541 ; PIC-MIPS64R6-NEXT: lwu $3, 4($sp) 542 ; PIC-MIPS64R6-NEXT: sltiu $1, $3, 7 543 ; PIC-MIPS64R6-NEXT: beqzc $1, .LBB0_3 544 ; PIC-MIPS64R6-NEXT: .LBB0_1: # %entry 545 ; PIC-MIPS64R6-NEXT: dsll $1, $3, 3 546 ; PIC-MIPS64R6-NEXT: ld $3, %got_page(.LJTI0_0)($2) 547 ; PIC-MIPS64R6-NEXT: daddu $1, $1, $3 548 ; PIC-MIPS64R6-NEXT: ld $1, %got_ofst(.LJTI0_0)($1) 549 ; PIC-MIPS64R6-NEXT: daddu $1, $1, $2 550 ; PIC-MIPS64R6-NEXT: jr.hb $1 551 ; PIC-MIPS64R6-NEXT: nop 552 ; PIC-MIPS64R6-NEXT: .LBB0_2: # %sw.bb 553 ; PIC-MIPS64R6-NEXT: ld $1, %got_page(.L.str)($2) 554 ; PIC-MIPS64R6-NEXT: daddiu $1, $1, %got_ofst(.L.str) 555 ; PIC-MIPS64R6-NEXT: b .LBB0_10 556 ; PIC-MIPS64R6-NEXT: sd $1, 8($sp) 557 ; PIC-MIPS64R6-NEXT: .LBB0_3: # %sw.epilog 558 ; PIC-MIPS64R6-NEXT: ld $1, %got_page(.L.str.7)($2) 559 ; PIC-MIPS64R6-NEXT: daddiu $1, $1, %got_ofst(.L.str.7) 560 ; PIC-MIPS64R6-NEXT: b .LBB0_10 561 ; PIC-MIPS64R6-NEXT: sd $1, 8($sp) 562 ; PIC-MIPS64R6-NEXT: .LBB0_4: # %sw.bb1 563 ; PIC-MIPS64R6-NEXT: ld $1, %got_page(.L.str.1)($2) 564 ; PIC-MIPS64R6-NEXT: daddiu $1, $1, %got_ofst(.L.str.1) 565 ; PIC-MIPS64R6-NEXT: b .LBB0_10 566 ; PIC-MIPS64R6-NEXT: sd $1, 8($sp) 567 ; PIC-MIPS64R6-NEXT: .LBB0_5: # %sw.bb2 568 ; PIC-MIPS64R6-NEXT: ld $1, %got_page(.L.str.2)($2) 569 ; PIC-MIPS64R6-NEXT: daddiu $1, $1, %got_ofst(.L.str.2) 570 ; PIC-MIPS64R6-NEXT: b .LBB0_10 571 ; PIC-MIPS64R6-NEXT: sd $1, 8($sp) 572 ; PIC-MIPS64R6-NEXT: .LBB0_6: # %sw.bb3 573 ; PIC-MIPS64R6-NEXT: ld $1, %got_page(.L.str.3)($2) 574 ; PIC-MIPS64R6-NEXT: daddiu $1, $1, %got_ofst(.L.str.3) 575 ; PIC-MIPS64R6-NEXT: b .LBB0_10 576 ; PIC-MIPS64R6-NEXT: sd $1, 8($sp) 577 ; PIC-MIPS64R6-NEXT: .LBB0_7: # %sw.bb4 578 ; PIC-MIPS64R6-NEXT: ld $1, %got_page(.L.str.4)($2) 579 ; PIC-MIPS64R6-NEXT: daddiu $1, $1, %got_ofst(.L.str.4) 580 ; PIC-MIPS64R6-NEXT: b .LBB0_10 581 ; PIC-MIPS64R6-NEXT: sd $1, 8($sp) 582 ; PIC-MIPS64R6-NEXT: .LBB0_8: # %sw.bb5 583 ; PIC-MIPS64R6-NEXT: ld $1, %got_page(.L.str.5)($2) 584 ; PIC-MIPS64R6-NEXT: daddiu $1, $1, %got_ofst(.L.str.5) 585 ; PIC-MIPS64R6-NEXT: b .LBB0_10 586 ; PIC-MIPS64R6-NEXT: sd $1, 8($sp) 587 ; PIC-MIPS64R6-NEXT: .LBB0_9: # %sw.bb6 588 ; PIC-MIPS64R6-NEXT: ld $1, %got_page(.L.str.6)($2) 589 ; PIC-MIPS64R6-NEXT: daddiu $1, $1, %got_ofst(.L.str.6) 590 ; PIC-MIPS64R6-NEXT: sd $1, 8($sp) 591 ; PIC-MIPS64R6-NEXT: .LBB0_10: # %return 592 ; PIC-MIPS64R6-NEXT: ld $2, 8($sp) 593 ; PIC-MIPS64R6-NEXT: jr $ra 594 ; PIC-MIPS64R6-NEXT: daddiu $sp, $sp, 16 595 entry: 596 %retval = alloca i8*, align 8 597 %Letter.addr = alloca i32, align 4 598 store i32 %Letter, i32* %Letter.addr, align 4 599 %0 = load i32, i32* %Letter.addr, align 4 600 switch i32 %0, label %sw.epilog [ 601 i32 0, label %sw.bb 602 i32 1, label %sw.bb1 603 i32 2, label %sw.bb2 604 i32 3, label %sw.bb3 605 i32 4, label %sw.bb4 606 i32 5, label %sw.bb5 607 i32 6, label %sw.bb6 608 ] 609 610 sw.bb: 611 store i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str, i32 0, i32 0), i8** %retval, align 8 612 br label %return 613 614 sw.bb1: 615 store i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.1, i32 0, i32 0), i8** %retval, align 8 616 br label %return 617 618 sw.bb2: 619 store i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.2, i32 0, i32 0), i8** %retval, align 8 620 br label %return 621 622 sw.bb3: 623 store i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.3, i32 0, i32 0), i8** %retval, align 8 624 br label %return 625 626 sw.bb4: 627 store i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.4, i32 0, i32 0), i8** %retval, align 8 628 br label %return 629 630 sw.bb5: 631 store i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.5, i32 0, i32 0), i8** %retval, align 8 632 br label %return 633 634 sw.bb6: 635 store i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.6, i32 0, i32 0), i8** %retval, align 8 636 br label %return 637 638 sw.epilog: 639 store i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.7, i32 0, i32 0), i8** %retval, align 8 640 br label %return 641 642 return: 643 %1 = load i8*, i8** %retval, align 8 644 ret i8* %1 645 } 646