blob: 809077bd452ad0e6b92994db83cbb7dfe6bdef2c [file] [log] [blame]
Chris Lattner446a4ea2005-09-02 18:32:22 +00001; fsqrt should be generated when the fsqrt feature is enabled, but not
2; otherwise.
3
Reid Spencerc58ef012007-04-15 21:17:45 +00004; RUN: llvm-upgrade < %s | llvm-as | \
5; RUN: llc -march=ppc32 -mtriple=powerpc-apple-darwin8 -mattr=+fsqrt | \
6; RUN: grep {fsqrt f1, f1}
7; RUN: llvm-upgrade < %s | llvm-as | \
8; RUN: llc -march=ppc32 -mtriple=powerpc-apple-darwin8 -mcpu=g5 | \
9; RUN: grep {fsqrt f1, f1}
10; RUN: llvm-upgrade < %s | llvm-as | \
11; RUN: llc -march=ppc32 -mtriple=powerpc-apple-darwin8 -mattr=-fsqrt | \
12; RUN: not grep {fsqrt f1, f1}
13; RUN: llvm-upgrade < %s | llvm-as | \
14; RUN: llc -march=ppc32 -mtriple=powerpc-apple-darwin8 -mcpu=g4 | \
15; RUN: not grep {fsqrt f1, f1}
Chris Lattner446a4ea2005-09-02 18:32:22 +000016
Reid Spenceree45c552006-12-02 20:38:37 +000017declare double %llvm.sqrt.f64(double)
Chris Lattner446a4ea2005-09-02 18:32:22 +000018double %X(double %Y) {
Reid Spenceree45c552006-12-02 20:38:37 +000019 %Z = call double %llvm.sqrt.f64(double %Y)
Chris Lattner446a4ea2005-09-02 18:32:22 +000020 ret double %Z
21}