Reid Spencer | e3ff5ad | 2007-01-26 08:25:06 +0000 | [diff] [blame] | 1 | ; RUN: llvm-as < %s | llvm-dis > %t1.ll |
Reid Spencer | 69ccadd | 2006-12-02 04:23:10 +0000 | [diff] [blame] | 2 | ; RUN: llvm-as %t1.ll -o - | llvm-dis > %t2.ll |
| 3 | ; RUN: diff %t1.ll %t2.ll |
| 4 | |
Reid Spencer | e3ff5ad | 2007-01-26 08:25:06 +0000 | [diff] [blame] | 5 | define void @"NewCasts" (i16 %x) { |
| 6 | %a = zext i16 %x to i32 |
| 7 | %b = sext i16 %x to i32 |
| 8 | %c = trunc i16 %x to i8 |
| 9 | %d = uitofp i16 %x to float |
| 10 | %e = sitofp i16 %x to double |
| 11 | %f = fptoui float %d to i16 |
| 12 | %g = fptosi double %e to i16 |
Reid Spencer | 69ccadd | 2006-12-02 04:23:10 +0000 | [diff] [blame] | 13 | %i = fpext float %d to double |
| 14 | %j = fptrunc double %i to float |
Reid Spencer | e3ff5ad | 2007-01-26 08:25:06 +0000 | [diff] [blame] | 15 | %k = bitcast i32 %a to float |
| 16 | %l = inttoptr i16 %x to i32* |
| 17 | %m = ptrtoint i32* %l to i64 |
Reid Spencer | 69ccadd | 2006-12-02 04:23:10 +0000 | [diff] [blame] | 18 | ret void |
| 19 | } |
| 20 | |
| 21 | |
Reid Spencer | e3ff5ad | 2007-01-26 08:25:06 +0000 | [diff] [blame] | 22 | define i16 @"ZExtConst" () { |
| 23 | ret i16 trunc ( i32 zext ( i16 42 to i32) to i16 ) |
Reid Spencer | 0be3ed8 | 2006-12-18 01:11:46 +0000 | [diff] [blame] | 24 | } |
| 25 | |
Reid Spencer | e3ff5ad | 2007-01-26 08:25:06 +0000 | [diff] [blame] | 26 | define i16 @"SExtConst" () { |
| 27 | ret i16 trunc (i32 sext (i16 42 to i32) to i16 ) |
Reid Spencer | 0be3ed8 | 2006-12-18 01:11:46 +0000 | [diff] [blame] | 28 | } |