60 lines · plain
1; RUN: llc %s -O0 -mtriple=sparc -mcpu=leon3 -mattr=+fixallfdivsqrt -o - | FileCheck %s2; RUN: llc %s -O0 -mtriple=sparc -mcpu=ut699 -o - | FileCheck %s3 4; CHECK-LABEL: test_15; CHECK: nop6; CHECK: nop7; CHECK: fdivd8; CHECK-NEXT: nop9; CHECK-NEXT: nop10; CHECK-NEXT: nop11; CHECK-NEXT: nop12; CHECK-NEXT: nop13; CHECK-NEXT: nop14; CHECK-NEXT: nop15; CHECK-NEXT: nop16; CHECK-NEXT: nop17; CHECK-NEXT: nop18; CHECK-NEXT: nop19; CHECK-NEXT: nop20; CHECK-NEXT: nop21; CHECK-NEXT: nop22define double @test_1(ptr byval(double) %a, ptr byval(double) %b) {23entry:24 %0 = load double, ptr %a, align 825 %1 = load double, ptr %b, align 826 %res = fdiv double %0, %127 ret double %res28}29 30declare double @llvm.sqrt.f64(double) nounwind readonly31 32; CHECK-LABEL: test_233; CHECK: nop34; CHECK: nop35; CHECK: nop36; CHECK: nop37; CHECK: nop38; CHECK: fsqrtd39; CHECK-NEXT: nop40; CHECK-NEXT: nop41; CHECK-NEXT: nop42; CHECK-NEXT: nop43; CHECK-NEXT: nop44; CHECK-NEXT: nop45; CHECK-NEXT: nop46; CHECK-NEXT: nop47; CHECK-NEXT: nop48; CHECK-NEXT: nop49; CHECK-NEXT: nop50; CHECK-NEXT: nop51; CHECK-NEXT: nop52; CHECK-NEXT: nop53define double @test_2(ptr byval(double) %a) {54entry:55 %0 = load double, ptr %a, align 856 %1 = call double @llvm.sqrt.f64(double %0) nounwind57 ret double %158}59 60