github.com/decomp/exp@v0.0.0-20210624183419-6d058f5e1da6/lift/x86/testdata/x86_32/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 }