This commit was manufactured by cvs2svn to create branch 'binutils-
[external/binutils.git] / gas / testsuite / gas / i386 / bundle-lock.s
1         .bundle_align_mode 5
2
3 # We use these macros to test each pattern at every offset from
4 # bundle alignment, i.e. [0,31].
5
6 .macro offset_sequence size, offset
7         .p2align 5
8 sequence_\size\()_offset_\offset\():
9         .if \offset
10         .space \offset, 0xf4
11         .endif
12         test_sequence \size
13 .endm
14
15 .macro test_offsets size
16         offset_sequence \size, 0
17         offset_sequence \size, 1
18         offset_sequence \size, 2
19         offset_sequence \size, 3
20         offset_sequence \size, 4
21         offset_sequence \size, 5
22         offset_sequence \size, 6
23         offset_sequence \size, 7
24         offset_sequence \size, 8
25         offset_sequence \size, 9
26         offset_sequence \size, 10
27         offset_sequence \size, 11
28         offset_sequence \size, 12
29         offset_sequence \size, 13
30         offset_sequence \size, 14
31         offset_sequence \size, 15
32         offset_sequence \size, 16
33         offset_sequence \size, 17
34         offset_sequence \size, 18
35         offset_sequence \size, 19
36         offset_sequence \size, 20
37         offset_sequence \size, 21
38         offset_sequence \size, 22
39         offset_sequence \size, 23
40         offset_sequence \size, 24
41         offset_sequence \size, 25
42         offset_sequence \size, 26
43         offset_sequence \size, 27
44         offset_sequence \size, 28
45         offset_sequence \size, 29
46         offset_sequence \size, 30
47         offset_sequence \size, 31
48 .endm
49
50 .macro test_sequence size
51         .bundle_lock
52         clc
53         .rept \size - 1
54         cld
55         .endr
56         .bundle_unlock
57 .endm
58
59         test_offsets 1
60         test_offsets 2
61         test_offsets 3
62         test_offsets 4
63         test_offsets 5
64         test_offsets 6
65         test_offsets 7
66         test_offsets 8
67         test_offsets 9
68         test_offsets 10
69         test_offsets 11
70         test_offsets 12
71         test_offsets 13
72         test_offsets 14
73         test_offsets 15
74         test_offsets 16
75         test_offsets 17
76         test_offsets 18
77         test_offsets 19
78         test_offsets 20
79         test_offsets 21
80         test_offsets 22
81         test_offsets 23
82         test_offsets 24
83         test_offsets 25
84         test_offsets 26
85         test_offsets 27
86         test_offsets 28
87         test_offsets 29
88         test_offsets 30
89         test_offsets 31
90         test_offsets 32
91
92 .p2align 5
93         # Nested .bundle_lock.
94         .bundle_lock
95         clc
96         .bundle_lock
97         cld
98         .bundle_unlock
99         clc
100         .bundle_unlock
101
102 .p2align 5
103         hlt