1 ;XUN: llc < %s -march=r600 -mcpu=SI -verify-machineinstrs| FileCheck --check-prefix=SI --check-prefix=FUNC %s 2 ;RUN: llc < %s -march=r600 -mcpu=redwood | FileCheck --check-prefix=EG --check-prefix=FUNC %s 3 4 ;FUNC-LABEL: @test_udiv 5 ;EG: RECIP_UINT 6 ;EG: LSHL {{.*}}, 1, 7 ;EG: BFE_UINT 8 ;EG: BFE_UINT 9 ;EG: BFE_UINT 10 ;EG: BFE_UINT 11 ;EG: BFE_UINT 12 ;EG: BFE_UINT 13 ;EG: BFE_UINT 14 ;EG: BFE_UINT 15 ;EG: BFE_UINT 16 ;EG: BFE_UINT 17 ;EG: BFE_UINT 18 ;EG: BFE_UINT 19 ;EG: BFE_UINT 20 ;EG: BFE_UINT 21 ;EG: BFE_UINT 22 ;EG: BFE_UINT 23 ;EG: BFE_UINT 24 ;EG: BFE_UINT 25 ;EG: BFE_UINT 26 ;EG: BFE_UINT 27 ;EG: BFE_UINT 28 ;EG: BFE_UINT 29 ;EG: BFE_UINT 30 ;EG: BFE_UINT 31 ;EG: BFE_UINT 32 ;EG: BFE_UINT 33 ;EG: BFE_UINT 34 ;EG: BFE_UINT 35 ;EG: BFE_UINT 36 ;EG: BFE_UINT 37 ;SI: S_ENDPGM 38 define void @test_udiv(i64 addrspace(1)* %out, i64 %x, i64 %y) { 39 %result = udiv i64 %x, %y 40 store i64 %result, i64 addrspace(1)* %out 41 ret void 42 } 43 44 ;FUNC-LABEL: @test_urem 45 ;EG: RECIP_UINT 46 ;EG: BFE_UINT 47 ;EG: BFE_UINT 48 ;EG: BFE_UINT 49 ;EG: BFE_UINT 50 ;EG: BFE_UINT 51 ;EG: BFE_UINT 52 ;EG: BFE_UINT 53 ;EG: BFE_UINT 54 ;EG: BFE_UINT 55 ;EG: BFE_UINT 56 ;EG: BFE_UINT 57 ;EG: BFE_UINT 58 ;EG: BFE_UINT 59 ;EG: BFE_UINT 60 ;EG: BFE_UINT 61 ;EG: BFE_UINT 62 ;EG: BFE_UINT 63 ;EG: BFE_UINT 64 ;EG: BFE_UINT 65 ;EG: BFE_UINT 66 ;EG: BFE_UINT 67 ;EG: BFE_UINT 68 ;EG: BFE_UINT 69 ;EG: BFE_UINT 70 ;EG: BFE_UINT 71 ;EG: BFE_UINT 72 ;EG: BFE_UINT 73 ;EG: BFE_UINT 74 ;EG: BFE_UINT 75 ;EG: BFE_UINT 76 ;EG: AND_INT {{.*}}, 1, 77 ;SI: S_ENDPGM 78 define void @test_urem(i64 addrspace(1)* %out, i64 %x, i64 %y) { 79 %result = urem i64 %x, %y 80 store i64 %result, i64 addrspace(1)* %out 81 ret void 82 } 83