brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.6 KiB · 3d85662 Raw
130 lines · plain
1;RUN: llc -mtriple=r600 -mcpu=redwood -amdgpu-bypass-slow-div=0 < %s | FileCheck -check-prefix=EG %s2 3;EG-LABEL: {{^}}s_test_sdiv:4;EG: RECIP_UINT5;EG: LSHL {{.*}}, 1,6;EG: BFE_UINT7;EG: BFE_UINT8;EG: BFE_UINT9;EG: BFE_UINT10;EG: BFE_UINT11;EG: BFE_UINT12;EG: BFE_UINT13;EG: BFE_UINT14;EG: BFE_UINT15;EG: BFE_UINT16;EG: BFE_UINT17;EG: BFE_UINT18;EG: BFE_UINT19;EG: BFE_UINT20;EG: BFE_UINT21;EG: BFE_UINT22;EG: BFE_UINT23;EG: BFE_UINT24;EG: BFE_UINT25;EG: BFE_UINT26;EG: BFE_UINT27;EG: BFE_UINT28;EG: BFE_UINT29;EG: BFE_UINT30;EG: BFE_UINT31;EG: BFE_UINT32;EG: BFE_UINT33;EG: BFE_UINT34;EG: BFE_UINT35;EG: BFE_UINT36define amdgpu_kernel void @s_test_sdiv(ptr addrspace(1) %out, i64 %x, i64 %y) {37  %result = sdiv i64 %x, %y38  store i64 %result, ptr addrspace(1) %out39  ret void40}41 42;EG-LABEL: {{^}}s_test_srem:43;EG: RECIP_UINT44;EG: BFE_UINT45;EG: BFE_UINT46;EG: BFE_UINT47;EG: BFE_UINT48;EG: BFE_UINT49;EG: BFE_UINT50;EG: BFE_UINT51;EG: BFE_UINT52;EG: BFE_UINT53;EG: BFE_UINT54;EG: BFE_UINT55;EG: BFE_UINT56;EG: BFE_UINT57;EG: BFE_UINT58;EG: BFE_UINT59;EG: BFE_UINT60;EG: BFE_UINT61;EG: BFE_UINT62;EG: BFE_UINT63;EG: BFE_UINT64;EG: BFE_UINT65;EG: BFE_UINT66;EG: BFE_UINT67;EG: BFE_UINT68;EG: BFE_UINT69;EG: BFE_UINT70;EG: BFE_UINT71;EG: BFE_UINT72;EG: BFE_UINT73;EG: BFE_UINT74;EG: AND_INT {{.*}}, 1,75define amdgpu_kernel void @s_test_srem(ptr addrspace(1) %out, i64 %x, i64 %y) {76  %result = urem i64 %x, %y77  store i64 %result, ptr addrspace(1) %out78  ret void79}80 81;EG-LABEL: {{^}}test_sdiv3264:82;EG: RECIP_UINT83;EG-NOT: BFE_UINT84define amdgpu_kernel void @test_sdiv3264(ptr addrspace(1) %out, i64 %x, i64 %y) {85  %1 = ashr i64 %x, 3386  %2 = ashr i64 %y, 3387  %result = sdiv i64 %1, %288  store i64 %result, ptr addrspace(1) %out89  ret void90}91 92;EG-LABEL: {{^}}test_srem3264:93;EG: RECIP_UINT94;EG-NOT: BFE_UINT95define amdgpu_kernel void @test_srem3264(ptr addrspace(1) %out, i64 %x, i64 %y) {96  %1 = ashr i64 %x, 3397  %2 = ashr i64 %y, 3398  %result = srem i64 %1, %299  store i64 %result, ptr addrspace(1) %out100  ret void101}102 103;EG-LABEL: {{^}}test_sdiv2464:104;EG: INT_TO_FLT105;EG: INT_TO_FLT106;EG: FLT_TO_INT107;EG-NOT: RECIP_UINT108;EG-NOT: BFE_UINT109define amdgpu_kernel void @test_sdiv2464(ptr addrspace(1) %out, i64 %x, i64 %y) {110  %1 = ashr i64 %x, 40111  %2 = ashr i64 %y, 40112  %result = sdiv i64 %1, %2113  store i64 %result, ptr addrspace(1) %out114  ret void115}116 117;EG-LABEL: {{^}}test_srem2464:118;EG: INT_TO_FLT119;EG: INT_TO_FLT120;EG: FLT_TO_INT121;EG-NOT: RECIP_UINT122;EG-NOT: BFE_UINT123define amdgpu_kernel void @test_srem2464(ptr addrspace(1) %out, i64 %x, i64 %y) {124  %1 = ashr i64 %x, 40125  %2 = ashr i64 %y, 40126  %result = srem i64 %1, %2127  store i64 %result, ptr addrspace(1) %out128  ret void129}130