1 ; RUN: llc < %s -march=x86 | FileCheck %s 2 3 ; CHECK-LABEL: test1: 4 ; CHECK-NOT: div 5 define i32 @test1(i32 %X) { 6 %tmp1 = srem i32 %X, 255 ; <i32> [#uses=1] 7 ret i32 %tmp1 8 } 9 10 ; CHECK-LABEL: test2: 11 ; CHECK-NOT: div 12 define i32 @test2(i32 %X) { 13 %tmp1 = srem i32 %X, 256 ; <i32> [#uses=1] 14 ret i32 %tmp1 15 } 16 17 ; CHECK-LABEL: test3: 18 ; CHECK-NOT: div 19 define i32 @test3(i32 %X) { 20 %tmp1 = urem i32 %X, 255 ; <i32> [#uses=1] 21 ret i32 %tmp1 22 } 23 24 ; CHECK-LABEL: test4: 25 ; CHECK-NOT: div 26 define i32 @test4(i32 %X) { 27 %tmp1 = urem i32 %X, 256 ; <i32> [#uses=1] 28 ret i32 %tmp1 29 } 30 31 ; CHECK-LABEL: test5: 32 ; CHECK-NOT: cltd 33 define i32 @test5(i32 %X) nounwind readnone { 34 entry: 35 %0 = srem i32 41, %X 36 ret i32 %0 37 } 38