Dan Gohman | 18fa17c | 2010-09-17 01:38:06 +0000 | [diff] [blame] | 1 | ; RUN: opt -instcombine -S < %s | FileCheck %s |
| 2 | |
| 3 | ; This shouldn't fold, because sin(inf) is invalid. |
| 4 | ; CHECK: @foo |
| 5 | ; CHECK: %t = call double @sin(double 0x7FF0000000000000) |
| 6 | define double @foo() { |
| 7 | %t = call double @sin(double 0x7FF0000000000000) |
| 8 | ret double %t |
| 9 | } |
| 10 | |
| 11 | ; This should fold. |
| 12 | ; CHECK: @bar |
Dan Gohman | 6953126 | 2010-09-17 20:15:53 +0000 | [diff] [blame^] | 13 | ; CHECK: ret double 0.0 |
Dan Gohman | 18fa17c | 2010-09-17 01:38:06 +0000 | [diff] [blame] | 14 | define double @bar() { |
Dan Gohman | 6953126 | 2010-09-17 20:15:53 +0000 | [diff] [blame^] | 15 | %t = call double @sin(double 0.0) |
Dan Gohman | 18fa17c | 2010-09-17 01:38:06 +0000 | [diff] [blame] | 16 | ret double %t |
| 17 | } |
| 18 | |
| 19 | declare double @sin(double) |