NFC: adding baseline fneg case for fmf

llvm-svn: 334035
This commit is contained in:
Michael Berg 2018-06-05 18:12:25 +00:00
parent 236c3f9c4a
commit 8f6d6c817d
1 changed files with 28 additions and 0 deletions

View File

@ -457,3 +457,31 @@ define double @log2_approx(double %x) nounwind {
ret double %r
}
; -(X - Y) --> (Y - X)
; FMFDEBUG-LABEL: Optimized lowered selection DAG: %bb.0 'fneg_fsub_nozeros_1:'
; FMFDEBUG: fsub {{t[0-9]+}}, {{t[0-9]+}}
; FMFDEBUG: Type-legalized selection DAG: %bb.0 'fneg_fsub_nozeros_1:'
; GLOBALDEBUG-LABEL: Optimized lowered selection DAG: %bb.0 'fneg_fsub_nozeros_1:'
; GLOBALDEBUG: fsub {{t[0-9]+}}, {{t[0-9]+}}
; GLOBALDEBUG: Type-legalized selection DAG: %bb.0 'fneg_fsub_nozeros_1:'
define float @fneg_fsub_nozeros_1(float %x, float %y, float %z) {
; FMF-LABEL: fneg_fsub_nozeros_1:
; FMF: # %bb.0:
; FMF-NEXT: xssubsp 0, 1, 2
; FMF-NEXT: xxlxor 13, 13, 13
; FMF-NEXT: xssubsp 1, 13, 0
; FMF-NEXT: blr
;
; GLOBAL-LABEL: fneg_fsub_nozeros_1:
; GLOBAL: # %bb.0:
; GLOBAL-NEXT: xssubsp 0, 1, 2
; GLOBAL-NEXT: xxlxor 13, 13, 13
; GLOBAL-NEXT: xssubsp 1, 13, 0
; GLOBAL-NEXT: blr
%neg = fsub float %x, %y
%add = fsub float 0.0, %neg
ret float %add
}