Home | History | Annotate | Download | only in X86
      1 ; RUN: llc < %s -fast-isel -fast-isel-abort=2 -verify-machineinstrs -mtriple=x86_64-apple-darwin10
      2 
      3 ; Just make sure these don't abort when lowering the arguments.
      4 define i32 @t1(i32 %a, i32 %b, i32 %c) {
      5 entry:
      6   %add = add nsw i32 %b, %a
      7   %add1 = add nsw i32 %add, %c
      8   ret i32 %add1
      9 }
     10 
     11 define i64 @t2(i64 %a, i64 %b, i64 %c) {
     12 entry:
     13   %add = add nsw i64 %b, %a
     14   %add1 = add nsw i64 %add, %c
     15   ret i64 %add1
     16 }
     17 
     18 define i64 @t3(i32 %a, i64 %b, i32 %c) {
     19 entry:
     20   %conv = sext i32 %a to i64
     21   %add = add nsw i64 %conv, %b
     22   %conv1 = sext i32 %c to i64
     23   %add2 = add nsw i64 %add, %conv1
     24   ret i64 %add2
     25 }
     26 
     27 define float @t4(float %a, float %b, float %c, float %d, float %e, float %f, float %g, float %h) {
     28 entry:
     29   %add1 = fadd float %a, %b
     30   %add2 = fadd float %c, %d
     31   %add3 = fadd float %e, %f
     32   %add4 = fadd float %g, %h
     33   %add5 = fadd float %add1, %add2
     34   %add6 = fadd float %add3, %add4
     35   %add7 = fadd float %add5, %add6
     36   ret float %add7
     37 }
     38 
     39 define double @t5(double %a, double %b, double %c, double %d, double %e, double %f, double %g, double %h) {
     40 entry:
     41   %add1 = fadd double %a, %b
     42   %add2 = fadd double %c, %d
     43   %add3 = fadd double %e, %f
     44   %add4 = fadd double %g, %h
     45   %add5 = fadd double %add1, %add2
     46   %add6 = fadd double %add3, %add4
     47   %add7 = fadd double %add5, %add6
     48   ret double %add7
     49 }
     50