github.com/decomp/exp@v0.0.0-20210624183419-6d058f5e1da6/lift/x86/testdata/x86_64/fpu/fild/fild.ll (about) 1 define void @fild_m16int() !addr !{!"0x10000000"} { 2 ; <label>:0 3 %f0 = alloca x86_fp80 4 %f1 = alloca x86_fp80 5 %f2 = alloca x86_fp80 6 %f3 = alloca x86_fp80 7 %f4 = alloca x86_fp80 8 %f5 = alloca x86_fp80 9 %f6 = alloca x86_fp80 10 %f7 = alloca x86_fp80 11 %st = alloca i8 12 store i8 7, i8* %st 13 br label %block_10000000 14 15 block_10000000: 16 %1 = load i16, i16* @m16 17 %2 = sitofp i16 %1 to x86_fp80 18 %3 = load i8, i8* %st 19 %4 = icmp eq i8 %3, 0 20 br i1 %4, label %5, label %6 21 22 ; <label>:5 23 store i8 7, i8* %st 24 br label %8 25 26 ; <label>:6 27 %7 = sub i8 %3, 1 28 store i8 %7, i8* %st 29 br label %8 30 31 ; <label>:8 32 %9 = load i8, i8* %st 33 switch i8 %9, label %18 [ 34 i8 0, label %10 35 i8 1, label %11 36 i8 2, label %12 37 i8 3, label %13 38 i8 4, label %14 39 i8 5, label %15 40 i8 6, label %16 41 i8 7, label %17 42 ] 43 44 ; <label>:10 45 store x86_fp80 %2, x86_fp80* %f0 46 br label %19 47 48 ; <label>:11 49 store x86_fp80 %2, x86_fp80* %f1 50 br label %19 51 52 ; <label>:12 53 store x86_fp80 %2, x86_fp80* %f2 54 br label %19 55 56 ; <label>:13 57 store x86_fp80 %2, x86_fp80* %f3 58 br label %19 59 60 ; <label>:14 61 store x86_fp80 %2, x86_fp80* %f4 62 br label %19 63 64 ; <label>:15 65 store x86_fp80 %2, x86_fp80* %f5 66 br label %19 67 68 ; <label>:16 69 store x86_fp80 %2, x86_fp80* %f6 70 br label %19 71 72 ; <label>:17 73 store x86_fp80 %2, x86_fp80* %f7 74 br label %19 75 76 ; <label>:18 77 unreachable 78 79 ; <label>:19 80 ret void 81 } 82 83 define void @fild_m32int() !addr !{!"0x10000007"} { 84 ; <label>:0 85 %f0 = alloca x86_fp80 86 %f1 = alloca x86_fp80 87 %f2 = alloca x86_fp80 88 %f3 = alloca x86_fp80 89 %f4 = alloca x86_fp80 90 %f5 = alloca x86_fp80 91 %f6 = alloca x86_fp80 92 %f7 = alloca x86_fp80 93 %st = alloca i8 94 store i8 7, i8* %st 95 br label %block_10000007 96 97 block_10000007: 98 %1 = load i32, i32* @m32 99 %2 = sitofp i32 %1 to x86_fp80 100 %3 = load i8, i8* %st 101 %4 = icmp eq i8 %3, 0 102 br i1 %4, label %5, label %6 103 104 ; <label>:5 105 store i8 7, i8* %st 106 br label %8 107 108 ; <label>:6 109 %7 = sub i8 %3, 1 110 store i8 %7, i8* %st 111 br label %8 112 113 ; <label>:8 114 %9 = load i8, i8* %st 115 switch i8 %9, label %18 [ 116 i8 0, label %10 117 i8 1, label %11 118 i8 2, label %12 119 i8 3, label %13 120 i8 4, label %14 121 i8 5, label %15 122 i8 6, label %16 123 i8 7, label %17 124 ] 125 126 ; <label>:10 127 store x86_fp80 %2, x86_fp80* %f0 128 br label %19 129 130 ; <label>:11 131 store x86_fp80 %2, x86_fp80* %f1 132 br label %19 133 134 ; <label>:12 135 store x86_fp80 %2, x86_fp80* %f2 136 br label %19 137 138 ; <label>:13 139 store x86_fp80 %2, x86_fp80* %f3 140 br label %19 141 142 ; <label>:14 143 store x86_fp80 %2, x86_fp80* %f4 144 br label %19 145 146 ; <label>:15 147 store x86_fp80 %2, x86_fp80* %f5 148 br label %19 149 150 ; <label>:16 151 store x86_fp80 %2, x86_fp80* %f6 152 br label %19 153 154 ; <label>:17 155 store x86_fp80 %2, x86_fp80* %f7 156 br label %19 157 158 ; <label>:18 159 unreachable 160 161 ; <label>:19 162 ret void 163 } 164 165 define void @fild_m64int() !addr !{!"0x1000000E"} { 166 ; <label>:0 167 %f0 = alloca x86_fp80 168 %f1 = alloca x86_fp80 169 %f2 = alloca x86_fp80 170 %f3 = alloca x86_fp80 171 %f4 = alloca x86_fp80 172 %f5 = alloca x86_fp80 173 %f6 = alloca x86_fp80 174 %f7 = alloca x86_fp80 175 %st = alloca i8 176 store i8 7, i8* %st 177 br label %block_1000000E 178 179 block_1000000E: 180 %1 = load i64, i64* @m64 181 %2 = sitofp i64 %1 to x86_fp80 182 %3 = load i8, i8* %st 183 %4 = icmp eq i8 %3, 0 184 br i1 %4, label %5, label %6 185 186 ; <label>:5 187 store i8 7, i8* %st 188 br label %8 189 190 ; <label>:6 191 %7 = sub i8 %3, 1 192 store i8 %7, i8* %st 193 br label %8 194 195 ; <label>:8 196 %9 = load i8, i8* %st 197 switch i8 %9, label %18 [ 198 i8 0, label %10 199 i8 1, label %11 200 i8 2, label %12 201 i8 3, label %13 202 i8 4, label %14 203 i8 5, label %15 204 i8 6, label %16 205 i8 7, label %17 206 ] 207 208 ; <label>:10 209 store x86_fp80 %2, x86_fp80* %f0 210 br label %19 211 212 ; <label>:11 213 store x86_fp80 %2, x86_fp80* %f1 214 br label %19 215 216 ; <label>:12 217 store x86_fp80 %2, x86_fp80* %f2 218 br label %19 219 220 ; <label>:13 221 store x86_fp80 %2, x86_fp80* %f3 222 br label %19 223 224 ; <label>:14 225 store x86_fp80 %2, x86_fp80* %f4 226 br label %19 227 228 ; <label>:15 229 store x86_fp80 %2, x86_fp80* %f5 230 br label %19 231 232 ; <label>:16 233 store x86_fp80 %2, x86_fp80* %f6 234 br label %19 235 236 ; <label>:17 237 store x86_fp80 %2, x86_fp80* %f7 238 br label %19 239 240 ; <label>:18 241 unreachable 242 243 ; <label>:19 244 ret void 245 }