* src/vm/jit/arm/codegen.c: removed unused ICMD_GETSTATIC branch
[cacao.git] / tests / regression / jasmin / test_dup2_x1.j
1 .class public test_dup2_x1
2 .super java/lang/Object
3
4 ; ======================================================================
5
6 .method public <init>()V
7    aload_0
8    invokenonvirtual java/lang/Object/<init>()V
9    return
10 .end method
11
12 ; ======================================================================
13
14 .method public static checkI(I)V
15         .limit locals 1
16         .limit stack 10
17         getstatic java/lang/System/out Ljava/io/PrintStream;
18         iload_0
19         invokevirtual java/io/PrintStream/println(I)V
20         return
21 .end method
22
23 ; ======================================================================
24
25 .method public static main([Ljava/lang/String;)V
26         .limit stack 6
27         .limit locals 2
28
29         ldc 35
30         istore 1
31
32         ldc 1032
33         ldc 1091
34         ldc 1047
35
36         aload 0
37         ifnull force_basic_block_boundary
38
39         ; --------------------------------------------------
40
41         dup2_x1 ; 1091 1047 1032 1091 1047
42
43         aload 0
44         ifnull force_basic_block_boundary2
45
46         ; --------------------------------------------------
47
48         isub
49         invokestatic test_dup2_x1/checkI(I)V
50         ; OUTPUT: 44
51         isub
52         invokestatic test_dup2_x1/checkI(I)V
53         ; OUTPUT:  15
54         invokestatic test_dup2_x1/checkI(I)V
55         ; OUTPUT:  1091
56
57         ldc 32
58         ldc 91
59         ldc 47
60         dup2_x1 ; 91 47 32 91 47
61         isub
62         invokestatic test_dup2_x1/checkI(I)V
63         ; OUTPUT: 44
64         isub
65         invokestatic test_dup2_x1/checkI(I)V
66         ; OUTPUT:  15
67         invokestatic test_dup2_x1/checkI(I)V
68         ; OUTPUT:  91
69
70         return
71
72         ; --------------------------------------------------
73
74 force_basic_block_boundary:
75         return
76
77 force_basic_block_boundary2:
78         return
79
80 .end method