Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 ; Simple test of signed and unsigned integer conversions. | 1 ; Simple test of signed and unsigned integer conversions. |
| 2 | 2 |
| 3 ; RUN: %if --need=target_X8632 --command %p2i --filetype=obj --disassemble \ | 3 ; RUN: %if --need=target_X8632 --command %p2i --filetype=obj --disassemble \ |
| 4 ; RUN: --target x8632 -i %s --args -O2 \ | 4 ; RUN: --target x8632 -i %s --args -O2 \ |
| 5 ; RUN: | %if --need=target_X8632 --command FileCheck %s | 5 ; RUN: | %if --need=target_X8632 --command FileCheck %s |
| 6 | 6 |
| 7 ; RUN: %if --need=target_X8632 --command %p2i --filetype=obj --disassemble \ | 7 ; RUN: %if --need=target_X8632 --command %p2i --filetype=obj --disassemble \ |
| 8 ; RUN: --target x8632 -i %s --args -Om1 \ | 8 ; RUN: --target x8632 -i %s --args -Om1 \ |
| 9 ; RUN: | %if --need=target_X8632 --command FileCheck %s | 9 ; RUN: | %if --need=target_X8632 --command FileCheck %s |
| 10 | 10 |
| 11 ; RUN: %if --need=target_ARM32 \ | 11 ; RUN: %if --need=target_ARM32 \ |
| 12 ; RUN: --command %p2i --filetype=obj \ | 12 ; RUN: --command %p2i --filetype=obj \ |
| 13 ; RUN: --disassemble --target arm32 -i %s --args -O2 \ | 13 ; RUN: --disassemble --target arm32 -i %s --args -O2 \ |
| 14 ; RUN: | %if --need=target_ARM32 \ | 14 ; RUN: | %if --need=target_ARM32 \ |
| 15 ; RUN: --command FileCheck --check-prefix ARM32 %s | 15 ; RUN: --command FileCheck --check-prefix ARM32 %s |
| 16 | 16 |
| 17 ; RUN: %if --need=target_ARM32 \ | 17 ; RUN: %if --need=target_ARM32 \ |
| 18 ; RUN: --command %p2i --filetype=obj \ | 18 ; RUN: --command %p2i --filetype=obj \ |
| 19 ; RUN: --disassemble --target arm32 -i %s --args -Om1 \ | 19 ; RUN: --disassemble --target arm32 -i %s --args -Om1 \ |
| 20 ; RUN: | %if --need=target_ARM32 \ | 20 ; RUN: | %if --need=target_ARM32 \ |
| 21 ; RUN: --command FileCheck --check-prefix ARM32 %s | 21 ; RUN: --command FileCheck --check-prefix ARM32 %s |
| 22 | 22 |
| 23 ; RUN: %if --need=target_MIPS32 --need=allow_dump \ | |
| 24 ; RUN: --command %p2i --filetype=asm --assemble --disassemble --target \ | |
| 25 ; RUN: mips32 -i %s --args -O2 -allow-externally-defined-symbols \ | |
| 26 ; RUN: | %if --need=target_MIPS32 --need=allow_dump \ | |
| 27 ; RUN: --command FileCheck --check-prefix MIPS32 %s | |
| 28 | |
| 23 @i8v = internal global [1 x i8] zeroinitializer, align 1 | 29 @i8v = internal global [1 x i8] zeroinitializer, align 1 |
| 24 @i16v = internal global [2 x i8] zeroinitializer, align 2 | 30 @i16v = internal global [2 x i8] zeroinitializer, align 2 |
| 25 @i32v = internal global [4 x i8] zeroinitializer, align 4 | 31 @i32v = internal global [4 x i8] zeroinitializer, align 4 |
| 26 @i64v = internal global [8 x i8] zeroinitializer, align 8 | 32 @i64v = internal global [8 x i8] zeroinitializer, align 8 |
| 27 @u8v = internal global [1 x i8] zeroinitializer, align 1 | 33 @u8v = internal global [1 x i8] zeroinitializer, align 1 |
| 28 @u16v = internal global [2 x i8] zeroinitializer, align 2 | 34 @u16v = internal global [2 x i8] zeroinitializer, align 2 |
| 29 @u32v = internal global [4 x i8] zeroinitializer, align 4 | 35 @u32v = internal global [4 x i8] zeroinitializer, align 4 |
| 30 @u64v = internal global [8 x i8] zeroinitializer, align 8 | 36 @u64v = internal global [8 x i8] zeroinitializer, align 8 |
| 31 | 37 |
| 32 define internal void @from_int8() { | 38 define internal void @from_int8() { |
| (...skipping 30 matching lines...) Expand all Loading... | |
| 63 ; ARM32: strh | 69 ; ARM32: strh |
| 64 ; ARM32: sxtb | 70 ; ARM32: sxtb |
| 65 ; ARM32: movw {{.*}}i32v | 71 ; ARM32: movw {{.*}}i32v |
| 66 ; ARM32: str r | 72 ; ARM32: str r |
| 67 ; ARM32: sxtb | 73 ; ARM32: sxtb |
| 68 ; ARM32: asr | 74 ; ARM32: asr |
| 69 ; ARM32: movw {{.*}}i64v | 75 ; ARM32: movw {{.*}}i64v |
| 70 ; ARM32-DAG: str r{{.*}}, [r{{[0-9]+}}] | 76 ; ARM32-DAG: str r{{.*}}, [r{{[0-9]+}}] |
| 71 ; ARM32-DAG: str r{{.*}}, [{{.*}}, #4] | 77 ; ARM32-DAG: str r{{.*}}, [{{.*}}, #4] |
| 72 | 78 |
| 79 ; MIPS32-LABEL: from_int8 | |
| 80 ; MIPS32: lui {{.*}} i8v | |
| 81 ; MIPS32: addiu {{.*}} i8v | |
| 82 ; MIPS32: lb | |
| 83 ; MIPS32: move | |
| 84 ; MIPS32: sll {{.*}},0x18 | |
| 85 ; MIPS32: sra {{.*}},0x18 | |
| 86 ; MIPS32: lui {{.*}} i16v | |
| 87 ; MIPS32: addiu {{.*}} i16v | |
| 88 ; MIPS32: sh | |
| 89 ; MIPS32: move | |
| 90 ; MIPS32: sll {{.*}},0x18 | |
| 91 ; MIPS32: sra {{.*}},0x18 | |
| 92 ; MIPS32: lui {{.*}} i32v | |
| 93 ; MIPS32: addiu {{.*}} i32v | |
| 94 ; MIPS32: sw | |
| 95 ; MIPS32: sll {{.*}},0x18 | |
| 96 ; MIPS32: sra {{.*}},0x18 | |
| 97 ; MIPS32: sra {{.*}},0x1f | |
| 98 ; MIPS32: lui {{.*}} i64v | |
| 99 ; MIPS32: addiu {{.*}} i64v | |
| 100 | |
| 73 define internal void @from_int16() { | 101 define internal void @from_int16() { |
| 74 entry: | 102 entry: |
| 75 %__0 = bitcast [2 x i8]* @i16v to i16* | 103 %__0 = bitcast [2 x i8]* @i16v to i16* |
| 76 %v0 = load i16, i16* %__0, align 1 | 104 %v0 = load i16, i16* %__0, align 1 |
| 77 %v1 = trunc i16 %v0 to i8 | 105 %v1 = trunc i16 %v0 to i8 |
| 78 %__3 = bitcast [1 x i8]* @i8v to i8* | 106 %__3 = bitcast [1 x i8]* @i8v to i8* |
| 79 store i8 %v1, i8* %__3, align 1 | 107 store i8 %v1, i8* %__3, align 1 |
| 80 %v2 = sext i16 %v0 to i32 | 108 %v2 = sext i16 %v0 to i32 |
| 81 %__5 = bitcast [4 x i8]* @i32v to i32* | 109 %__5 = bitcast [4 x i8]* @i32v to i32* |
| 82 store i32 %v2, i32* %__5, align 1 | 110 store i32 %v2, i32* %__5, align 1 |
| (...skipping 17 matching lines...) Expand all Loading... | |
| 100 ; ARM32: movw {{.*}}i8v | 128 ; ARM32: movw {{.*}}i8v |
| 101 ; ARM32: strb | 129 ; ARM32: strb |
| 102 ; ARM32: sxth | 130 ; ARM32: sxth |
| 103 ; ARM32: movw {{.*}}i32v | 131 ; ARM32: movw {{.*}}i32v |
| 104 ; ARM32: str r | 132 ; ARM32: str r |
| 105 ; ARM32: sxth | 133 ; ARM32: sxth |
| 106 ; ARM32: asr | 134 ; ARM32: asr |
| 107 ; ARM32: movw {{.*}}i64v | 135 ; ARM32: movw {{.*}}i64v |
| 108 ; ARM32: str r | 136 ; ARM32: str r |
| 109 | 137 |
| 138 ; MIPS32-LABEL: from_int16 | |
| 139 ; MIPS32: lui {{.*}} i16v | |
| 140 ; MIPS32: addiu {{.*}} i16v | |
| 141 ; MIPS32: lh | |
| 142 ; MIPS32: move | |
| 143 ; MIPS32: lui {{.*}} i8v | |
| 144 ; MIPS32: addiu {{.*}} i8v | |
| 145 ; MIPS32: sb | |
| 146 ; MIPS32: move | |
| 147 ; MIPS32: sll {{.*}},0x10 | |
| 148 ; MIPS32: sra {{.*}},0x10 | |
| 149 ; MIPS32: lui {{.*}} i32v | |
| 150 ; MIPS32: addiu {{.*}} i32v | |
| 151 ; MIPS32: sw | |
| 152 ; MIPS32: sll {{.*}},0x10 | |
| 153 ; MIPS32: sra {{.*}},0x10 | |
| 154 ; MIPS32: sra {{.*}},0x1f | |
| 155 ; MIPS32: lui {{.*}} i64v | |
| 156 ; MIPS32: addiu {{.*}} i64v | |
| 157 | |
| 110 define internal void @from_int32() { | 158 define internal void @from_int32() { |
| 111 entry: | 159 entry: |
| 112 %__0 = bitcast [4 x i8]* @i32v to i32* | 160 %__0 = bitcast [4 x i8]* @i32v to i32* |
| 113 %v0 = load i32, i32* %__0, align 1 | 161 %v0 = load i32, i32* %__0, align 1 |
| 114 %v1 = trunc i32 %v0 to i8 | 162 %v1 = trunc i32 %v0 to i8 |
| 115 %__3 = bitcast [1 x i8]* @i8v to i8* | 163 %__3 = bitcast [1 x i8]* @i8v to i8* |
| 116 store i8 %v1, i8* %__3, align 1 | 164 store i8 %v1, i8* %__3, align 1 |
| 117 %v2 = trunc i32 %v0 to i16 | 165 %v2 = trunc i32 %v0 to i16 |
| 118 %__5 = bitcast [2 x i8]* @i16v to i16* | 166 %__5 = bitcast [2 x i8]* @i16v to i16* |
| 119 store i16 %v2, i16* %__5, align 1 | 167 store i16 %v2, i16* %__5, align 1 |
| (...skipping 13 matching lines...) Expand all Loading... | |
| 133 ; ARM32: movw {{.*}}i32v | 181 ; ARM32: movw {{.*}}i32v |
| 134 ; ARM32: ldr r | 182 ; ARM32: ldr r |
| 135 ; ARM32: movw {{.*}}i8v | 183 ; ARM32: movw {{.*}}i8v |
| 136 ; ARM32: strb | 184 ; ARM32: strb |
| 137 ; ARM32: movw {{.*}}i16v | 185 ; ARM32: movw {{.*}}i16v |
| 138 ; ARM32: strh | 186 ; ARM32: strh |
| 139 ; ARM32: asr | 187 ; ARM32: asr |
| 140 ; ARM32: movw {{.*}}i64v | 188 ; ARM32: movw {{.*}}i64v |
| 141 ; ARM32: str r | 189 ; ARM32: str r |
| 142 | 190 |
| 191 ; MIPS32-LABEL: from_int32 | |
| 192 ; MIPS32: lui {{.*}} i32v | |
| 193 ; MIPS32: addiu {{.*}} i32v | |
| 194 ; MIPS32: lw | |
| 195 ; MIPS32: move | |
| 196 ; MIPS32: lui {{.*}} i8v | |
| 197 ; MIPS32: addiu {{.*}} i8v | |
| 198 ; MIPS32: sb | |
| 199 ; MIPS32: move | |
| 200 ; MIPS32: lui {{.*}} i16v | |
| 201 ; MIPS32: addiu {{.*}} i16v | |
| 202 ; MIPS32: sh | |
| 203 ; MIPS32: sra {{.*}},0x1f | |
| 204 ; MIPS32: lui {{.*}} i64v | |
| 205 ; MIPS32: addiu {{.*}} i64v | |
| 206 | |
| 143 define internal void @from_int64() { | 207 define internal void @from_int64() { |
| 144 entry: | 208 entry: |
| 145 %__0 = bitcast [8 x i8]* @i64v to i64* | 209 %__0 = bitcast [8 x i8]* @i64v to i64* |
| 146 %v0 = load i64, i64* %__0, align 1 | 210 %v0 = load i64, i64* %__0, align 1 |
| 147 %v1 = trunc i64 %v0 to i8 | 211 %v1 = trunc i64 %v0 to i8 |
| 148 %__3 = bitcast [1 x i8]* @i8v to i8* | 212 %__3 = bitcast [1 x i8]* @i8v to i8* |
| 149 store i8 %v1, i8* %__3, align 1 | 213 store i8 %v1, i8* %__3, align 1 |
| 150 %v2 = trunc i64 %v0 to i16 | 214 %v2 = trunc i64 %v0 to i16 |
| 151 %__5 = bitcast [2 x i8]* @i16v to i16* | 215 %__5 = bitcast [2 x i8]* @i16v to i16* |
| 152 store i16 %v2, i16* %__5, align 1 | 216 store i16 %v2, i16* %__5, align 1 |
| (...skipping 11 matching lines...) Expand all Loading... | |
| 164 ; ARM32-LABEL: from_int64 | 228 ; ARM32-LABEL: from_int64 |
| 165 ; ARM32: movw {{.*}}i64v | 229 ; ARM32: movw {{.*}}i64v |
| 166 ; ARM32: ldr r | 230 ; ARM32: ldr r |
| 167 ; ARM32: movw {{.*}}i8v | 231 ; ARM32: movw {{.*}}i8v |
| 168 ; ARM32: strb | 232 ; ARM32: strb |
| 169 ; ARM32: movw {{.*}}i16v | 233 ; ARM32: movw {{.*}}i16v |
| 170 ; ARM32: strh | 234 ; ARM32: strh |
| 171 ; ARM32: movw {{.*}}i32v | 235 ; ARM32: movw {{.*}}i32v |
| 172 ; ARM32: str r | 236 ; ARM32: str r |
| 173 | 237 |
| 238 ; MIPS32-LABEL: from_int64 | |
| 239 ; MIPS32: lui {{.*}} i64v | |
| 240 ; MIPS32: addiu {{.*}} i64v | |
| 241 ; MIPS32: lw | |
| 242 ; MIPS32: move | |
| 243 ; MIPS32: lui {{.*}} i8v | |
| 244 ; MIPS32: addiu {{.*}} i8v | |
| 245 ; MIPS32: sb | |
| 246 ; MIPS32: move | |
| 247 ; MIPS32: lui {{.*}} i16v | |
| 248 ; MIPS32: addiu {{.*}} i16v | |
| 249 ; MIPS32: sh | |
| 250 ; MIPS32: lui {{.*}} i32v | |
| 251 ; MIPS32: addiu {{.*}} i32v | |
| 252 | |
| 174 define internal void @from_uint8() { | 253 define internal void @from_uint8() { |
| 175 entry: | 254 entry: |
| 176 %__0 = bitcast [1 x i8]* @u8v to i8* | 255 %__0 = bitcast [1 x i8]* @u8v to i8* |
| 177 %v0 = load i8, i8* %__0, align 1 | 256 %v0 = load i8, i8* %__0, align 1 |
| 178 %v1 = zext i8 %v0 to i16 | 257 %v1 = zext i8 %v0 to i16 |
| 179 %__3 = bitcast [2 x i8]* @i16v to i16* | 258 %__3 = bitcast [2 x i8]* @i16v to i16* |
| 180 store i16 %v1, i16* %__3, align 1 | 259 store i16 %v1, i16* %__3, align 1 |
| 181 %v2 = zext i8 %v0 to i32 | 260 %v2 = zext i8 %v0 to i32 |
| 182 %__5 = bitcast [4 x i8]* @i32v to i32* | 261 %__5 = bitcast [4 x i8]* @i32v to i32* |
| 183 store i32 %v2, i32* %__5, align 1 | 262 store i32 %v2, i32* %__5, align 1 |
| (...skipping 19 matching lines...) Expand all Loading... | |
| 203 ; ARM32: movw {{.*}}i16v | 282 ; ARM32: movw {{.*}}i16v |
| 204 ; ARM32: strh | 283 ; ARM32: strh |
| 205 ; ARM32: uxtb | 284 ; ARM32: uxtb |
| 206 ; ARM32: movw {{.*}}i32v | 285 ; ARM32: movw {{.*}}i32v |
| 207 ; ARM32: str r | 286 ; ARM32: str r |
| 208 ; ARM32: uxtb | 287 ; ARM32: uxtb |
| 209 ; ARM32: mov {{.*}}, #0 | 288 ; ARM32: mov {{.*}}, #0 |
| 210 ; ARM32: movw {{.*}}i64v | 289 ; ARM32: movw {{.*}}i64v |
| 211 ; ARM32: str r | 290 ; ARM32: str r |
| 212 | 291 |
| 292 ; MIPS32-LABEL: from_uint8 | |
| 293 ; MIPS32: lui {{.*}} u8v | |
| 294 ; MIPS32: addiu {{.*}} u8v | |
| 295 ; MIPS32: lb | |
| 296 ; MIPS32: move | |
| 297 ; MIPS32: andi {{.*}},0xff | |
| 298 ; MIPS32: lui {{.*}} i16v | |
| 299 ; MIPS32: addiu {{.*}} i16v | |
| 300 ; MIPS32: sh | |
| 301 ; MIPS32: move | |
| 302 ; MIPS32: andi {{.*}},0xff | |
| 303 ; MIPS32: lui {{.*}} i32v | |
| 304 ; MIPS32: addiu {{.*}} i32v | |
| 305 ; MIPS32: sw | |
| 306 ; MIPS32: andi {{.*}},0xff | |
| 307 ; MIPS32: li {{.*}},0 | |
| 308 ; MIPS32: lui {{.*}} i64v | |
| 309 ; MIPS32: addiu {{.*}} i64v | |
| 310 | |
| 213 define internal void @from_uint16() { | 311 define internal void @from_uint16() { |
| 214 entry: | 312 entry: |
| 215 %__0 = bitcast [2 x i8]* @u16v to i16* | 313 %__0 = bitcast [2 x i8]* @u16v to i16* |
| 216 %v0 = load i16, i16* %__0, align 1 | 314 %v0 = load i16, i16* %__0, align 1 |
| 217 %v1 = trunc i16 %v0 to i8 | 315 %v1 = trunc i16 %v0 to i8 |
| 218 %__3 = bitcast [1 x i8]* @i8v to i8* | 316 %__3 = bitcast [1 x i8]* @i8v to i8* |
| 219 store i8 %v1, i8* %__3, align 1 | 317 store i8 %v1, i8* %__3, align 1 |
| 220 %v2 = zext i16 %v0 to i32 | 318 %v2 = zext i16 %v0 to i32 |
| 221 %__5 = bitcast [4 x i8]* @i32v to i32* | 319 %__5 = bitcast [4 x i8]* @i32v to i32* |
| 222 store i32 %v2, i32* %__5, align 1 | 320 store i32 %v2, i32* %__5, align 1 |
| (...skipping 17 matching lines...) Expand all Loading... | |
| 240 ; ARM32: movw {{.*}}i8v | 338 ; ARM32: movw {{.*}}i8v |
| 241 ; ARM32: strb | 339 ; ARM32: strb |
| 242 ; ARM32: uxth | 340 ; ARM32: uxth |
| 243 ; ARM32: movw {{.*}}i32v | 341 ; ARM32: movw {{.*}}i32v |
| 244 ; ARM32: str r | 342 ; ARM32: str r |
| 245 ; ARM32: uxth | 343 ; ARM32: uxth |
| 246 ; ARM32: mov {{.*}}, #0 | 344 ; ARM32: mov {{.*}}, #0 |
| 247 ; ARM32: movw {{.*}}i64v | 345 ; ARM32: movw {{.*}}i64v |
| 248 ; ARM32: str r | 346 ; ARM32: str r |
| 249 | 347 |
| 348 ; MIPS32-LABEL: from_uint16 | |
| 349 ; MIPS32: lui {{.*}} u16v | |
| 350 ; MIPS32: addiu {{.*}} u16v | |
| 351 ; MIPS32: lh | |
| 352 ; MIPS32: move | |
| 353 ; MIPS32: lui {{.*}} i8v | |
| 354 ; MIPS32: addiu {{.*}} i8v | |
| 355 ; MIPS32: sb | |
| 356 ; MIPS32: move | |
| 357 ; MIPS32: andi {{.*}},0xffff | |
| 358 ; MIPS32: lui {{.*}} i32v | |
| 359 ; MIPS32: addiu {{.*}} i32v | |
| 360 ; MIPS32: sw | |
| 361 ; MIPS32: andi {{.*}},0xffff | |
| 362 ; MIPS32: li {{.*}},0 | |
| 363 ; MIPS32: lui {{.*}} i64v | |
| 364 ; MIPS32: addiu {{.*}} i64v | |
| 365 | |
| 250 define internal void @from_uint32() { | 366 define internal void @from_uint32() { |
| 251 entry: | 367 entry: |
| 252 %__0 = bitcast [4 x i8]* @u32v to i32* | 368 %__0 = bitcast [4 x i8]* @u32v to i32* |
| 253 %v0 = load i32, i32* %__0, align 1 | 369 %v0 = load i32, i32* %__0, align 1 |
| 254 %v1 = trunc i32 %v0 to i8 | 370 %v1 = trunc i32 %v0 to i8 |
| 255 %__3 = bitcast [1 x i8]* @i8v to i8* | 371 %__3 = bitcast [1 x i8]* @i8v to i8* |
| 256 store i8 %v1, i8* %__3, align 1 | 372 store i8 %v1, i8* %__3, align 1 |
| 257 %v2 = trunc i32 %v0 to i16 | 373 %v2 = trunc i32 %v0 to i16 |
| 258 %__5 = bitcast [2 x i8]* @i16v to i16* | 374 %__5 = bitcast [2 x i8]* @i16v to i16* |
| 259 store i16 %v2, i16* %__5, align 1 | 375 store i16 %v2, i16* %__5, align 1 |
| (...skipping 13 matching lines...) Expand all Loading... | |
| 273 ; ARM32: movw {{.*}}u32v | 389 ; ARM32: movw {{.*}}u32v |
| 274 ; ARM32: ldr r | 390 ; ARM32: ldr r |
| 275 ; ARM32: movw {{.*}}i8v | 391 ; ARM32: movw {{.*}}i8v |
| 276 ; ARM32: strb | 392 ; ARM32: strb |
| 277 ; ARM32: movw {{.*}}i16v | 393 ; ARM32: movw {{.*}}i16v |
| 278 ; ARM32: strh | 394 ; ARM32: strh |
| 279 ; ARM32: mov {{.*}}, #0 | 395 ; ARM32: mov {{.*}}, #0 |
| 280 ; ARM32: movw {{.*}}i64v | 396 ; ARM32: movw {{.*}}i64v |
| 281 ; ARM32: str r | 397 ; ARM32: str r |
| 282 | 398 |
| 399 ; MIPS32-LABEL: from_uint32 | |
| 400 ; MIPS32: lui {{.*}} u32v | |
| 401 ; MIPS32: addiu {{.*}} u32v | |
| 402 ; MIPS32: lw | |
| 403 ; MIPS32: move | |
| 404 ; MIPS32: lui {{.*}} i8v | |
| 405 ; MIPS32: addiu {{.*}} i8v | |
| 406 ; MIPS32: sb | |
| 407 ; MIPS32: move | |
| 408 ; MIPS32: lui {{.*}} i16v | |
| 409 ; MIPS32: addiu {{.*}} i16v | |
| 410 ; MIPS32: sh | |
| 411 ; MIPS32: li {{.*}},0 | |
| 412 ; MIPS32: lui {{.*}} i64v | |
| 413 ; MIPS32: addiu {{.*}} i64v | |
| 414 | |
| 283 define internal void @from_uint64() { | 415 define internal void @from_uint64() { |
| 284 entry: | 416 entry: |
| 285 %__0 = bitcast [8 x i8]* @u64v to i64* | 417 %__0 = bitcast [8 x i8]* @u64v to i64* |
| 286 %v0 = load i64, i64* %__0, align 1 | 418 %v0 = load i64, i64* %__0, align 1 |
| 287 %v1 = trunc i64 %v0 to i8 | 419 %v1 = trunc i64 %v0 to i8 |
| 288 %__3 = bitcast [1 x i8]* @i8v to i8* | 420 %__3 = bitcast [1 x i8]* @i8v to i8* |
| 289 store i8 %v1, i8* %__3, align 1 | 421 store i8 %v1, i8* %__3, align 1 |
| 290 %v2 = trunc i64 %v0 to i16 | 422 %v2 = trunc i64 %v0 to i16 |
| 291 %__5 = bitcast [2 x i8]* @i16v to i16* | 423 %__5 = bitcast [2 x i8]* @i16v to i16* |
| 292 store i16 %v2, i16* %__5, align 1 | 424 store i16 %v2, i16* %__5, align 1 |
| (...skipping 10 matching lines...) Expand all Loading... | |
| 303 | 435 |
| 304 ; ARM32-LABEL: from_uint64 | 436 ; ARM32-LABEL: from_uint64 |
| 305 ; ARM32: movw {{.*}}u64v | 437 ; ARM32: movw {{.*}}u64v |
| 306 ; ARM32: ldr r | 438 ; ARM32: ldr r |
| 307 ; ARM32: movw {{.*}}i8v | 439 ; ARM32: movw {{.*}}i8v |
| 308 ; ARM32: strb | 440 ; ARM32: strb |
| 309 ; ARM32: movw {{.*}}i16v | 441 ; ARM32: movw {{.*}}i16v |
| 310 ; ARM32: strh | 442 ; ARM32: strh |
| 311 ; ARM32: movw {{.*}}i32v | 443 ; ARM32: movw {{.*}}i32v |
| 312 ; ARM32: str r | 444 ; ARM32: str r |
| 445 | |
| 446 ; MIPS32-LABEL: from_uint64 | |
| 447 ; MIPS32: lui {{.*}} u64v | |
| 448 ; MIPS32: addiu {{.*}} u64v | |
| 449 ; MIPS32: lw | |
| 450 ; MIPS32: move | |
| 451 ; MIPS32: lui {{.*}} i8v | |
| 452 ; MIPS32: addiu {{.*}} i8v | |
| 453 ; MIPS32: sb | |
| 454 ; MIPS32: move | |
| 455 ; MIPS32: lui {{.*}} i16v | |
| 456 ; MIPS32: addiu {{.*}} i16v | |
| 457 ; MIPS32: sh | |
| 458 ; MIPS32: lui {{.*}} i32v | |
| 459 ; MIPS32: addiu {{.*}} i32v | |
| 460 | |
|
Jim Stichnoth
2016/10/28 17:42:07
Remove trailing "whitespace" (last blank line) to
Stefan Maksimovic
2016/10/31 10:33:08
Done.
| |
| OLD | NEW |