1; RUN: llc -verify-machineinstrs -ppc-asm-full-reg-names < %s -mattr=-vsx -mtriple=powerpc-unknown-linux-gnu | FileCheck %s 2 3define double @fabs(double %f) { 4; CHECK-LABEL: fabs: 5; CHECK: # %bb.0: 6; CHECK-NEXT: fabs f1, f1 7; CHECK-NEXT: blr 8; 9 %t = tail call double @fabs( double %f ) readnone 10 ret double %t 11} 12 13define float @bitcast_fabs(float %x) { 14; CHECK-LABEL: bitcast_fabs: 15; CHECK: # %bb.0: 16; CHECK: stfs f1, 8(r1) 17; CHECK: lwz r3, 8(r1) 18; CHECK-NEXT: clrlwi r3, r3, 1 19; CHECK-NEXT: stw r3, 12(r1) 20; CHECK-NEXT: lfs f1, 12(r1) 21; CHECK-NEXT: addi r1, r1, 16 22; CHECK-NEXT: blr 23; 24 %bc1 = bitcast float %x to i32 25 %and = and i32 %bc1, 2147483647 26 %bc2 = bitcast i32 %and to float 27 ret float %bc2 28} 29 30