Skip to content

Commit 866c990

Browse files
committed
add a simple test
1 parent 10a8a42 commit 866c990

File tree

1 file changed

+22
-0
lines changed

1 file changed

+22
-0
lines changed
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 5
2+
; RUN: llc -mtriple=x86_64-- --start-before=x86-isel -mattr=+avx,+fma %s -o - | FileCheck %s
3+
4+
define double @fma_folding(double %x) {
5+
; CHECK-LABEL: fma_folding:
6+
; CHECK: # %bb.0:
7+
; CHECK-NEXT: vmovsd {{.*#+}} xmm0 = [1.0E+0,0.0E+0]
8+
; CHECK-NEXT: retq
9+
%prod = fmul contract ninf nnan double %x, 0.0
10+
%fused = fadd contract ninf nnan double %prod, 1.0
11+
ret double %fused
12+
}
13+
14+
define double @fma_no_folding(double %x) {
15+
; CHECK-LABEL: fma_no_folding:
16+
; CHECK: # %bb.0:
17+
; CHECK-NEXT: vxorpd %xmm1, %xmm1, %xmm1
18+
; CHECK-NEXT: vfmadd213sd {{.*#+}} xmm0 = (xmm1 * xmm0) + mem
19+
; CHECK-NEXT: retq
20+
%fused = call contract nnan ninf double @llvm.fma.f64(double %x, double 0.0, double -0.0)
21+
ret double %fused
22+
}

0 commit comments

Comments
 (0)