blob: fd56012310babefa6cff4cd0537b8ffab6203e2a [file] [log] [blame]
Chris Lattner50e86822003-06-28 23:23:34 +00001; Ensure constant propagation of remainder instructions is working correctly.
Chris Lattner8e122e12002-05-03 20:14:21 +00002
Reid Spencer69ccadd2006-12-02 04:23:10 +00003; RUN: llvm-upgrade < %s | llvm-as | opt -constprop -die | llvm-dis | not grep rem
Chris Lattner8e122e12002-05-03 20:14:21 +00004
Chris Lattner50e86822003-06-28 23:23:34 +00005int %test1() {
Chris Lattner8e122e12002-05-03 20:14:21 +00006 %R = rem int 4, 3
7 ret int %R
8}
9
Chris Lattner50e86822003-06-28 23:23:34 +000010int %test2() {
Chris Lattner8e122e12002-05-03 20:14:21 +000011 %R = rem int 123, -23
12 ret int %R
13}
14
Chris Lattner50e86822003-06-28 23:23:34 +000015float %test3() {
Dale Johannesenc2ec2ba2007-09-05 17:50:36 +000016 %R = rem float 0x4028E66660000000, 0x405ECDA1C0000000
Chris Lattner6a7cd222002-05-03 20:16:29 +000017 ret float %R
18}
19
Chris Lattner50e86822003-06-28 23:23:34 +000020double %test4() {
Dale Johannesenc2ec2ba2007-09-05 17:50:36 +000021 %R = rem double 0x4073833BEE07AFF8, 0x4028AAABB2A0D19C
Chris Lattner6a7cd222002-05-03 20:16:29 +000022 ret double %R
23}