aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--test/CodeGen/PowerPC/fma.ll22
1 files changed, 16 insertions, 6 deletions
diff --git a/test/CodeGen/PowerPC/fma.ll b/test/CodeGen/PowerPC/fma.ll
index 26b8aac204..7c39ecf82b 100644
--- a/test/CodeGen/PowerPC/fma.ll
+++ b/test/CodeGen/PowerPC/fma.ll
@@ -1,6 +1,11 @@
-; RUN: llvm-as < %s | llc -march=ppc32 -enable-ppc-pattern-isel | grep 'fn\?madd\|fn\?msub' | wc -l | grep 5
+; RUN: llvm-as < %s | llc -march=ppc32 -enable-ppc-pattern-isel | grep 'fn\?madd\|fn\?msub' | wc -l | grep 7
-double %test_FMADD(double %A, double %B, double %C) {
+double %test_FMADD1(double %A, double %B, double %C) {
+ %D = mul double %A, %B
+ %E = add double %D, %C
+ ret double %E
+}
+double %test_FMADD2(double %A, double %B, double %C) {
%D = mul double %A, %B
%E = add double %D, %C
ret double %E
@@ -12,19 +17,24 @@ double %test_FMSUB(double %A, double %B, double %C) {
}
double %test_FNMADD1(double %A, double %B, double %C) {
%D = mul double %A, %B
- %E = sub double %D, %C
+ %E = add double %D, %C
%F = sub double -0.0, %E
ret double %F
}
double %test_FNMADD2(double %A, double %B, double %C) {
%D = mul double %A, %B
- %E = add double %D, %C
+ %E = add double %C, %D
%F = sub double -0.0, %E
ret double %F
}
-double %test_FNMADD3(double %A, double %B, double %C) {
+double %test_FNMSUB1(double %A, double %B, double %C) {
%D = mul double %A, %B
- %E = add double %C, %D
+ %E = sub double %C, %D
+ ret double %E
+}
+double %test_FNMSUB2(double %A, double %B, double %C) {
+ %D = mul double %A, %B
+ %E = sub double %D, %C
%F = sub double -0.0, %E
ret double %F
}