1;RUN: llc -march=amdgcn -mcpu=SI -verify-machineinstrs < %s | FileCheck --check-prefix=SI --check-prefix=FUNC %s 2;RUN: llc -march=amdgcn -mcpu=tonga -verify-machineinstrs < %s | FileCheck --check-prefix=SI --check-prefix=FUNC %s 3;RUN: llc -march=r600 -mcpu=redwood < %s | FileCheck --check-prefix=EG --check-prefix=FUNC %s 4 5;FUNC-LABEL: {{^}}test_udiv: 6;EG: RECIP_UINT 7;EG: LSHL {{.*}}, 1, 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;EG: BFE_UINT 38;SI: s_endpgm 39define void @test_udiv(i64 addrspace(1)* %out, i64 %x, i64 %y) { 40 %result = udiv i64 %x, %y 41 store i64 %result, i64 addrspace(1)* %out 42 ret void 43} 44 45;FUNC-LABEL: {{^}}test_urem: 46;EG: RECIP_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: BFE_UINT 77;EG: AND_INT {{.*}}, 1, 78;SI: s_endpgm 79define void @test_urem(i64 addrspace(1)* %out, i64 %x, i64 %y) { 80 %result = urem i64 %x, %y 81 store i64 %result, i64 addrspace(1)* %out 82 ret void 83} 84