| ; RUN: llc -global-isel=0 -mtriple=amdgpu6.00 < %s | FileCheck %s --implicit-check-not=s_swappc_b64 |
| ; RUN: llc -global-isel=0 -mtriple=amdgpu11.00 < %s | FileCheck %s --implicit-check-not=s_swappc_b64 |
| |
| ; Check that AMDGPU legalizes constant i128 UREM without emitting a libcall. |
| |
| define i128 @urem_i128_65(i128 %src) { |
| ; CHECK-LABEL: urem_i128_65: |
| ; CHECK: s_setpc_b64 |
| %result = urem i128 %src, 65 |
| ret i128 %result |
| } |
| |
| define i128 @urem_i128_65_optsize(i128 %src) #0 { |
| ; CHECK-LABEL: urem_i128_65_optsize: |
| ; CHECK: s_setpc_b64 |
| %result = urem i128 %src, 65 |
| ret i128 %result |
| } |
| |
| define i128 @urem_i128_66(i128 %src) { |
| ; CHECK-LABEL: urem_i128_66: |
| ; CHECK: s_setpc_b64 |
| %result = urem i128 %src, 66 |
| ret i128 %result |
| } |
| |
| define i128 @urem_i128_67(i128 %src) { |
| ; CHECK-LABEL: urem_i128_67: |
| ; CHECK: s_setpc_b64 |
| %result = urem i128 %src, 67 |
| ret i128 %result |
| } |
| |
| define i128 @urem_i128_68(i128 %src) { |
| ; CHECK-LABEL: urem_i128_68: |
| ; CHECK: s_setpc_b64 |
| %result = urem i128 %src, 68 |
| ret i128 %result |
| } |
| |
| define i128 @urem_i128_127(i128 %src) { |
| ; CHECK-LABEL: urem_i128_127: |
| ; CHECK: s_setpc_b64 |
| %result = urem i128 %src, 127 |
| ret i128 %result |
| } |
| |
| attributes #0 = { optsize } |