Skip to content

Commit 6018887

Browse files
committed
add test case
1 parent d776d4e commit 6018887

File tree

1 file changed

+111
-0
lines changed

1 file changed

+111
-0
lines changed
Lines changed: 111 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,111 @@
1+
; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 3
2+
; RUN: llc -verify-machineinstrs -mtriple=powerpc-ibm-aix < %s | FileCheck --check-prefix=AIX-32 %s
3+
; RUN: llc -verify-machineinstrs -mtriple=powerpc64-ibm-aix < %s | FileCheck --check-prefix=AIX-64 %s
4+
5+
define hidden fastcc i32 @k(i32 %a, i32 %b) {
6+
; AIX-32-LABEL: k:
7+
; AIX-32: # %bb.0: # %entry
8+
; AIX-32-NEXT: add 3, 3, 4
9+
; AIX-32-NEXT: blr
10+
;
11+
; AIX-64-LABEL: k:
12+
; AIX-64: # %bb.0: # %entry
13+
; AIX-64-NEXT: add 3, 3, 4
14+
; AIX-64-NEXT: blr
15+
entry:
16+
%c = add i32 %a, %b
17+
ret i32 %c
18+
}
19+
20+
define hidden fastcc i32 @ff(i32 %a) {
21+
; AIX-32-LABEL: ff:
22+
; AIX-32: # %bb.0: # %entry
23+
; AIX-32-NEXT: blr
24+
;
25+
; AIX-64-LABEL: ff:
26+
; AIX-64: # %bb.0: # %entry
27+
; AIX-64-NEXT: blr
28+
entry:
29+
ret i32 %a
30+
}
31+
32+
define fastcc i32 @f(i32 %a, i32 %b) {
33+
; AIX-32-LABEL: f:
34+
; AIX-32: # %bb.0: # %entry
35+
; AIX-32-NEXT: b .ff
36+
; AIX-32-NEXT: #TC_RETURNd .ff 0
37+
;
38+
; AIX-64-LABEL: f:
39+
; AIX-64: # %bb.0: # %entry
40+
; AIX-64-NEXT: clrldi 3, 3, 32
41+
; AIX-64-NEXT: b .ff
42+
; AIX-64-NEXT: #TC_RETURNd8 .ff 0
43+
entry:
44+
%r = tail call fastcc i32 @ff(i32 %a)
45+
ret i32 %r
46+
}
47+
48+
define fastcc i32 @kk(i32 %a) {
49+
; AIX-32-LABEL: kk:
50+
; AIX-32: # %bb.0: # %entry
51+
; AIX-32-NEXT: li 4, 1024
52+
; AIX-32-NEXT: b .k
53+
; AIX-32-NEXT: #TC_RETURNd .k 0
54+
;
55+
; AIX-64-LABEL: kk:
56+
; AIX-64: # %bb.0: # %entry
57+
; AIX-64-NEXT: clrldi 3, 3, 32
58+
; AIX-64-NEXT: li 4, 1024
59+
; AIX-64-NEXT: b .k
60+
; AIX-64-NEXT: #TC_RETURNd8 .k 0
61+
entry:
62+
%r = tail call fastcc i32 @k(i32 %a, i32 1024)
63+
ret i32 %r
64+
}
65+
66+
define fastcc i32 @g(i32 %a) {
67+
; AIX-32-LABEL: g:
68+
; AIX-32: # %bb.0: # %entry
69+
; AIX-32-NEXT: b .ff
70+
; AIX-32-NEXT: #TC_RETURNd .ff 0
71+
;
72+
; AIX-64-LABEL: g:
73+
; AIX-64: # %bb.0: # %entry
74+
; AIX-64-NEXT: clrldi 3, 3, 32
75+
; AIX-64-NEXT: b .ff
76+
; AIX-64-NEXT: #TC_RETURNd8 .ff 0
77+
entry:
78+
%r = tail call fastcc i32 @ff(i32 %a)
79+
ret i32 %r
80+
}
81+
82+
define fastcc i32 @gg(i32 %a) {
83+
; AIX-32-LABEL: gg:
84+
; AIX-32: # %bb.0: # %entry
85+
; AIX-32-NEXT: mflr 0
86+
; AIX-32-NEXT: stwu 1, -64(1)
87+
; AIX-32-NEXT: stw 0, 72(1)
88+
; AIX-32-NEXT: bl .ff
89+
; AIX-32-NEXT: addi 3, 3, 1
90+
; AIX-32-NEXT: addi 1, 1, 64
91+
; AIX-32-NEXT: lwz 0, 8(1)
92+
; AIX-32-NEXT: mtlr 0
93+
; AIX-32-NEXT: blr
94+
;
95+
; AIX-64-LABEL: gg:
96+
; AIX-64: # %bb.0: # %entry
97+
; AIX-64-NEXT: mflr 0
98+
; AIX-64-NEXT: stdu 1, -112(1)
99+
; AIX-64-NEXT: clrldi 3, 3, 32
100+
; AIX-64-NEXT: std 0, 128(1)
101+
; AIX-64-NEXT: bl .ff
102+
; AIX-64-NEXT: addi 3, 3, 1
103+
; AIX-64-NEXT: addi 1, 1, 112
104+
; AIX-64-NEXT: ld 0, 16(1)
105+
; AIX-64-NEXT: mtlr 0
106+
; AIX-64-NEXT: blr
107+
entry:
108+
%r = tail call fastcc i32 @ff(i32 %a)
109+
%r.0 = add i32 %r, 1
110+
ret i32 %r.0
111+
}

0 commit comments

Comments
 (0)