summaryrefslogtreecommitdiff
path: root/tests/cris/check_lapc.s
blob: 9a6150b749eadc2f804ca251f9c154669f557724 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
# mach: crisv32
# output: 0\n0\nfffffffa\nfffffffe\nffffffda\n1e\n1e\n0\n

.include "testutils.inc"

; To accommodate dumpr3 with more than one instruction, keep it
; out of lapc operand ranges and difference calculations.

 start
 lapc.d 0f,r3
0:
 sub.d .,r3
 checkr3 0

 lapcq 0f,r3
0:
 sub.d .,r3
 checkr3 0

 lapc.d .,r3
 sub.d .,r3
 checkr3 fffffffa

 lapcq .,r3
 sub.d .,r3
 checkr3 fffffffe

0:
 .rept 16
 nop
 .endr
 lapc.d 0b,r3
 sub.d .,r3
 checkr3 ffffffda

 setf zcvn
 lapc.d 0f,r3
 test_cc 1 1 1 1
 sub.d .,r3
 nop
 nop
 nop
 nop
 nop
 nop
 nop
 nop
 nop
 nop
 nop
 nop
0:
 checkr3 1e
0:
 lapcq 0f,r3
 sub.d 0b,r3
 nop
 nop
 nop
 nop
 nop
 nop
 nop
 nop
 nop
 nop
 nop
0:
 checkr3 1e
 clearf cn
 setf zv
1:
 lapcq .,r3
 test_cc 0 1 1 0
 sub.d 1b,r3
 checkr3 0

 quit