blob: 7c39ecf82bf461e060b08382939bb06c819e64a4 [file] [log] [blame]
Nate Begemane9c0f432005-04-09 08:29:59 +00001; RUN: llvm-as < %s | llc -march=ppc32 -enable-ppc-pattern-isel | grep 'fn\?madd\|fn\?msub' | wc -l | grep 7
Chris Lattnere23836c2005-04-09 04:01:32 +00002
Nate Begemane9c0f432005-04-09 08:29:59 +00003double %test_FMADD1(double %A, double %B, double %C) {
4 %D = mul double %A, %B
5 %E = add double %D, %C
6 ret double %E
7}
8double %test_FMADD2(double %A, double %B, double %C) {
Chris Lattnere23836c2005-04-09 04:01:32 +00009 %D = mul double %A, %B
10 %E = add double %D, %C
11 ret double %E
12}
13double %test_FMSUB(double %A, double %B, double %C) {
14 %D = mul double %A, %B
15 %E = sub double %D, %C
16 ret double %E
17}
18double %test_FNMADD1(double %A, double %B, double %C) {
19 %D = mul double %A, %B
Nate Begemane9c0f432005-04-09 08:29:59 +000020 %E = add double %D, %C
Chris Lattnere23836c2005-04-09 04:01:32 +000021 %F = sub double -0.0, %E
22 ret double %F
23}
24double %test_FNMADD2(double %A, double %B, double %C) {
25 %D = mul double %A, %B
Nate Begemane9c0f432005-04-09 08:29:59 +000026 %E = add double %C, %D
Chris Lattnere23836c2005-04-09 04:01:32 +000027 %F = sub double -0.0, %E
28 ret double %F
29}
Nate Begemane9c0f432005-04-09 08:29:59 +000030double %test_FNMSUB1(double %A, double %B, double %C) {
Chris Lattnere23836c2005-04-09 04:01:32 +000031 %D = mul double %A, %B
Nate Begemane9c0f432005-04-09 08:29:59 +000032 %E = sub double %C, %D
33 ret double %E
34}
35double %test_FNMSUB2(double %A, double %B, double %C) {
36 %D = mul double %A, %B
37 %E = sub double %D, %C
Chris Lattnere23836c2005-04-09 04:01:32 +000038 %F = sub double -0.0, %E
39 ret double %F
40}