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 |
Nate Begeman | b348d18 | 2007-11-17 03:58:34 +0000 | [diff] [blame] | 18 | %n = insertelement <4 x i32> undef, i32 %a, i32 0 |
| 19 | %o = sitofp <4 x i32> %n to <4 x float> |
| 20 | %p = uitofp <4 x i32> %n to <4 x float> |
| 21 | %q = fptosi <4 x float> %p to <4 x i32> |
| 22 | %r = fptoui <4 x float> %p to <4 x i32> |
Reid Spencer | 69ccadd | 2006-12-02 04:23:10 +0000 | [diff] [blame] | 23 | ret void |
| 24 | } |
| 25 | |
| 26 | |
Reid Spencer | e3ff5ad | 2007-01-26 08:25:06 +0000 | [diff] [blame] | 27 | define i16 @"ZExtConst" () { |
| 28 | ret i16 trunc ( i32 zext ( i16 42 to i32) to i16 ) |
Reid Spencer | 0be3ed8 | 2006-12-18 01:11:46 +0000 | [diff] [blame] | 29 | } |
| 30 | |
Reid Spencer | e3ff5ad | 2007-01-26 08:25:06 +0000 | [diff] [blame] | 31 | define i16 @"SExtConst" () { |
| 32 | ret i16 trunc (i32 sext (i16 42 to i32) to i16 ) |
Reid Spencer | 0be3ed8 | 2006-12-18 01:11:46 +0000 | [diff] [blame] | 33 | } |