Dan Gohman | f17a25c | 2007-07-18 16:29:46 +0000 | [diff] [blame] | 1 | ; Ensure constant propagation of remainder instructions is working correctly. |
| 2 | |
| 3 | ; RUN: llvm-upgrade < %s | llvm-as | opt -constprop -die | llvm-dis | not grep rem |
| 4 | |
| 5 | int %test1() { |
| 6 | %R = rem int 4, 3 |
| 7 | ret int %R |
| 8 | } |
| 9 | |
| 10 | int %test2() { |
| 11 | %R = rem int 123, -23 |
| 12 | ret int %R |
| 13 | } |
| 14 | |
| 15 | float %test3() { |
Dale Johannesen | d727a2b | 2007-09-05 17:50:36 +0000 | [diff] [blame^] | 16 | %R = rem float 0x4028E66660000000, 0x405ECDA1C0000000 |
Dan Gohman | f17a25c | 2007-07-18 16:29:46 +0000 | [diff] [blame] | 17 | ret float %R |
| 18 | } |
| 19 | |
| 20 | double %test4() { |
Dale Johannesen | d727a2b | 2007-09-05 17:50:36 +0000 | [diff] [blame^] | 21 | %R = rem double 0x4073833BEE07AFF8, 0x4028AAABB2A0D19C |
Dan Gohman | f17a25c | 2007-07-18 16:29:46 +0000 | [diff] [blame] | 22 | ret double %R |
| 23 | } |