@@ -35,13 +35,18 @@ define i32 @foo1(ptr %a) #0 {
35
35
}
36
36
37
37
define i32 @align_assume_trunc_cond (ptr %a ) #0 {
38
- ; CHECK-LABEL: @align_assume_trunc_cond(
39
- ; CHECK-NEXT: [[T0:%.*]] = load i32, ptr [[A:%.*]], align 4
40
- ; CHECK-NEXT: [[PTRINT:%.*]] = ptrtoint ptr [[A]] to i64
41
- ; CHECK-NEXT: [[TRUNC:%.*]] = trunc i64 [[PTRINT]] to i1
42
- ; CHECK-NEXT: [[MASKCOND:%.*]] = xor i1 [[TRUNC]], true
43
- ; CHECK-NEXT: tail call void @llvm.assume(i1 [[MASKCOND]])
44
- ; CHECK-NEXT: ret i32 [[T0]]
38
+ ; DEFAULT-LABEL: @align_assume_trunc_cond(
39
+ ; DEFAULT-NEXT: [[T0:%.*]] = load i32, ptr [[A:%.*]], align 4
40
+ ; DEFAULT-NEXT: [[PTRINT:%.*]] = ptrtoint ptr [[A]] to i64
41
+ ; DEFAULT-NEXT: [[TRUNC:%.*]] = trunc i64 [[PTRINT]] to i1
42
+ ; DEFAULT-NEXT: [[MASKCOND:%.*]] = xor i1 [[TRUNC]], true
43
+ ; DEFAULT-NEXT: tail call void @llvm.assume(i1 [[MASKCOND]])
44
+ ; DEFAULT-NEXT: ret i32 [[T0]]
45
+ ;
46
+ ; BUNDLES-LABEL: @align_assume_trunc_cond(
47
+ ; BUNDLES-NEXT: [[T0:%.*]] = load i32, ptr [[A:%.*]], align 4
48
+ ; BUNDLES-NEXT: call void @llvm.assume(i1 true) [ "align"(ptr [[A]], i64 2) ]
49
+ ; BUNDLES-NEXT: ret i32 [[T0]]
45
50
;
46
51
%t0 = load i32 , ptr %a , align 4
47
52
%ptrint = ptrtoint ptr %a to i64
0 commit comments