69 lines · plain
1; RUN: llc -mtriple=armv7-apple-ios < %s | FileCheck %s2 3define swiftcc float @t1(float %a, float %b) {4entry:5; CHECK: t16; CHECK-NOT: vmov7; CHECK: vadd.f328 %add = fadd float %a, %b9 ret float %add10}11 12define swiftcc double @t2(double %a, double %b) {13entry:14; CHECK: t215; CHECK-NOT: vmov16; CHECK: vadd.f6417 %add = fadd double %a, %b18 ret double %add19}20 21define swiftcc double @t9(double %d0, double %d1, double %d2, double %d3,22 double %d4, double %d5, double %d6, double %d7, float %a, float %b) {23entry:24; CHECK-LABEL: t9:25; CHECK-NOT: vmov26; CHECK: vldr27 %add = fadd float %a, %b28 %conv = fpext float %add to double29 ret double %conv30}31 32define swiftcc double @t10(double %d0, double %d1, double %d2, double %d3,33 double %d4, double %d5, double %a, float %b, double %c) {34entry:35; CHECK-LABEL: t10:36; CHECK-NOT: vmov37; CHECK: vldr38 %add = fadd double %a, %c39 ret double %add40}41 42define swiftcc float @t11(double %d0, double %d1, double %d2, double %d3,43 double %d4, double %d5, double %d6, float %a, double %b, float %c) {44entry:45; CHECK-LABEL: t11:46; CHECK: vldr47 %add = fadd float %a, %c48 ret float %add49}50 51define swiftcc double @t12(double %a, double %b) {52entry:53; CHECK-LABEL: t12:54; CHECK: vstr55 %add = fadd double %a, %b56 %sub = fsub double %a, %b57 %call = tail call swiftcc double @x(double 0.000000e+00, double 0.000000e+00,58 double 0.000000e+00, double 0.000000e+00, double 0.000000e+00,59 double 0.000000e+00, double %add, float 0.000000e+00,60 double %sub)61 ret double %call62}63 64declare swiftcc double @x(double, double, double, double, double, double,65 double, float, double)66 67attributes #0 = { readnone }68attributes #1 = { readonly }69