diff options
author | Dan Gohman <dan433584@gmail.com> | 2015-12-10 00:37:51 +0000 |
---|---|---|
committer | Dan Gohman <dan433584@gmail.com> | 2015-12-10 00:37:51 +0000 |
commit | dab313e0edc5ae10196d18dd5feafa6cf0ea5760 (patch) | |
tree | e17f2ac23c57a6b678e34912592a259891293073 /llvm/test/CodeGen/WebAssembly/conv.ll | |
parent | a8483755d37acf9468ec54ae66d4e720907cd264 (diff) | |
download | bcm5719-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.ll | 28 |
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 +} |