Fixed some bugs in register stack pass.
[llvm/zpu.git] / test / CodeGen / SystemZ / 08-DivRemMemOp.ll
blobd6ec0e7440ac14804165703686bd5d5d3c9de569
1 ; RUN: llc < %s | grep {dsgf.%} | count 2
2 ; RUN: llc < %s | grep {dsg.%}  | count 2
3 ; RUN: llc < %s | grep {dl.%}   | count 2
4 ; RUN: llc < %s | grep dlg      | count 2
6 target datalayout = "E-p:64:64:64-i1:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-f128:128:128"
7 target triple = "s390x-unknown-linux-gnu"
9 define i64 @div(i64 %a, i64* %b) nounwind readnone {
10 entry:
11         %b1 = load i64* %b
12         %div = sdiv i64 %a, %b1
13         ret i64 %div
16 define i64 @div1(i64 %a, i64* %b) nounwind readnone {
17 entry:
18         %b1 = load i64* %b
19         %div = udiv i64 %a, %b1
20         ret i64 %div
23 define i64 @rem(i64 %a, i64* %b) nounwind readnone {
24 entry:
25         %b1 = load i64* %b
26         %div = srem i64 %a, %b1
27         ret i64 %div
30 define i64 @rem1(i64 %a, i64* %b) nounwind readnone {
31 entry:
32         %b1 = load i64* %b
33         %div = urem i64 %a, %b1
34         ret i64 %div
37 define i32 @div2(i32 %a, i32* %b) nounwind readnone {
38 entry:
39         %b1 = load i32* %b
40         %div = sdiv i32 %a, %b1
41         ret i32 %div
44 define i32 @div3(i32 %a, i32* %b) nounwind readnone {
45 entry:
46         %b1 = load i32* %b
47         %div = udiv i32 %a, %b1
48         ret i32 %div
51 define i32 @rem2(i32 %a, i32* %b) nounwind readnone {
52 entry:
53         %b1 = load i32* %b
54         %div = srem i32 %a, %b1
55         ret i32 %div
58 define i32 @rem3(i32 %a, i32* %b) nounwind readnone {
59 entry:
60         %b1 = load i32* %b
61         %div = urem i32 %a, %b1
62         ret i32 %div