summaryrefslogtreecommitdiffstats
path: root/llvm/test/CodeGen/WebAssembly/conv.ll
diff options
context:
space:
mode:
authorDan Gohman <dan433584@gmail.com>2015-12-10 00:37:51 +0000
committerDan Gohman <dan433584@gmail.com>2015-12-10 00:37:51 +0000
commitdab313e0edc5ae10196d18dd5feafa6cf0ea5760 (patch)
treee17f2ac23c57a6b678e34912592a259891293073 /llvm/test/CodeGen/WebAssembly/conv.ll
parenta8483755d37acf9468ec54ae66d4e720907cd264 (diff)
downloadbcm5719-llvm-dab313e0edc5ae10196d18dd5feafa6cf0ea5760.tar.gz
bcm5719-llvm-dab313e0edc5ae10196d18dd5feafa6cf0ea5760.zip
PeepholeOptimizer: Ignore dead implicit defs
Target-specific instructions may have uninteresting physreg clobbers, for target-specific reasons. The peephole pass doesn't need to concern itself with such defs, as long as they're implicit and marked as dead. llvm-svn: 255182
Diffstat (limited to 'llvm/test/CodeGen/WebAssembly/conv.ll')
-rw-r--r--llvm/test/CodeGen/WebAssembly/conv.ll28
1 files changed, 28 insertions, 0 deletions
diff --git a/llvm/test/CodeGen/WebAssembly/conv.ll b/llvm/test/CodeGen/WebAssembly/conv.ll
index 76fa38090a1..e1acaca2c9e 100644
--- a/llvm/test/CodeGen/WebAssembly/conv.ll
+++ b/llvm/test/CodeGen/WebAssembly/conv.ll
@@ -225,3 +225,31 @@ define i64 @anyext(i32 %x) {
%w = shl i64 %y, 32
ret i64 %w
}
+
+; CHECK-LABEL: bitcast_i32_to_float:
+; CHECK: f32.reinterpret/i32 $push0=, $0{{$}}
+define float @bitcast_i32_to_float(i32 %a) {
+ %t = bitcast i32 %a to float
+ ret float %t
+}
+
+; CHECK-LABEL: bitcast_float_to_i32:
+; CHECK: i32.reinterpret/f32 $push0=, $0{{$}}
+define i32 @bitcast_float_to_i32(float %a) {
+ %t = bitcast float %a to i32
+ ret i32 %t
+}
+
+; CHECK-LABEL: bitcast_i64_to_double:
+; CHECK: f64.reinterpret/i64 $push0=, $0{{$}}
+define double @bitcast_i64_to_double(i64 %a) {
+ %t = bitcast i64 %a to double
+ ret double %t
+}
+
+; CHECK-LABEL: bitcast_double_to_i64:
+; CHECK: i64.reinterpret/f64 $push0=, $0{{$}}
+define i64 @bitcast_double_to_i64(double %a) {
+ %t = bitcast double %a to i64
+ ret i64 %t
+}
OpenPOWER on IntegriCloud