2005-09-03 02:32:22 +08:00
|
|
|
; fsqrt should be generated when the fsqrt feature is enabled, but not
|
|
|
|
; otherwise.
|
|
|
|
|
2009-09-12 02:36:27 +08:00
|
|
|
; RUN: llc < %s -march=ppc32 -mtriple=powerpc-apple-darwin8 -mattr=+fsqrt | \
|
2007-04-16 05:17:45 +08:00
|
|
|
; RUN: grep {fsqrt f1, f1}
|
2009-09-12 02:36:27 +08:00
|
|
|
; RUN: llc < %s -march=ppc32 -mtriple=powerpc-apple-darwin8 -mcpu=g5 | \
|
|
|
|
; RUN: grep {fsqrt f1, f1}
|
|
|
|
; RUN: llc < %s -march=ppc32 -mtriple=powerpc-apple-darwin8 -mattr=-fsqrt | \
|
2007-04-16 05:17:45 +08:00
|
|
|
; RUN: not grep {fsqrt f1, f1}
|
2009-09-12 02:36:27 +08:00
|
|
|
; RUN: llc < %s -march=ppc32 -mtriple=powerpc-apple-darwin8 -mcpu=g4 | \
|
2007-04-16 05:17:45 +08:00
|
|
|
; RUN: not grep {fsqrt f1, f1}
|
2005-09-03 02:32:22 +08:00
|
|
|
|
2008-02-19 16:07:33 +08:00
|
|
|
declare double @llvm.sqrt.f64(double)
|
|
|
|
|
|
|
|
define double @X(double %Y) {
|
|
|
|
%Z = call double @llvm.sqrt.f64( double %Y ) ; <double> [#uses=1]
|
|
|
|
ret double %Z
|
2005-09-03 02:32:22 +08:00
|
|
|
}
|
2008-02-19 16:07:33 +08:00
|
|
|
|