Skip to content

Commit 7198019

Browse files
committed
[Float2Int] Pre-commit tests (NFC)
1 parent 22e7e68 commit 7198019

File tree

1 file changed

+52
-0
lines changed

1 file changed

+52
-0
lines changed

llvm/test/Transforms/Float2Int/basic.ll

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -349,3 +349,55 @@ bogusBB: ; preds = %bogusBB
349349
%tobool = fcmp une double %inc, 0.000000e+00
350350
br label %bogusBB
351351
}
352+
353+
define i32 @pr79158() {
354+
; CHECK-LABEL: @pr79158(
355+
; CHECK-NEXT: entry:
356+
; CHECK-NEXT: [[X_I:%.*]] = alloca i32, align 4
357+
; CHECK-NEXT: call void @llvm.lifetime.start.p0(i64 4, ptr nonnull [[X_I]])
358+
; CHECK-NEXT: store volatile i32 1, ptr [[X_I]], align 4
359+
; CHECK-NEXT: [[X_I_0_X_I_0_X_0_X_0_X_0__I:%.*]] = load volatile i32, ptr [[X_I]], align 4
360+
; CHECK-NEXT: [[CMP_I:%.*]] = icmp sgt i32 [[X_I_0_X_I_0_X_0_X_0_X_0__I]], 0
361+
; CHECK-NEXT: [[TMP0:%.*]] = zext i1 [[CMP_I]] to i32
362+
; CHECK-NEXT: [[MUL_I1:%.*]] = mul i32 [[TMP0]], 2147483647
363+
; CHECK-NEXT: call void @llvm.lifetime.end.p0(i64 4, ptr nonnull [[X_I]])
364+
; CHECK-NEXT: ret i32 [[MUL_I1]]
365+
;
366+
entry:
367+
%x.i = alloca i32, align 4
368+
call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %x.i)
369+
store volatile i32 1, ptr %x.i, align 4
370+
%x.i.0.x.i.0.x.0.x.0.x.0..i = load volatile i32, ptr %x.i, align 4
371+
%cmp.i = icmp sgt i32 %x.i.0.x.i.0.x.0.x.0.x.0..i, 0
372+
%conv.i = uitofp i1 %cmp.i to double
373+
%mul.i = fmul double %conv.i, 4294967295.0
374+
%conv1.i = fptoui double %mul.i to i32
375+
call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %x.i)
376+
ret i32 %conv1.i
377+
}
378+
379+
define i32 @pr79158_2() {
380+
; CHECK-LABEL: @pr79158_2(
381+
; CHECK-NEXT: entry:
382+
; CHECK-NEXT: [[X_I:%.*]] = alloca i32, align 4
383+
; CHECK-NEXT: call void @llvm.lifetime.start.p0(i64 4, ptr nonnull [[X_I]])
384+
; CHECK-NEXT: store volatile i32 1, ptr [[X_I]], align 4
385+
; CHECK-NEXT: [[X_I_0_X_I_0_X_0_X_0_X_0__I:%.*]] = load volatile i32, ptr [[X_I]], align 4
386+
; CHECK-NEXT: [[CMP_I:%.*]] = icmp sgt i32 [[X_I_0_X_I_0_X_0_X_0_X_0__I]], 0
387+
; CHECK-NEXT: [[TMP0:%.*]] = zext i1 [[CMP_I]] to i32
388+
; CHECK-NEXT: [[MUL_I1:%.*]] = mul i32 [[TMP0]], 2147483647
389+
; CHECK-NEXT: call void @llvm.lifetime.end.p0(i64 4, ptr nonnull [[X_I]])
390+
; CHECK-NEXT: ret i32 [[MUL_I1]]
391+
;
392+
entry:
393+
%x.i = alloca i32, align 4
394+
call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %x.i)
395+
store volatile i32 1, ptr %x.i, align 4
396+
%x.i.0.x.i.0.x.0.x.0.x.0..i = load volatile i32, ptr %x.i, align 4
397+
%cmp.i = icmp sgt i32 %x.i.0.x.i.0.x.0.x.0.x.0..i, 0
398+
%conv.i = uitofp i1 %cmp.i to double
399+
%mul.i = fmul double %conv.i, 2147483648.0
400+
%conv1.i = fptoui double %mul.i to i32
401+
call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %x.i)
402+
ret i32 %conv1.i
403+
}

0 commit comments

Comments
 (0)