directive_fill.s
1.67 KB
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
79
# RUN: llvm-mc -triple i386-unknown-unknown %s 2> %t.err | FileCheck %s
# RUN: FileCheck --check-prefix=CHECK-WARNINGS %s < %t.err
# RUN: not llvm-mc -triple i386-unknown-unknown -filetype=obj -o %t.o %s 2> %t.err2
# RUN: FileCheck --check-prefix=OBJ-ERRS %s < %t.err2
# CHECK: TEST0:
# CHECK: .fill 1, 1, 0xa
TEST0:
.fill 1, 1, 10
# CHECK: TEST1:
# CHECK: .fill 2, 2, 0x3
TEST1:
.fill 2, 2, 3
# CHECK: TEST2:
# CHECK: .fill 1, 8, 0x4
TEST2:
.fill 1, 8, 4
# CHECK: TEST3
# CHECK: .fill 4
TEST3:
.fill 4
# CHECK: TEST4
# CHECK: .fill 4, 2
TEST4:
.fill 4, 2
# CHECK: TEST5
# CHECK: .fill 4, 3, 0x2
TEST5:
.fill 4, 3, 2
# CHECK: TEST6
# CHECK: .fill 1, 8, 0x2
# CHECK-WARNINGS: '.fill' directive with size greater than 8 has been truncated to 8
TEST6:
.fill 1, 9, 2
# CHECK: TEST7
# CHECK: .fill 1, 8, 0x0
# CHECK-WARNINGS: '.fill' directive pattern has been truncated to 32-bits
TEST7:
.fill 1, 8, 1<<32
# CHECK: TEST8
# CHECK: .fill -1, 8, 0x1
# OBJ-ERRS: '.fill' directive with negative repeat count has no effect
TEST8:
.fill -1, 8, 1
# CHECK-WARNINGS: '.fill' directive with negative size has no effect
TEST9:
.fill 1, -1, 1
# CHECK: TEST10
# CHECK: .fill 1, 3, 0x12345678
TEST10:
.fill 1, 3, 0x12345678
# CHECK: TEST11
# CHECK: .fill TEST11-TEST10, 1, 0x0
TEST11:
.fill TEST11 - TEST10
# CHECK: TEST12
# CHECK: .fill TEST11-TEST12, 4, 0x12345678
# OBJ-ERRS: '.fill' directive with negative repeat count has no effect
TEST12:
.fill TEST11 - TEST12, 4, 0x12345678
# CHECK: TEST13
# CHECK: .fill (TEST11-TEST12)+i, 4, 0x12345678
# OBJ-ERRS: [[@LINE+2]]:8: error: expected assembly-time absolute expression
TEST13:
.fill TEST11 - TEST12+i, 4, 0x12345678