summaryrefslogtreecommitdiff
path: root/test/Feature/casttest.ll
blob: e7d8756791b6bb7adafd4924a8158cbd4fbc920b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
; RUN: llvm-as %s -o - | llvm-dis > %t1.ll
; RUN: llvm-as %t1.ll -o - | llvm-dis > %t2.ll
; RUN: diff %t1.ll %t2.ll

void "NewCasts" (short %x) {
  %a = zext short %x to int
  %b = sext short %x to uint
  %c = trunc short %x to ubyte
  %d = uitofp short %x to float
  %e = sitofp short %x to double
  %f = fptoui float %d to short
  %g = fptosi double %e to short
  %i = fpext float %d to double
  %j = fptrunc double %i to float
  %k = bitcast int %a to float
  %l = inttoptr short %x to int*
  %m = ptrtoint int* %l to long
  ret void
}

short "FunFunc"(long %x, sbyte %z)
begin
bb0:            ;;<label>
        %cast110 = cast sbyte %z to short       ;;<short>:(signed operands)
        %cast10 = cast long %x to short         ;;<short>
        %reg109 = add short %cast110, %cast10   ;;<short>
        ret short %reg109                       ;;<void>
end