2
0

newcasts.ll 1.1 KB

123456789101112131415161718192021222324252627282930313233343536
  1. ; RUN: llvm-as < %s | llvm-dis > %t1.ll
  2. ; RUN: llvm-as %t1.ll -o - | llvm-dis > %t2.ll
  3. ; RUN: diff %t1.ll %t2.ll
  4. define void @"NewCasts" (i16 %x) {
  5. %a = zext i16 %x to i32
  6. %b = sext i16 %x to i32
  7. %c = trunc i16 %x to i8
  8. %d = uitofp i16 %x to float
  9. %e = sitofp i16 %x to double
  10. %f = fptoui float %d to i16
  11. %g = fptosi double %e to i16
  12. %i = fpext float %d to double
  13. %j = fptrunc double %i to float
  14. %k = bitcast i32 %a to float
  15. %l = inttoptr i16 %x to i32*
  16. %m = ptrtoint i32* %l to i64
  17. %n = insertelement <4 x i32> undef, i32 %a, i32 0
  18. %o = sitofp <4 x i32> %n to <4 x float>
  19. %p = uitofp <4 x i32> %n to <4 x float>
  20. %q = fptosi <4 x float> %p to <4 x i32>
  21. %r = fptoui <4 x float> %p to <4 x i32>
  22. %s = inttoptr <4 x i32> %n to <4 x i32*>
  23. %t = addrspacecast <4 x i32*> %s to <4 x i32 addrspace(1)*>
  24. %z = addrspacecast <4 x i32*> %s to <4 x float addrspace(2)*>
  25. ret void
  26. }
  27. define i16 @"ZExtConst" () {
  28. ret i16 trunc ( i32 zext ( i16 42 to i32) to i16 )
  29. }
  30. define i16 @"SExtConst" () {
  31. ret i16 trunc (i32 sext (i16 42 to i32) to i16 )
  32. }