Improve and simplify casts.

This commit is contained in:
Christoffer Lerno
2023-03-01 18:49:47 +01:00
parent 0314f9534f
commit 0dcad6f5cf
44 changed files with 691 additions and 740 deletions

View File

@@ -315,8 +315,8 @@ entry:
%92 = load i64, ptr %xx, align 8
%lshrl = lshr i64 %92, 20
%93 = and i64 1, %lshrl
%ztrunc = trunc i64 %93 to i8
%94 = trunc i8 %ztrunc to i1
%trunc = trunc i64 %93 to i8
%94 = trunc i8 %trunc to i1
%boolsi = zext i1 %94 to i32
call void (ptr, ...) @printf(ptr @.str.9, i32 %boolsi)
%95 = load i64, ptr %xx, align 8
@@ -325,8 +325,8 @@ entry:
%97 = load i64, ptr %xx, align 8
%lshrl67 = lshr i64 %97, 20
%98 = and i64 1, %lshrl67
%ztrunc68 = trunc i64 %98 to i8
%99 = trunc i8 %ztrunc68 to i1
%trunc68 = trunc i64 %98 to i8
%99 = trunc i8 %trunc68 to i1
%boolsi69 = zext i1 %99 to i32
call void (ptr, ...) @printf(ptr @.str.10, i32 %boolsi69)
ret void
@@ -366,8 +366,8 @@ entry:
%ashr8 = ashr i32 %shl7, 29
%sub = sub i32 %ashr8, 1
%13 = getelementptr inbounds [3 x i8], ptr %xx, i64 0, i64 0
%ztrunc = trunc i32 %sub to i8
%14 = and i8 %ztrunc, 7
%trunc = trunc i32 %sub to i8
%14 = and i8 %trunc, 7
%15 = load i8, ptr %13, align 1
%16 = and i8 %15, -8
%17 = or i8 %16, %14
@@ -403,15 +403,15 @@ entry:
%mul = mul i32 %ashr23, 2
%30 = getelementptr inbounds [3 x i8], ptr %xx, i64 0, i64 0
%shl24 = shl i32 %mul, 3
%ztrunc25 = trunc i32 %shl24 to i8
%trunc25 = trunc i32 %shl24 to i8
%31 = load i8, ptr %30, align 1
%32 = and i8 %31, 7
%33 = or i8 %32, %ztrunc25
%33 = or i8 %32, %trunc25
store i8 %33, ptr %30, align 1
%lshrl26 = lshr i32 %mul, 5
%34 = getelementptr inbounds [3 x i8], ptr %xx, i64 0, i64 1
%ztrunc27 = trunc i32 %lshrl26 to i8
%35 = and i8 %ztrunc27, 1
%trunc27 = trunc i32 %lshrl26 to i8
%35 = and i8 %trunc27, 1
%36 = load i8, ptr %34, align 1
%37 = and i8 %36, -2
%38 = or i8 %37, %35
@@ -447,15 +447,15 @@ entry:
%xor = xor i32 %ashr42, 4
%51 = getelementptr inbounds [3 x i8], ptr %xx, i64 0, i64 0
%shl43 = shl i32 %xor, 3
%ztrunc44 = trunc i32 %shl43 to i8
%trunc44 = trunc i32 %shl43 to i8
%52 = load i8, ptr %51, align 1
%53 = and i8 %52, 7
%54 = or i8 %53, %ztrunc44
%54 = or i8 %53, %trunc44
store i8 %54, ptr %51, align 1
%lshrl45 = lshr i32 %xor, 5
%55 = getelementptr inbounds [3 x i8], ptr %xx, i64 0, i64 1
%ztrunc46 = trunc i32 %lshrl45 to i8
%56 = and i8 %ztrunc46, 1
%trunc46 = trunc i32 %lshrl45 to i8
%56 = and i8 %trunc46, 1
%57 = load i8, ptr %55, align 1
%58 = and i8 %57, -2
%59 = or i8 %58, %56
@@ -491,15 +491,15 @@ entry:
%or = or i32 %ashr61, 4
%72 = getelementptr inbounds [3 x i8], ptr %xx, i64 0, i64 0
%shl62 = shl i32 %or, 3
%ztrunc63 = trunc i32 %shl62 to i8
%trunc63 = trunc i32 %shl62 to i8
%73 = load i8, ptr %72, align 1
%74 = and i8 %73, 7
%75 = or i8 %74, %ztrunc63
%75 = or i8 %74, %trunc63
store i8 %75, ptr %72, align 1
%lshrl64 = lshr i32 %or, 5
%76 = getelementptr inbounds [3 x i8], ptr %xx, i64 0, i64 1
%ztrunc65 = trunc i32 %lshrl64 to i8
%77 = and i8 %ztrunc65, 1
%trunc65 = trunc i32 %lshrl64 to i8
%77 = and i8 %trunc65, 1
%78 = load i8, ptr %76, align 1
%79 = and i8 %78, -2
%80 = or i8 %79, %77
@@ -536,15 +536,15 @@ entry:
%93 = freeze i32 %shl81
%94 = getelementptr inbounds [3 x i8], ptr %xx, i64 0, i64 0
%shl82 = shl i32 %93, 3
%ztrunc83 = trunc i32 %shl82 to i8
%trunc83 = trunc i32 %shl82 to i8
%95 = load i8, ptr %94, align 1
%96 = and i8 %95, 7
%97 = or i8 %96, %ztrunc83
%97 = or i8 %96, %trunc83
store i8 %97, ptr %94, align 1
%lshrl84 = lshr i32 %93, 5
%98 = getelementptr inbounds [3 x i8], ptr %xx, i64 0, i64 1
%ztrunc85 = trunc i32 %lshrl84 to i8
%99 = and i8 %ztrunc85, 1
%trunc85 = trunc i32 %lshrl84 to i8
%99 = and i8 %trunc85, 1
%100 = load i8, ptr %98, align 1
%101 = and i8 %100, -2
%102 = or i8 %101, %99
@@ -581,15 +581,15 @@ entry:
%115 = freeze i32 %ashr101
%116 = getelementptr inbounds [3 x i8], ptr %xx, i64 0, i64 0
%shl102 = shl i32 %115, 3
%ztrunc103 = trunc i32 %shl102 to i8
%trunc103 = trunc i32 %shl102 to i8
%117 = load i8, ptr %116, align 1
%118 = and i8 %117, 7
%119 = or i8 %118, %ztrunc103
%119 = or i8 %118, %trunc103
store i8 %119, ptr %116, align 1
%lshrl104 = lshr i32 %115, 5
%120 = getelementptr inbounds [3 x i8], ptr %xx, i64 0, i64 1
%ztrunc105 = trunc i32 %lshrl104 to i8
%121 = and i8 %ztrunc105, 1
%trunc105 = trunc i32 %lshrl104 to i8
%121 = and i8 %trunc105, 1
%122 = load i8, ptr %120, align 1
%123 = and i8 %122, -2
%124 = or i8 %123, %121
@@ -625,15 +625,15 @@ entry:
%sdiv = sdiv i32 %ashr120, 2
%137 = getelementptr inbounds [3 x i8], ptr %xx, i64 0, i64 0
%shl121 = shl i32 %sdiv, 3
%ztrunc122 = trunc i32 %shl121 to i8
%trunc122 = trunc i32 %shl121 to i8
%138 = load i8, ptr %137, align 1
%139 = and i8 %138, 7
%140 = or i8 %139, %ztrunc122
%140 = or i8 %139, %trunc122
store i8 %140, ptr %137, align 1
%lshrl123 = lshr i32 %sdiv, 5
%141 = getelementptr inbounds [3 x i8], ptr %xx, i64 0, i64 1
%ztrunc124 = trunc i32 %lshrl123 to i8
%142 = and i8 %ztrunc124, 1
%trunc124 = trunc i32 %lshrl123 to i8
%142 = and i8 %trunc124, 1
%143 = load i8, ptr %141, align 1
%144 = and i8 %143, -2
%145 = or i8 %144, %142
@@ -669,15 +669,15 @@ entry:
%smod = srem i32 %ashr139, 2
%158 = getelementptr inbounds [3 x i8], ptr %xx, i64 0, i64 0
%shl140 = shl i32 %smod, 3
%ztrunc141 = trunc i32 %shl140 to i8
%trunc141 = trunc i32 %shl140 to i8
%159 = load i8, ptr %158, align 1
%160 = and i8 %159, 7
%161 = or i8 %160, %ztrunc141
%161 = or i8 %160, %trunc141
store i8 %161, ptr %158, align 1
%lshrl142 = lshr i32 %smod, 5
%162 = getelementptr inbounds [3 x i8], ptr %xx, i64 0, i64 1
%ztrunc143 = trunc i32 %lshrl142 to i8
%163 = and i8 %ztrunc143, 1
%trunc143 = trunc i32 %lshrl142 to i8
%163 = and i8 %trunc143, 1
%164 = load i8, ptr %162, align 1
%165 = and i8 %164, -2
%166 = or i8 %165, %163
@@ -766,8 +766,8 @@ entry:
%sub = sub i32 %ashr10, 1
%13 = getelementptr inbounds [3 x i8], ptr %xx, i64 0, i64 0
%shl11 = shl i32 %sub, 1
%ztrunc = trunc i32 %shl11 to i8
%14 = and i8 %ztrunc, 15
%trunc = trunc i32 %shl11 to i8
%14 = and i8 %trunc, 15
%15 = load i8, ptr %13, align 1
%16 = and i8 %15, -15
%17 = or i8 %16, %14
@@ -805,15 +805,15 @@ entry:
%mul = mul i32 %ashr28, 2
%30 = getelementptr inbounds [3 x i8], ptr %xx, i64 0, i64 0
%shl29 = shl i32 %mul, 4
%ztrunc30 = trunc i32 %shl29 to i8
%trunc30 = trunc i32 %shl29 to i8
%31 = load i8, ptr %30, align 1
%32 = and i8 %31, 15
%33 = or i8 %32, %ztrunc30
%33 = or i8 %32, %trunc30
store i8 %33, ptr %30, align 1
%lshrl31 = lshr i32 %mul, 4
%34 = getelementptr inbounds [3 x i8], ptr %xx, i64 0, i64 1
%ztrunc32 = trunc i32 %lshrl31 to i8
%35 = and i8 %ztrunc32, 3
%trunc32 = trunc i32 %lshrl31 to i8
%35 = and i8 %trunc32, 3
%36 = load i8, ptr %34, align 1
%37 = and i8 %36, -4
%38 = or i8 %37, %35
@@ -850,15 +850,15 @@ entry:
%xor = xor i32 %ashr48, 4
%51 = getelementptr inbounds [3 x i8], ptr %xx, i64 0, i64 0
%shl49 = shl i32 %xor, 4
%ztrunc50 = trunc i32 %shl49 to i8
%trunc50 = trunc i32 %shl49 to i8
%52 = load i8, ptr %51, align 1
%53 = and i8 %52, 15
%54 = or i8 %53, %ztrunc50
%54 = or i8 %53, %trunc50
store i8 %54, ptr %51, align 1
%lshrl51 = lshr i32 %xor, 4
%55 = getelementptr inbounds [3 x i8], ptr %xx, i64 0, i64 1
%ztrunc52 = trunc i32 %lshrl51 to i8
%56 = and i8 %ztrunc52, 3
%trunc52 = trunc i32 %lshrl51 to i8
%56 = and i8 %trunc52, 3
%57 = load i8, ptr %55, align 1
%58 = and i8 %57, -4
%59 = or i8 %58, %56
@@ -895,15 +895,15 @@ entry:
%or = or i32 %ashr68, 4
%72 = getelementptr inbounds [3 x i8], ptr %xx, i64 0, i64 0
%shl69 = shl i32 %or, 4
%ztrunc70 = trunc i32 %shl69 to i8
%trunc70 = trunc i32 %shl69 to i8
%73 = load i8, ptr %72, align 1
%74 = and i8 %73, 15
%75 = or i8 %74, %ztrunc70
%75 = or i8 %74, %trunc70
store i8 %75, ptr %72, align 1
%lshrl71 = lshr i32 %or, 4
%76 = getelementptr inbounds [3 x i8], ptr %xx, i64 0, i64 1
%ztrunc72 = trunc i32 %lshrl71 to i8
%77 = and i8 %ztrunc72, 3
%trunc72 = trunc i32 %lshrl71 to i8
%77 = and i8 %trunc72, 3
%78 = load i8, ptr %76, align 1
%79 = and i8 %78, -4
%80 = or i8 %79, %77
@@ -941,15 +941,15 @@ entry:
%93 = freeze i32 %shl89
%94 = getelementptr inbounds [3 x i8], ptr %xx, i64 0, i64 0
%shl90 = shl i32 %93, 4
%ztrunc91 = trunc i32 %shl90 to i8
%trunc91 = trunc i32 %shl90 to i8
%95 = load i8, ptr %94, align 1
%96 = and i8 %95, 15
%97 = or i8 %96, %ztrunc91
%97 = or i8 %96, %trunc91
store i8 %97, ptr %94, align 1
%lshrl92 = lshr i32 %93, 4
%98 = getelementptr inbounds [3 x i8], ptr %xx, i64 0, i64 1
%ztrunc93 = trunc i32 %lshrl92 to i8
%99 = and i8 %ztrunc93, 3
%trunc93 = trunc i32 %lshrl92 to i8
%99 = and i8 %trunc93, 3
%100 = load i8, ptr %98, align 1
%101 = and i8 %100, -4
%102 = or i8 %101, %99
@@ -987,15 +987,15 @@ entry:
%115 = freeze i32 %ashr110
%116 = getelementptr inbounds [3 x i8], ptr %xx, i64 0, i64 0
%shl111 = shl i32 %115, 4
%ztrunc112 = trunc i32 %shl111 to i8
%trunc112 = trunc i32 %shl111 to i8
%117 = load i8, ptr %116, align 1
%118 = and i8 %117, 15
%119 = or i8 %118, %ztrunc112
%119 = or i8 %118, %trunc112
store i8 %119, ptr %116, align 1
%lshrl113 = lshr i32 %115, 4
%120 = getelementptr inbounds [3 x i8], ptr %xx, i64 0, i64 1
%ztrunc114 = trunc i32 %lshrl113 to i8
%121 = and i8 %ztrunc114, 3
%trunc114 = trunc i32 %lshrl113 to i8
%121 = and i8 %trunc114, 3
%122 = load i8, ptr %120, align 1
%123 = and i8 %122, -4
%124 = or i8 %123, %121
@@ -1032,15 +1032,15 @@ entry:
%sdiv = sdiv i32 %ashr130, 2
%137 = getelementptr inbounds [3 x i8], ptr %xx, i64 0, i64 0
%shl131 = shl i32 %sdiv, 4
%ztrunc132 = trunc i32 %shl131 to i8
%trunc132 = trunc i32 %shl131 to i8
%138 = load i8, ptr %137, align 1
%139 = and i8 %138, 15
%140 = or i8 %139, %ztrunc132
%140 = or i8 %139, %trunc132
store i8 %140, ptr %137, align 1
%lshrl133 = lshr i32 %sdiv, 4
%141 = getelementptr inbounds [3 x i8], ptr %xx, i64 0, i64 1
%ztrunc134 = trunc i32 %lshrl133 to i8
%142 = and i8 %ztrunc134, 3
%trunc134 = trunc i32 %lshrl133 to i8
%142 = and i8 %trunc134, 3
%143 = load i8, ptr %141, align 1
%144 = and i8 %143, -4
%145 = or i8 %144, %142
@@ -1077,15 +1077,15 @@ entry:
%smod = srem i32 %ashr150, 2
%158 = getelementptr inbounds [3 x i8], ptr %xx, i64 0, i64 0
%shl151 = shl i32 %smod, 4
%ztrunc152 = trunc i32 %shl151 to i8
%trunc152 = trunc i32 %shl151 to i8
%159 = load i8, ptr %158, align 1
%160 = and i8 %159, 15
%161 = or i8 %160, %ztrunc152
%161 = or i8 %160, %trunc152
store i8 %161, ptr %158, align 1
%lshrl153 = lshr i32 %smod, 4
%162 = getelementptr inbounds [3 x i8], ptr %xx, i64 0, i64 1
%ztrunc154 = trunc i32 %lshrl153 to i8
%163 = and i8 %ztrunc154, 3
%trunc154 = trunc i32 %lshrl153 to i8
%163 = and i8 %trunc154, 3
%164 = load i8, ptr %162, align 1
%165 = and i8 %164, -4
%166 = or i8 %165, %163

View File

@@ -129,8 +129,8 @@ loop.exit15: ; preds = %loop.cond8
%39 = load i32, ptr %abc, align 4
%40 = call i32 @llvm.bswap.i32(i32 %39)
%41 = and i32 65535, %40
%ztrunc = trunc i32 %41 to i16
store i16 %ztrunc, ptr %taddr21, align 2
%trunc = trunc i32 %41 to i16
store i16 %trunc, ptr %taddr21, align 2
%42 = insertvalue %variant undef, ptr %taddr21, 0
%43 = insertvalue %variant %42, i64 ptrtoint (ptr @"$ct.ushort" to i64), 1
%44 = getelementptr inbounds [1 x %variant], ptr %varargslots20, i64 0, i64 0
@@ -151,8 +151,8 @@ loop.exit15: ; preds = %loop.cond8
%56 = load i32, ptr %abc, align 4
%57 = call i32 @llvm.bswap.i32(i32 %56)
%58 = and i32 65535, %57
%ztrunc24 = trunc i32 %58 to i16
store i16 %ztrunc24, ptr %taddr25, align 2
%trunc24 = trunc i32 %58 to i16
store i16 %trunc24, ptr %taddr25, align 2
%59 = insertvalue %variant undef, ptr %taddr25, 0
%60 = insertvalue %variant %59, i64 ptrtoint (ptr @"$ct.ushort" to i64), 1
%61 = getelementptr inbounds [1 x %variant], ptr %varargslots23, i64 0, i64 0

View File

@@ -130,20 +130,20 @@ entry:
%21 = getelementptr inbounds [8 x i8], ptr %b, i64 0, i64 7
store i8 0, ptr %21, align 1
%22 = getelementptr inbounds [8 x i8], ptr %b, i64 0, i64 0
%ztrunc = trunc i32 %0 to i8
store i8 %ztrunc, ptr %22, align 1
%trunc = trunc i32 %0 to i8
store i8 %trunc, ptr %22, align 1
%lshrl = lshr i32 %0, 8
%23 = getelementptr inbounds [8 x i8], ptr %b, i64 0, i64 1
%ztrunc2 = trunc i32 %lshrl to i8
store i8 %ztrunc2, ptr %23, align 1
%trunc2 = trunc i32 %lshrl to i8
store i8 %trunc2, ptr %23, align 1
%lshrl3 = lshr i32 %lshrl, 8
%24 = getelementptr inbounds [8 x i8], ptr %b, i64 0, i64 2
%ztrunc4 = trunc i32 %lshrl3 to i8
store i8 %ztrunc4, ptr %24, align 1
%trunc4 = trunc i32 %lshrl3 to i8
store i8 %trunc4, ptr %24, align 1
%lshrl5 = lshr i32 %lshrl3, 8
%25 = getelementptr inbounds [8 x i8], ptr %b, i64 0, i64 3
%ztrunc6 = trunc i32 %lshrl5 to i8
store i8 %ztrunc6, ptr %25, align 1
%trunc6 = trunc i32 %lshrl5 to i8
store i8 %trunc6, ptr %25, align 1
%lshrl7 = lshr i32 %lshrl5, 8
%lt8 = icmp slt i32 %0, 100
%26 = zext i1 %lt8 to i8
@@ -155,8 +155,8 @@ entry:
store i8 %30, ptr %27, align 1
%31 = load i64, ptr %x, align 8
%32 = and i64 4294967295, %31
%ztrunc10 = trunc i64 %32 to i32
store i32 %ztrunc10, ptr %taddr, align 4
%trunc10 = trunc i64 %32 to i32
store i32 %trunc10, ptr %taddr, align 4
%33 = insertvalue %variant undef, ptr %taddr, 0
%34 = insertvalue %variant %33, i64 ptrtoint (ptr @"$ct.uint" to i64), 1
%35 = getelementptr inbounds [3 x %variant], ptr %varargslots, i64 0, i64 0
@@ -164,8 +164,8 @@ entry:
%36 = load i64, ptr %x, align 8
%lshrl11 = lshr i64 %36, 32
%37 = and i64 2147483647, %lshrl11
%ztrunc12 = trunc i64 %37 to i32
store i32 %ztrunc12, ptr %taddr13, align 4
%trunc12 = trunc i64 %37 to i32
store i32 %trunc12, ptr %taddr13, align 4
%38 = insertvalue %variant undef, ptr %taddr13, 0
%39 = insertvalue %variant %38, i64 ptrtoint (ptr @"$ct.uint" to i64), 1
%40 = getelementptr inbounds [3 x %variant], ptr %varargslots, i64 0, i64 1
@@ -173,8 +173,8 @@ entry:
%41 = load i64, ptr %x, align 8
%lshrl14 = lshr i64 %41, 63
%42 = and i64 1, %lshrl14
%ztrunc15 = trunc i64 %42 to i8
store i8 %ztrunc15, ptr %taddr16, align 1
%trunc15 = trunc i64 %42 to i8
store i8 %trunc15, ptr %taddr16, align 1
%43 = insertvalue %variant undef, ptr %taddr16, 0
%44 = insertvalue %variant %43, i64 ptrtoint (ptr @"$ct.bool" to i64), 1
%45 = getelementptr inbounds [3 x %variant], ptr %varargslots, i64 0, i64 2
@@ -183,8 +183,8 @@ entry:
%47 = getelementptr inbounds %Abc, ptr %y, i32 0, i32 1
%48 = load i64, ptr %47, align 8
%49 = and i64 4294967295, %48
%ztrunc19 = trunc i64 %49 to i32
store i32 %ztrunc19, ptr %taddr20, align 4
%trunc19 = trunc i64 %49 to i32
store i32 %trunc19, ptr %taddr20, align 4
%50 = insertvalue %variant undef, ptr %taddr20, 0
%51 = insertvalue %variant %50, i64 ptrtoint (ptr @"$ct.uint" to i64), 1
%52 = getelementptr inbounds [3 x %variant], ptr %varargslots18, i64 0, i64 0
@@ -193,8 +193,8 @@ entry:
%54 = load i64, ptr %53, align 8
%lshrl21 = lshr i64 %54, 32
%55 = and i64 2147483647, %lshrl21
%ztrunc22 = trunc i64 %55 to i32
store i32 %ztrunc22, ptr %taddr23, align 4
%trunc22 = trunc i64 %55 to i32
store i32 %trunc22, ptr %taddr23, align 4
%56 = insertvalue %variant undef, ptr %taddr23, 0
%57 = insertvalue %variant %56, i64 ptrtoint (ptr @"$ct.uint" to i64), 1
%58 = getelementptr inbounds [3 x %variant], ptr %varargslots18, i64 0, i64 1
@@ -203,8 +203,8 @@ entry:
%60 = load i64, ptr %59, align 8
%lshrl24 = lshr i64 %60, 63
%61 = and i64 1, %lshrl24
%ztrunc25 = trunc i64 %61 to i8
store i8 %ztrunc25, ptr %taddr26, align 1
%trunc25 = trunc i64 %61 to i8
store i8 %trunc25, ptr %taddr26, align 1
%62 = insertvalue %variant undef, ptr %taddr26, 0
%63 = insertvalue %variant %62, i64 ptrtoint (ptr @"$ct.bool" to i64), 1
%64 = getelementptr inbounds [3 x %variant], ptr %varargslots18, i64 0, i64 2
@@ -301,20 +301,20 @@ entry:
store i8 0, ptr %118, align 1
%add50 = add i32 %0, 1
%119 = getelementptr inbounds [8 x i8], ptr %b, i64 0, i64 0
%ztrunc51 = trunc i32 %add50 to i8
store i8 %ztrunc51, ptr %119, align 1
%trunc51 = trunc i32 %add50 to i8
store i8 %trunc51, ptr %119, align 1
%lshrl52 = lshr i32 %add50, 8
%120 = getelementptr inbounds [8 x i8], ptr %b, i64 0, i64 1
%ztrunc53 = trunc i32 %lshrl52 to i8
store i8 %ztrunc53, ptr %120, align 1
%trunc53 = trunc i32 %lshrl52 to i8
store i8 %trunc53, ptr %120, align 1
%lshrl54 = lshr i32 %lshrl52, 8
%121 = getelementptr inbounds [8 x i8], ptr %b, i64 0, i64 2
%ztrunc55 = trunc i32 %lshrl54 to i8
store i8 %ztrunc55, ptr %121, align 1
%trunc55 = trunc i32 %lshrl54 to i8
store i8 %trunc55, ptr %121, align 1
%lshrl56 = lshr i32 %lshrl54, 8
%122 = getelementptr inbounds [8 x i8], ptr %b, i64 0, i64 3
%ztrunc57 = trunc i32 %lshrl56 to i8
store i8 %ztrunc57, ptr %122, align 1
%trunc57 = trunc i32 %lshrl56 to i8
store i8 %trunc57, ptr %122, align 1
%lshrl58 = lshr i32 %lshrl56, 8
%123 = getelementptr inbounds [8 x i8], ptr %b, i64 0, i64 4
store i8 1, ptr %123, align 1
@@ -336,8 +336,8 @@ entry:
store i8 %133, ptr %130, align 1
%134 = load i64, ptr %x, align 8
%135 = and i64 4294967295, %134
%ztrunc63 = trunc i64 %135 to i32
store i32 %ztrunc63, ptr %taddr64, align 4
%trunc63 = trunc i64 %135 to i32
store i32 %trunc63, ptr %taddr64, align 4
%136 = insertvalue %variant undef, ptr %taddr64, 0
%137 = insertvalue %variant %136, i64 ptrtoint (ptr @"$ct.uint" to i64), 1
%138 = getelementptr inbounds [3 x %variant], ptr %varargslots62, i64 0, i64 0
@@ -345,8 +345,8 @@ entry:
%139 = load i64, ptr %x, align 8
%lshrl65 = lshr i64 %139, 32
%140 = and i64 2147483647, %lshrl65
%ztrunc66 = trunc i64 %140 to i32
store i32 %ztrunc66, ptr %taddr67, align 4
%trunc66 = trunc i64 %140 to i32
store i32 %trunc66, ptr %taddr67, align 4
%141 = insertvalue %variant undef, ptr %taddr67, 0
%142 = insertvalue %variant %141, i64 ptrtoint (ptr @"$ct.uint" to i64), 1
%143 = getelementptr inbounds [3 x %variant], ptr %varargslots62, i64 0, i64 1
@@ -354,8 +354,8 @@ entry:
%144 = load i64, ptr %x, align 8
%lshrl68 = lshr i64 %144, 63
%145 = and i64 1, %lshrl68
%ztrunc69 = trunc i64 %145 to i8
store i8 %ztrunc69, ptr %taddr70, align 1
%trunc69 = trunc i64 %145 to i8
store i8 %trunc69, ptr %taddr70, align 1
%146 = insertvalue %variant undef, ptr %taddr70, 0
%147 = insertvalue %variant %146, i64 ptrtoint (ptr @"$ct.bool" to i64), 1
%148 = getelementptr inbounds [3 x %variant], ptr %varargslots62, i64 0, i64 2
@@ -364,8 +364,8 @@ entry:
%150 = getelementptr inbounds %Abc, ptr %y, i32 0, i32 1
%151 = load i64, ptr %150, align 8
%152 = and i64 4294967295, %151
%ztrunc73 = trunc i64 %152 to i32
store i32 %ztrunc73, ptr %taddr74, align 4
%trunc73 = trunc i64 %152 to i32
store i32 %trunc73, ptr %taddr74, align 4
%153 = insertvalue %variant undef, ptr %taddr74, 0
%154 = insertvalue %variant %153, i64 ptrtoint (ptr @"$ct.uint" to i64), 1
%155 = getelementptr inbounds [3 x %variant], ptr %varargslots72, i64 0, i64 0
@@ -374,8 +374,8 @@ entry:
%157 = load i64, ptr %156, align 8
%lshrl75 = lshr i64 %157, 32
%158 = and i64 2147483647, %lshrl75
%ztrunc76 = trunc i64 %158 to i32
store i32 %ztrunc76, ptr %taddr77, align 4
%trunc76 = trunc i64 %158 to i32
store i32 %trunc76, ptr %taddr77, align 4
%159 = insertvalue %variant undef, ptr %taddr77, 0
%160 = insertvalue %variant %159, i64 ptrtoint (ptr @"$ct.uint" to i64), 1
%161 = getelementptr inbounds [3 x %variant], ptr %varargslots72, i64 0, i64 1
@@ -384,8 +384,8 @@ entry:
%163 = load i64, ptr %162, align 8
%lshrl78 = lshr i64 %163, 63
%164 = and i64 1, %lshrl78
%ztrunc79 = trunc i64 %164 to i8
store i8 %ztrunc79, ptr %taddr80, align 1
%trunc79 = trunc i64 %164 to i8
store i8 %trunc79, ptr %taddr80, align 1
%165 = insertvalue %variant undef, ptr %taddr80, 0
%166 = insertvalue %variant %165, i64 ptrtoint (ptr @"$ct.bool" to i64), 1
%167 = getelementptr inbounds [3 x %variant], ptr %varargslots72, i64 0, i64 2

View File

@@ -74,32 +74,32 @@ entry:
%4 = load i64, ptr %xxy, align 8
%lshrl3 = lshr i64 %4, 5
%5 = and i64 262143, %lshrl3
%ztrunc = trunc i64 %5 to i32
%trunc = trunc i64 %5 to i32
%6 = load i64, ptr %xxy, align 8
%lshrl4 = lshr i64 %6, 23
%7 = and i64 262143, %lshrl4
%ztrunc5 = trunc i64 %7 to i32
%trunc5 = trunc i64 %7 to i32
%8 = load i64, ptr %xxy, align 8
%lshrl6 = lshr i64 %8, 41
%9 = and i64 2097151, %lshrl6
%ztrunc7 = trunc i64 %9 to i32
call void (ptr, ...) @printf(ptr @.str.3, i32 %ztrunc, i32 %ztrunc5, i32 %ztrunc7)
%trunc7 = trunc i64 %9 to i32
call void (ptr, ...) @printf(ptr @.str.3, i32 %trunc, i32 %trunc5, i32 %trunc7)
store i64 2292133196431502101, ptr %xxybe, align 8
%10 = load i64, ptr %xxybe, align 8
%11 = call i64 @llvm.bswap.i64(i64 %10)
%lshrl8 = lshr i64 %11, 5
%12 = and i64 262143, %lshrl8
%ztrunc9 = trunc i64 %12 to i32
%trunc9 = trunc i64 %12 to i32
%13 = load i64, ptr %xxybe, align 8
%14 = call i64 @llvm.bswap.i64(i64 %13)
%lshrl10 = lshr i64 %14, 23
%15 = and i64 262143, %lshrl10
%ztrunc11 = trunc i64 %15 to i32
%trunc11 = trunc i64 %15 to i32
%16 = load i64, ptr %xxybe, align 8
%17 = call i64 @llvm.bswap.i64(i64 %16)
%lshrl12 = lshr i64 %17, 41
%18 = and i64 2097151, %lshrl12
%ztrunc13 = trunc i64 %18 to i32
call void (ptr, ...) @printf(ptr @.str.4, i32 %ztrunc9, i32 %ztrunc11, i32 %ztrunc13)
%trunc13 = trunc i64 %18 to i32
call void (ptr, ...) @printf(ptr @.str.4, i32 %trunc9, i32 %trunc11, i32 %trunc13)
ret void
}

View File

@@ -95,8 +95,8 @@ entry:
store i32 %and, ptr %f3, align 4
%5 = load i32, ptr %f3, align 4
%6 = and i32 1, %5
%ztrunc = trunc i32 %6 to i8
store i8 %ztrunc, ptr %taddr, align 1
%trunc = trunc i32 %6 to i8
store i8 %trunc, ptr %taddr, align 1
%7 = insertvalue %variant undef, ptr %taddr, 0
%8 = insertvalue %variant %7, i64 ptrtoint (ptr @"$ct.bool" to i64), 1
%9 = getelementptr inbounds [2 x %variant], ptr %varargslots, i64 0, i64 0
@@ -104,8 +104,8 @@ entry:
%10 = load i32, ptr %f3, align 4
%lshrl = lshr i32 %10, 1
%11 = and i32 1, %lshrl
%ztrunc1 = trunc i32 %11 to i8
store i8 %ztrunc1, ptr %taddr2, align 1
%trunc1 = trunc i32 %11 to i8
store i8 %trunc1, ptr %taddr2, align 1
%12 = insertvalue %variant undef, ptr %taddr2, 0
%13 = insertvalue %variant %12, i64 ptrtoint (ptr @"$ct.bool" to i64), 1
%14 = getelementptr inbounds [2 x %variant], ptr %varargslots, i64 0, i64 1
@@ -120,8 +120,8 @@ entry:
store i32 %xor, ptr %f4, align 4
%19 = load i32, ptr %f4, align 4
%20 = and i32 1, %19
%ztrunc5 = trunc i32 %20 to i8
store i8 %ztrunc5, ptr %taddr6, align 1
%trunc5 = trunc i32 %20 to i8
store i8 %trunc5, ptr %taddr6, align 1
%21 = insertvalue %variant undef, ptr %taddr6, 0
%22 = insertvalue %variant %21, i64 ptrtoint (ptr @"$ct.bool" to i64), 1
%23 = getelementptr inbounds [2 x %variant], ptr %varargslots4, i64 0, i64 0
@@ -129,8 +129,8 @@ entry:
%24 = load i32, ptr %f4, align 4
%lshrl7 = lshr i32 %24, 1
%25 = and i32 1, %lshrl7
%ztrunc8 = trunc i32 %25 to i8
store i8 %ztrunc8, ptr %taddr9, align 1
%trunc8 = trunc i32 %25 to i8
store i8 %trunc8, ptr %taddr9, align 1
%26 = insertvalue %variant undef, ptr %taddr9, 0
%27 = insertvalue %variant %26, i64 ptrtoint (ptr @"$ct.bool" to i64), 1
%28 = getelementptr inbounds [2 x %variant], ptr %varargslots4, i64 0, i64 1
@@ -139,8 +139,8 @@ entry:
store i32 3, ptr %f5, align 4
%30 = load i32, ptr %f5, align 4
%31 = and i32 1, %30
%ztrunc12 = trunc i32 %31 to i8
store i8 %ztrunc12, ptr %taddr13, align 1
%trunc12 = trunc i32 %31 to i8
store i8 %trunc12, ptr %taddr13, align 1
%32 = insertvalue %variant undef, ptr %taddr13, 0
%33 = insertvalue %variant %32, i64 ptrtoint (ptr @"$ct.bool" to i64), 1
%34 = getelementptr inbounds [2 x %variant], ptr %varargslots11, i64 0, i64 0
@@ -148,8 +148,8 @@ entry:
%35 = load i32, ptr %f5, align 4
%lshrl14 = lshr i32 %35, 1
%36 = and i32 1, %lshrl14
%ztrunc15 = trunc i32 %36 to i8
store i8 %ztrunc15, ptr %taddr16, align 1
%trunc15 = trunc i32 %36 to i8
store i8 %trunc15, ptr %taddr16, align 1
%37 = insertvalue %variant undef, ptr %taddr16, 0
%38 = insertvalue %variant %37, i64 ptrtoint (ptr @"$ct.bool" to i64), 1
%39 = getelementptr inbounds [2 x %variant], ptr %varargslots11, i64 0, i64 1
@@ -161,8 +161,8 @@ entry:
store i32 %and17, ptr %f5, align 4
%43 = load i32, ptr %f5, align 4
%44 = and i32 1, %43
%ztrunc20 = trunc i32 %44 to i8
store i8 %ztrunc20, ptr %taddr21, align 1
%trunc20 = trunc i32 %44 to i8
store i8 %trunc20, ptr %taddr21, align 1
%45 = insertvalue %variant undef, ptr %taddr21, 0
%46 = insertvalue %variant %45, i64 ptrtoint (ptr @"$ct.bool" to i64), 1
%47 = getelementptr inbounds [2 x %variant], ptr %varargslots19, i64 0, i64 0
@@ -170,8 +170,8 @@ entry:
%48 = load i32, ptr %f5, align 4
%lshrl22 = lshr i32 %48, 1
%49 = and i32 1, %lshrl22
%ztrunc23 = trunc i32 %49 to i8
store i8 %ztrunc23, ptr %taddr24, align 1
%trunc23 = trunc i32 %49 to i8
store i8 %trunc23, ptr %taddr24, align 1
%50 = insertvalue %variant undef, ptr %taddr24, 0
%51 = insertvalue %variant %50, i64 ptrtoint (ptr @"$ct.bool" to i64), 1
%52 = getelementptr inbounds [2 x %variant], ptr %varargslots19, i64 0, i64 1