
Default MaxDivRemBitWidthSupported to 128, so that divisions larger than 128 bits are always expanded, without requiring additional configuration from the target. Note that this may still emit calls to __udivti3 on 32-bit targets, which likely don't have an implementation of that builtin. However, I believe this is sufficient to fix https://github.com/llvm/llvm-project/issues/60531, because Zig must already be defining those builtins. Differential Revision: https://reviews.llvm.org/D144871
18 lines
463 B
LLVM
18 lines
463 B
LLVM
; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
|
|
; RUN: llc -mtriple=mips-- < %s | FileCheck %s
|
|
; RUN: llc -mtriple=mips64-- < %s | FileCheck %s
|
|
|
|
define i128 @udiv_i128(i128 %x, i128 %y) nounwind {
|
|
; CHECK-LABEL: udiv_i128:
|
|
; CHECK: jal __udivti3
|
|
%res = udiv i128 %x, %y
|
|
ret i128 %res
|
|
}
|
|
|
|
define i129 @udiv_i129(i129 %x, i129 %y) nounwind {
|
|
; CHECK-LABEL: udiv_i129:
|
|
; CHECK-NOT: jal
|
|
%res = udiv i129 %x, %y
|
|
ret i129 %res
|
|
}
|