1 define i32 @_Z4castIxbET0_T_(i64 %a) { 2 entry: 3 ; %tobool = icmp ne i64 %a, 0 4 %tobool = trunc i64 %a to i1 5 %tobool.ret_ext = zext i1 %tobool to i32 6 ret i32 %tobool.ret_ext 7 } 8 9 define i32 @_Z4castIybET0_T_(i64 %a) { 10 entry: 11 ; %tobool = icmp ne i64 %a, 0 12 %tobool = trunc i64 %a to i1 13 %tobool.ret_ext = zext i1 %tobool to i32 14 ret i32 %tobool.ret_ext 15 } 16 17 define i32 @_Z4castIibET0_T_(i32 %a) { 18 entry: 19 ; %tobool = icmp ne i32 %a, 0 20 %tobool = trunc i32 %a to i1 21 %tobool.ret_ext = zext i1 %tobool to i32 22 ret i32 %tobool.ret_ext 23 } 24 25 define i32 @_Z4castIjbET0_T_(i32 %a) { 26 entry: 27 ; %tobool = icmp ne i32 %a, 0 28 %tobool = trunc i32 %a to i1 29 %tobool.ret_ext = zext i1 %tobool to i32 30 ret i32 %tobool.ret_ext 31 } 32 33 define i32 @_Z4castIsbET0_T_(i32 %a) { 34 entry: 35 %a.arg_trunc = trunc i32 %a to i16 36 ; %tobool = icmp ne i16 %a.arg_trunc, 0 37 %tobool = trunc i16 %a.arg_trunc to i1 38 %tobool.ret_ext = zext i1 %tobool to i32 39 ret i32 %tobool.ret_ext 40 } 41 42 define i32 @_Z4castItbET0_T_(i32 %a) { 43 entry: 44 %a.arg_trunc = trunc i32 %a to i16 45 ; %tobool = icmp ne i16 %a.arg_trunc, 0 46 %tobool = trunc i16 %a.arg_trunc to i1 47 %tobool.ret_ext = zext i1 %tobool to i32 48 ret i32 %tobool.ret_ext 49 } 50 51 define i32 @_Z4castIabET0_T_(i32 %a) { 52 entry: 53 %a.arg_trunc = trunc i32 %a to i8 54 ; %tobool = icmp ne i8 %a.arg_trunc, 0 55 %tobool = trunc i8 %a.arg_trunc to i1 56 %tobool.ret_ext = zext i1 %tobool to i32 57 ret i32 %tobool.ret_ext 58 } 59 60 define i32 @_Z4castIhbET0_T_(i32 %a) { 61 entry: 62 %a.arg_trunc = trunc i32 %a to i8 63 ; %tobool = icmp ne i8 %a.arg_trunc, 0 64 %tobool = trunc i8 %a.arg_trunc to i1 65 %tobool.ret_ext = zext i1 %tobool to i32 66 ret i32 %tobool.ret_ext 67 } 68 69 define i32 @_Z4castIbbET0_T_(i32 %a) { 70 entry: 71 %a.arg_trunc = trunc i32 %a to i1 72 %a.arg_trunc.ret_ext = zext i1 %a.arg_trunc to i32 73 ret i32 %a.arg_trunc.ret_ext 74 } 75 76 define i32 @_Z4castIdbET0_T_(double %a) { 77 entry: 78 ; %tobool = fcmp une double %a, 0.000000e+00 79 %tobool = fptoui double %a to i32 80 %tobool.i1 = trunc i32 %tobool to i1 81 %tobool.ret_ext = zext i1 %tobool.i1 to i32 82 ret i32 %tobool.ret_ext 83 } 84 85 define i32 @_Z4castIfbET0_T_(float %a) { 86 entry: 87 ; %tobool = fcmp une float %a, 0.000000e+00 88 %tobool = fptoui float %a to i32 89 %tobool.i1 = trunc i32 %tobool to i1 90 %tobool.ret_ext = zext i1 %tobool.i1 to i32 91 ret i32 %tobool.ret_ext 92 } 93 94 define internal i32 @_Z4castIbbET0_iT_i(i32 %i, i32 %a, i32 %j) { 95 entry: 96 %a.arg_trunc = trunc i32 %a to i1 97 %a.arg_trunc.ret_ext = zext i1 %a.arg_trunc to i32 98 ret i32 %a.arg_trunc.ret_ext 99 } 100 101 define internal i32 @_Z4castIabET0_iT_i(i32 %i, i32 %a, i32 %j) { 102 entry: 103 %a.arg_trunc = trunc i32 %a to i8 104 ; %tobool = icmp ne i8 %a.arg_trunc, 0 105 %tobool = trunc i8 %a.arg_trunc to i1 106 %tobool.ret_ext = zext i1 %tobool to i32 107 ret i32 %tobool.ret_ext 108 } 109 110 define internal i32 @_Z4castIhbET0_iT_i(i32 %i, i32 %a, i32 %j) { 111 entry: 112 %a.arg_trunc = trunc i32 %a to i8 113 ; %tobool = icmp ne i8 %a.arg_trunc, 0 114 %tobool = trunc i8 %a.arg_trunc to i1 115 %tobool.ret_ext = zext i1 %tobool to i32 116 ret i32 %tobool.ret_ext 117 } 118 119 define internal i32 @_Z4castIsbET0_iT_i(i32 %i, i32 %a, i32 %j) { 120 entry: 121 %a.arg_trunc = trunc i32 %a to i16 122 ; %tobool = icmp ne i16 %a.arg_trunc, 0 123 %tobool = trunc i16 %a.arg_trunc to i1 124 %tobool.ret_ext = zext i1 %tobool to i32 125 ret i32 %tobool.ret_ext 126 } 127 128 define internal i32 @_Z4castItbET0_iT_i(i32 %i, i32 %a, i32 %j) { 129 entry: 130 %a.arg_trunc = trunc i32 %a to i16 131 ; %tobool = icmp ne i16 %a.arg_trunc, 0 132 %tobool = trunc i16 %a.arg_trunc to i1 133 %tobool.ret_ext = zext i1 %tobool to i32 134 ret i32 %tobool.ret_ext 135 } 136 137 define internal i32 @_Z4castIibET0_iT_i(i32 %i, i32 %a, i32 %j) { 138 entry: 139 %tobool = icmp ne i32 %a, 0 140 %tobool.ret_ext = zext i1 %tobool to i32 141 ret i32 %tobool.ret_ext 142 } 143 144 define internal i32 @_Z4castIjbET0_iT_i(i32 %i, i32 %a, i32 %j) { 145 entry: 146 %tobool = icmp ne i32 %a, 0 147 %tobool.ret_ext = zext i1 %tobool to i32 148 ret i32 %tobool.ret_ext 149 } 150 151 define internal i32 @_Z4castIxbET0_iT_i(i32 %i, i64 %a, i32 %j) { 152 entry: 153 %tobool = icmp ne i64 %a, 0 154 %tobool.ret_ext = zext i1 %tobool to i32 155 ret i32 %tobool.ret_ext 156 } 157 158 define internal i32 @_Z4castIybET0_iT_i(i32 %i, i64 %a, i32 %j) { 159 entry: 160 %tobool = icmp ne i64 %a, 0 161 %tobool.ret_ext = zext i1 %tobool to i32 162 ret i32 %tobool.ret_ext 163 } 164 165 define internal i32 @_Z4castIfbET0_iT_i(i32 %i, float %a, i32 %j) { 166 entry: 167 ; %tobool = fcmp une float %a, 0.000000e+00 168 %tobool = fptoui float %a to i32 169 %tobool.i1 = trunc i32 %tobool to i1 170 %tobool.ret_ext = zext i1 %tobool.i1 to i32 171 ret i32 %tobool.ret_ext 172 } 173 174 define internal i32 @_Z4castIdbET0_iT_i(i32 %i, double %a, i32 %j) { 175 entry: 176 ; %tobool = fcmp une double %a, 0.000000e+00 177 %tobool = fptoui double %a to i32 178 %tobool.i1 = trunc i32 %tobool to i1 179 %tobool.ret_ext = zext i1 %tobool.i1 to i32 180 ret i32 %tobool.ret_ext 181 } 182