Remove old testsuite
[dyninst.git] / testsuite / src / dyninst / test6LS-sparc.S
1 .file "test6LS-sparc.S"
2
3 #define SA(x) (((x)+15)&(~0x1F))
4 #define MINFRAME ((16+1+6)*8)
5     
6 !!!!! Test 32-bit & 64-bit SPARCv9 mnemonics (without 64-bit constants)
7 !!!!! 64-bit mnemonics require -xarch=v8plus option, binary is still ELF32
8 !!!!! 64-constants (xword) require -xarch=v9, binary is ELF64 (unsupported)
9
10 .section ".data"
11     .global divarw
12     .global dfvars
13     .global dfvard
14     .global dfvarq
15     .align 4
16 divarw:
17     .word 1234, 5678
18 dfvars:
19     .single 0r1.25
20     .align 8
21 dfvard:
22     .double 0r1.125
23 dfvarq:
24     .quad 0r1e-99
25
26 .section ".bss"
27
28 .section ".text"
29     .global loadsnstores
30     .align 4
31
32 loadsnstores:
33         
34     save    %sp,-SA(MINFRAME),%sp
35
36     set     divarw,%l1
37     lduw    [%l1],%l2                   !a1
38 !    nop
39
40     mov     %g1, %l5    
41     mov     %l1, %g1
42     ldsb    [%g1+3],%l2                 !a2
43 !    nop
44     mov     %l5, %g1
45
46     mov     %g2, %l5
47     mov     %l1, %g2
48     lduh    [%g2+2],%l2                 !a3
49 !    nop
50     mov     %l5, %g2
51
52     ldx     [%l1],%l2                   !a4
53 !    nop
54     ldswa   [%l1]#ASI_P,%l2             !a5
55 !    nop
56     ldstub  [%l1+3],%l2
57 !    nop
58     ldub    [%l1+3],%l2
59
60     set     1944,%l2
61     cas     [%l1],%l2,%l3
62 !    nop
63     casx    [%l1],%l2,%l3
64 !    nop
65     swap    [%l1],%l2
66
67     set     dfvars,%l1
68     ld      [%l1],%f0
69 !    nop
70     ld      [%l1],%fsr      ! LDFSR
71     set     dfvard,%l1
72     ldd     [%l1],%f0
73 !    nop
74     ldd     [%l1],%fsr      ! LDXFSR
75     set     dfvarq,%l1
76     ldq     [%l1],%f0
77 !    nop
78
79     prefetch [%l1],2        ! #N_WRITES
80     set     dfvarq,%l4
81     prefetcha [%l4]#ASI_P,0 ! #N_READS 
82 !    nop
83
84     set     divarw,%l5
85     stb     %i0,[%l5+7]
86 !    nop
87     sth     %i1,[%l5+6]
88 !    nop
89     stw     %i2,[%l5+4]
90 !    nop
91     stx     %i0,[%l5]
92
93     set     dfvars,%l1
94     st      %f0,[%l1]
95 !    nop
96     set     dfvard,%l1
97     std     %f0,[%l1]
98 !    nop
99     set     dfvarq,%l2
100     stq     %f0,[%l2]
101 !    nop
102     set     divarw,%l5
103     st      %fsr,[%l5+4]    ! STFSR
104 !    nop
105     stx     %fsr,[%l5]      ! STXFSR    
106
107     add     %i0,%i1,%l7
108     add     %l7,%i2,%l7
109     ret
110     restore %l7,0,%o0
111
112 .type loadsnstores,#function
113 .size loadsnstores,.-loadsnstores