diff options
author | Stephen Hines <srhines@google.com> | 2014-12-01 14:51:49 -0800 |
---|---|---|
committer | Stephen Hines <srhines@google.com> | 2014-12-02 16:08:10 -0800 |
commit | 37ed9c199ca639565f6ce88105f9e39e898d82d0 (patch) | |
tree | 8fb36d3910e3ee4c4e1b7422f4f017108efc52f5 /test/CodeGen/AArch64/f16-convert.ll | |
parent | d2327b22152ced7bc46dc629fc908959e8a52d03 (diff) | |
download | external_llvm-37ed9c199ca639565f6ce88105f9e39e898d82d0.zip external_llvm-37ed9c199ca639565f6ce88105f9e39e898d82d0.tar.gz external_llvm-37ed9c199ca639565f6ce88105f9e39e898d82d0.tar.bz2 |
Update aosp/master LLVM for rebase to r222494.
Change-Id: Ic787f5e0124df789bd26f3f24680f45e678eef2d
Diffstat (limited to 'test/CodeGen/AArch64/f16-convert.ll')
-rw-r--r-- | test/CodeGen/AArch64/f16-convert.ll | 51 |
1 files changed, 24 insertions, 27 deletions
diff --git a/test/CodeGen/AArch64/f16-convert.ll b/test/CodeGen/AArch64/f16-convert.ll index 6fabdc5..12412d4 100644 --- a/test/CodeGen/AArch64/f16-convert.ll +++ b/test/CodeGen/AArch64/f16-convert.ll @@ -7,7 +7,7 @@ define float @load0(i16* nocapture readonly %a) nounwind { ; CHECK-NEXT: ret %tmp = load i16* %a, align 2 - %tmp1 = tail call float @llvm.convert.from.fp16(i16 %tmp) + %tmp1 = tail call float @llvm.convert.from.fp16.f32(i16 %tmp) ret float %tmp1 } @@ -18,8 +18,7 @@ define double @load1(i16* nocapture readonly %a) nounwind { ; CHECK-NEXT: ret %tmp = load i16* %a, align 2 - %tmp1 = tail call float @llvm.convert.from.fp16(i16 %tmp) - %conv = fpext float %tmp1 to double + %conv = tail call double @llvm.convert.from.fp16.f64(i16 %tmp) ret double %conv } @@ -32,7 +31,7 @@ define float @load2(i16* nocapture readonly %a, i32 %i) nounwind { %idxprom = sext i32 %i to i64 %arrayidx = getelementptr inbounds i16* %a, i64 %idxprom %tmp = load i16* %arrayidx, align 2 - %tmp1 = tail call float @llvm.convert.from.fp16(i16 %tmp) + %tmp1 = tail call float @llvm.convert.from.fp16.f32(i16 %tmp) ret float %tmp1 } @@ -45,8 +44,7 @@ define double @load3(i16* nocapture readonly %a, i32 %i) nounwind { %idxprom = sext i32 %i to i64 %arrayidx = getelementptr inbounds i16* %a, i64 %idxprom %tmp = load i16* %arrayidx, align 2 - %tmp1 = tail call float @llvm.convert.from.fp16(i16 %tmp) - %conv = fpext float %tmp1 to double + %conv = tail call double @llvm.convert.from.fp16.f64(i16 %tmp) ret double %conv } @@ -58,7 +56,7 @@ define float @load4(i16* nocapture readonly %a, i64 %i) nounwind { %arrayidx = getelementptr inbounds i16* %a, i64 %i %tmp = load i16* %arrayidx, align 2 - %tmp1 = tail call float @llvm.convert.from.fp16(i16 %tmp) + %tmp1 = tail call float @llvm.convert.from.fp16.f32(i16 %tmp) ret float %tmp1 } @@ -70,8 +68,7 @@ define double @load5(i16* nocapture readonly %a, i64 %i) nounwind { %arrayidx = getelementptr inbounds i16* %a, i64 %i %tmp = load i16* %arrayidx, align 2 - %tmp1 = tail call float @llvm.convert.from.fp16(i16 %tmp) - %conv = fpext float %tmp1 to double + %conv = tail call double @llvm.convert.from.fp16.f64(i16 %tmp) ret double %conv } @@ -83,7 +80,7 @@ define float @load6(i16* nocapture readonly %a) nounwind { %arrayidx = getelementptr inbounds i16* %a, i64 10 %tmp = load i16* %arrayidx, align 2 - %tmp1 = tail call float @llvm.convert.from.fp16(i16 %tmp) + %tmp1 = tail call float @llvm.convert.from.fp16.f32(i16 %tmp) ret float %tmp1 } @@ -95,8 +92,7 @@ define double @load7(i16* nocapture readonly %a) nounwind { %arrayidx = getelementptr inbounds i16* %a, i64 10 %tmp = load i16* %arrayidx, align 2 - %tmp1 = tail call float @llvm.convert.from.fp16(i16 %tmp) - %conv = fpext float %tmp1 to double + %conv = tail call double @llvm.convert.from.fp16.f64(i16 %tmp) ret double %conv } @@ -108,7 +104,7 @@ define float @load8(i16* nocapture readonly %a) nounwind { %arrayidx = getelementptr inbounds i16* %a, i64 -10 %tmp = load i16* %arrayidx, align 2 - %tmp1 = tail call float @llvm.convert.from.fp16(i16 %tmp) + %tmp1 = tail call float @llvm.convert.from.fp16.f32(i16 %tmp) ret float %tmp1 } @@ -120,8 +116,7 @@ define double @load9(i16* nocapture readonly %a) nounwind { %arrayidx = getelementptr inbounds i16* %a, i64 -10 %tmp = load i16* %arrayidx, align 2 - %tmp1 = tail call float @llvm.convert.from.fp16(i16 %tmp) - %conv = fpext float %tmp1 to double + %conv = tail call double @llvm.convert.from.fp16.f64(i16 %tmp) ret double %conv } @@ -131,7 +126,7 @@ define void @store0(i16* nocapture %a, float %val) nounwind { ; CHECK-NEXT: str h0, [x0] ; CHECK-NEXT: ret - %tmp = tail call i16 @llvm.convert.to.fp16(float %val) + %tmp = tail call i16 @llvm.convert.to.fp16.f32(float %val) store i16 %tmp, i16* %a, align 2 ret void } @@ -143,7 +138,7 @@ define void @store1(i16* nocapture %a, double %val) nounwind { ; CHECK-NEXT: ret %conv = fptrunc double %val to float - %tmp = tail call i16 @llvm.convert.to.fp16(float %conv) + %tmp = tail call i16 @llvm.convert.to.fp16.f32(float %conv) store i16 %tmp, i16* %a, align 2 ret void } @@ -154,7 +149,7 @@ define void @store2(i16* nocapture %a, i32 %i, float %val) nounwind { ; CHECK-NEXT: str h0, [x0, w1, sxtw #1] ; CHECK-NEXT: ret - %tmp = tail call i16 @llvm.convert.to.fp16(float %val) + %tmp = tail call i16 @llvm.convert.to.fp16.f32(float %val) %idxprom = sext i32 %i to i64 %arrayidx = getelementptr inbounds i16* %a, i64 %idxprom store i16 %tmp, i16* %arrayidx, align 2 @@ -168,7 +163,7 @@ define void @store3(i16* nocapture %a, i32 %i, double %val) nounwind { ; CHECK-NEXT: ret %conv = fptrunc double %val to float - %tmp = tail call i16 @llvm.convert.to.fp16(float %conv) + %tmp = tail call i16 @llvm.convert.to.fp16.f32(float %conv) %idxprom = sext i32 %i to i64 %arrayidx = getelementptr inbounds i16* %a, i64 %idxprom store i16 %tmp, i16* %arrayidx, align 2 @@ -181,7 +176,7 @@ define void @store4(i16* nocapture %a, i64 %i, float %val) nounwind { ; CHECK-NEXT: str h0, [x0, x1, lsl #1] ; CHECK-NEXT: ret - %tmp = tail call i16 @llvm.convert.to.fp16(float %val) + %tmp = tail call i16 @llvm.convert.to.fp16.f32(float %val) %arrayidx = getelementptr inbounds i16* %a, i64 %i store i16 %tmp, i16* %arrayidx, align 2 ret void @@ -194,7 +189,7 @@ define void @store5(i16* nocapture %a, i64 %i, double %val) nounwind { ; CHECK-NEXT: ret %conv = fptrunc double %val to float - %tmp = tail call i16 @llvm.convert.to.fp16(float %conv) + %tmp = tail call i16 @llvm.convert.to.fp16.f32(float %conv) %arrayidx = getelementptr inbounds i16* %a, i64 %i store i16 %tmp, i16* %arrayidx, align 2 ret void @@ -206,7 +201,7 @@ define void @store6(i16* nocapture %a, float %val) nounwind { ; CHECK-NEXT: str h0, [x0, #20] ; CHECK-NEXT: ret - %tmp = tail call i16 @llvm.convert.to.fp16(float %val) + %tmp = tail call i16 @llvm.convert.to.fp16.f32(float %val) %arrayidx = getelementptr inbounds i16* %a, i64 10 store i16 %tmp, i16* %arrayidx, align 2 ret void @@ -219,7 +214,7 @@ define void @store7(i16* nocapture %a, double %val) nounwind { ; CHECK-NEXT: ret %conv = fptrunc double %val to float - %tmp = tail call i16 @llvm.convert.to.fp16(float %conv) + %tmp = tail call i16 @llvm.convert.to.fp16.f32(float %conv) %arrayidx = getelementptr inbounds i16* %a, i64 10 store i16 %tmp, i16* %arrayidx, align 2 ret void @@ -231,7 +226,7 @@ define void @store8(i16* nocapture %a, float %val) nounwind { ; CHECK-NEXT: stur h0, [x0, #-20] ; CHECK-NEXT: ret - %tmp = tail call i16 @llvm.convert.to.fp16(float %val) + %tmp = tail call i16 @llvm.convert.to.fp16.f32(float %val) %arrayidx = getelementptr inbounds i16* %a, i64 -10 store i16 %tmp, i16* %arrayidx, align 2 ret void @@ -244,11 +239,13 @@ define void @store9(i16* nocapture %a, double %val) nounwind { ; CHECK-NEXT: ret %conv = fptrunc double %val to float - %tmp = tail call i16 @llvm.convert.to.fp16(float %conv) + %tmp = tail call i16 @llvm.convert.to.fp16.f32(float %conv) %arrayidx = getelementptr inbounds i16* %a, i64 -10 store i16 %tmp, i16* %arrayidx, align 2 ret void } -declare i16 @llvm.convert.to.fp16(float) nounwind readnone -declare float @llvm.convert.from.fp16(i16) nounwind readnone +declare i16 @llvm.convert.to.fp16.f32(float) nounwind readnone +declare float @llvm.convert.from.fp16.f32(i16) nounwind readnone +declare i16 @llvm.convert.to.fp16.f64(double) nounwind readnone +declare double @llvm.convert.from.fp16.f64(i16) nounwind readnone |