Home | History | Annotate | Download | only in X86
      1 ; RUN: llc -mtriple=i686-unknown-linux-gnu -o - %s | FileCheck %s
      2 
      3 declare void @g_bool(i1 zeroext)
      4 define void @f_bool(i1 zeroext %x) {
      5 entry:
      6   tail call void @g_bool(i1 zeroext %x)
      7   ret void
      8 
      9 ; Forwarding a bool in a tail call works.
     10 ; CHECK-LABEL: f_bool:
     11 ; CHECK-NOT:   movz
     12 ; CHECK:       jmp g_bool
     13 }
     14 
     15 
     16 declare void @g_float(float)
     17 define void @f_i32(i32 %x) {
     18 entry:
     19   %0 = bitcast i32 %x to float
     20   tail call void @g_float(float %0)
     21   ret void
     22 
     23 ; Forwarding a bitcasted value works too.
     24 ; CHECK-LABEL: f_i32
     25 ; CHECK-NOT:   mov
     26 ; CHECK:       jmp g_float
     27 }
     28