Chris Lattner | e23836c | 2005-04-09 04:01:32 +0000 | [diff] [blame^] | 1 | ; RUN: llvm-as < %s | llc -march=ppc32 -enable-ppc-pattern-isel | grep 'fn\?madd\|fn\?msub' | wc -l | grep 5 |
| 2 | |
| 3 | double %test_FMADD(double %A, double %B, double %C) { |
| 4 | %D = mul double %A, %B |
| 5 | %E = add double %D, %C |
| 6 | ret double %E |
| 7 | } |
| 8 | double %test_FMSUB(double %A, double %B, double %C) { |
| 9 | %D = mul double %A, %B |
| 10 | %E = sub double %D, %C |
| 11 | ret double %E |
| 12 | } |
| 13 | double %test_FNMADD1(double %A, double %B, double %C) { |
| 14 | %D = mul double %A, %B |
| 15 | %E = sub double %D, %C |
| 16 | %F = sub double -0.0, %E |
| 17 | ret double %F |
| 18 | } |
| 19 | double %test_FNMADD2(double %A, double %B, double %C) { |
| 20 | %D = mul double %A, %B |
| 21 | %E = add double %D, %C |
| 22 | %F = sub double -0.0, %E |
| 23 | ret double %F |
| 24 | } |
| 25 | double %test_FNMADD3(double %A, double %B, double %C) { |
| 26 | %D = mul double %A, %B |
| 27 | %E = add double %C, %D |
| 28 | %F = sub double -0.0, %E |
| 29 | ret double %F |
| 30 | } |