[PATCH] D120329: [SelectionDAG] Emit calls to __divei4 and friends for division/remainder of large integers
LuoYuanke via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Mar 9 01:57:15 PST 2022
LuoYuanke added inline comments.
================
Comment at: llvm/test/CodeGen/X86/udivmodei5.ll:5
+
+define i129 @udiv129(i129 %a, i129 %b) {
+; X86-LABEL: udiv129:
----------------
I'm not sure it is legal to pass i129. It seems front-end would pass i129 by value. However it is not related to this patch.
```
[clang]$ cat t.c
_BitInt(129) foo(_BitInt(129) a) {
return a++;
}
[clang]$
[clang]$ clang -S t.c -emit-llvm -O2
[clang]$ cat t.ll
; ModuleID = 't.c'
source_filename = "t.c"
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"
; Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn uwtable
define dso_local void @foo(i129* noalias nocapture writeonly sret(i129) align 8 %agg.result, i129* nocapture noundef readonly byval(i129) align 8 %0) local_unnamed_addr #0 {
entry:
%a = load i129, i129* %0, align 8, !tbaa !3
store i129 %a, i129* %agg.result, align 8, !tbaa !3
ret void
}
```
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D120329/new/
https://reviews.llvm.org/D120329
More information about the llvm-commits
mailing list