File tree Expand file tree Collapse file tree 1 file changed +8
-8
lines changed
llvm/test/Transforms/InstCombine Expand file tree Collapse file tree 1 file changed +8
-8
lines changed Original file line number Diff line number Diff line change @@ -10,14 +10,14 @@ define i128 @i128_ext_split(i32 noundef %x) {
1010; CHECK-NEXT: [[XX:%.*]] = sext i32 [[X]] to i128
1111; CHECK-NEXT: ret i128 [[XX]]
1212;
13- %coerce.sroa.0.0.extract.trunc = sext i32 %x to i64
14- %ashr = ashr i32 %x , 31
15- %coerce.sroa.2.0.extract.trunc = sext i32 %ashr to i64
16- %x.sroa.2.0.insert.ext.i = zext i64 %coerce.sroa.2.0.extract.trunc to i128
17- %x.sroa.2.0.insert.shift.i = shl nuw i128 %x.sroa.2.0.insert.ext.i , 64
18- %x.sroa.0.0.insert.ext.i = zext i64 %coerce.sroa.0.0.extract.trunc to i128
19- %x.sroa.0.0.insert.insert.i = or disjoint i128 %x.sroa.2.0.insert.shift.i , %x.sroa.0.0.insert.ext.i
20- ret i128 %x.sroa.0.0.insert.insert.i
13+ %LowerSrc = sext i32 %x to i64
14+ %sign = ashr i32 %x , 31
15+ %UpperSrc = sext i32 %sign to i64
16+ %widen = zext i64 %UpperSrc to i128
17+ %hi = shl nuw i128 %widen , 64
18+ %lo = zext i64 %LowerSrc to i128
19+ %res = or disjoint i128 %hi , %lo
20+ ret i128 %res
2121}
2222
2323; ext split from i32 to i128
You can’t perform that action at this time.
0 commit comments