18a9cb242SWouter van Oortmerssen; RUN: llc < %s -asm-verbose=false -disable-wasm-fallthrough-return-opt -wasm-disable-explicit-locals -wasm-keep-registers -verify-machineinstrs | FileCheck %s
225d2a0ddSDan Gohman
325d2a0ddSDan Gohman; Test that phis are lowered.
425d2a0ddSDan Gohman
5a5908009SSam Cleggtarget triple = "wasm32-unknown-unknown"
625d2a0ddSDan Gohman
74f52e00eSDan Gohman; Basic phi triangle.
84f52e00eSDan Gohman
9e51c058eSDan Gohman; CHECK-LABEL: test0:
10ef9d6aeaSHeejin Ahn; CHECK: div_s $[[NUM0:[0-9]+]]=, $0, $pop[[NUM1:[0-9]+]]{{$}}
11ef9d6aeaSHeejin Ahn; CHECK: return $[[NUM0]]{{$}}
1225d2a0ddSDan Gohmandefine i32 @test0(i32 %p) {
1325d2a0ddSDan Gohmanentry:
1425d2a0ddSDan Gohman  %t = icmp slt i32 %p, 0
1525d2a0ddSDan Gohman  br i1 %t, label %true, label %done
1625d2a0ddSDan Gohmantrue:
1725d2a0ddSDan Gohman  %a = sdiv i32 %p, 3
1825d2a0ddSDan Gohman  br label %done
1925d2a0ddSDan Gohmandone:
2025d2a0ddSDan Gohman  %s = phi i32 [ %a, %true ], [ %p, %entry ]
2125d2a0ddSDan Gohman  ret i32 %s
2225d2a0ddSDan Gohman}
234f52e00eSDan Gohman
244f52e00eSDan Gohman; Swap phis.
254f52e00eSDan Gohman
26e51c058eSDan Gohman; CHECK-LABEL: test1:
27*ace7a086SHeejin Ahn; CHECK: .LBB{{[0-9]+}}_1:
286a87ddacSThomas Lively; CHECK: local.copy $[[NUM0:[0-9]+]]=, $[[NUM1:[0-9]+]]{{$}}
296a87ddacSThomas Lively; CHECK: local.copy $[[NUM1]]=, $[[NUM2:[0-9]+]]{{$}}
306a87ddacSThomas Lively; CHECK: local.copy $[[NUM2]]=, $[[NUM0]]{{$}}
314f52e00eSDan Gohmandefine i32 @test1(i32 %n) {
324f52e00eSDan Gohmanentry:
334f52e00eSDan Gohman  br label %loop
344f52e00eSDan Gohman
354f52e00eSDan Gohmanloop:
364f52e00eSDan Gohman  %a = phi i32 [ 0, %entry ], [ %b, %loop ]
374f52e00eSDan Gohman  %b = phi i32 [ 1, %entry ], [ %a, %loop ]
384f52e00eSDan Gohman  %i = phi i32 [ 0, %entry ], [ %i.next, %loop ]
394f52e00eSDan Gohman
404f52e00eSDan Gohman  %i.next = add i32 %i, 1
414f52e00eSDan Gohman  %t = icmp slt i32 %i.next, %n
424f52e00eSDan Gohman  br i1 %t, label %loop, label %exit
434f52e00eSDan Gohman
444f52e00eSDan Gohmanexit:
454f52e00eSDan Gohman  ret i32 %a
464f52e00eSDan Gohman}
47