Home | History | Annotate | Download | only in R600
      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