diff options
author | Sanjay Patel <spatel@rotateright.com> | 2016-04-21 20:58:58 +0000 |
---|---|---|
committer | Sanjay Patel <spatel@rotateright.com> | 2016-04-21 20:58:58 +0000 |
commit | 95590f4b7bba50a05807de14aae5eb9678937dc5 (patch) | |
tree | c4c5d0338cb976089dfb80a3ff05ec7421d78150 /llvm/test/CodeGen/PowerPC/fabs.ll | |
parent | ba2d1c025028768dfb0752986846244f5edfd737 (diff) | |
download | bcm5719-llvm-95590f4b7bba50a05807de14aae5eb9678937dc5.tar.gz bcm5719-llvm-95590f4b7bba50a05807de14aae5eb9678937dc5.zip |
use FileCheck; add test for disguised fabs
llvm-svn: 267051
Diffstat (limited to 'llvm/test/CodeGen/PowerPC/fabs.ll')
-rw-r--r-- | llvm/test/CodeGen/PowerPC/fabs.ll | 31 |
1 files changed, 27 insertions, 4 deletions
diff --git a/llvm/test/CodeGen/PowerPC/fabs.ll b/llvm/test/CodeGen/PowerPC/fabs.ll index 36aa23d0355..5a17c838f1b 100644 --- a/llvm/test/CodeGen/PowerPC/fabs.ll +++ b/llvm/test/CodeGen/PowerPC/fabs.ll @@ -1,7 +1,30 @@ -; RUN: llc < %s -mattr=-vsx -march=ppc32 -mtriple=powerpc-apple-darwin | grep "fabs f1, f1" +; RUN: llc < %s -mattr=-vsx -march=ppc32 -mtriple=powerpc-apple-darwin | FileCheck %s define double @fabs(double %f) { -entry: - %tmp2 = tail call double @fabs( double %f ) readnone ; <double> [#uses=1] - ret double %tmp2 +; CHECK-LABEL: fabs: +; CHECK: ; BB#0: +; CHECK-NEXT: fabs f1, f1 +; CHECK-NEXT: blr +; + %t = tail call double @fabs( double %f ) readnone + ret double %t } + +define float @bitcast_fabs(float %x) { +; CHECK-LABEL: bitcast_fabs: +; CHECK: ; BB#0: +; CHECK-NEXT: stfs f1, -8(r1) +; CHECK-NEXT: nop +; CHECK-NEXT: nop +; CHECK-NEXT: lwz r2, -8(r1) +; CHECK-NEXT: clrlwi r2, r2, 1 +; CHECK-NEXT: stw r2, -4(r1) +; CHECK-NEXT: lfs f1, -4(r1) +; CHECK-NEXT: blr +; + %bc1 = bitcast float %x to i32 + %and = and i32 %bc1, 2147483647 + %bc2 = bitcast i32 %and to float + ret float %bc2 +} + |