MC: Improve the .fill directive's compatibility with GAS
[oota-llvm.git] / test / MC / AsmParser / directive_fill.s
1 # RUN: llvm-mc -triple i386-unknown-unknown %s 2> %t.err | FileCheck %s
2 # RUN: FileCheck --check-prefix=CHECK-WARNINGS %s < %t.err
3
4 # CHECK: TEST0:
5 # CHECK: .byte 10
6 TEST0:  
7         .fill 1, 1, 10
8
9 # CHECK: TEST1:
10 # CHECK: .short 3
11 # CHECK: .short 3
12 TEST1:  
13         .fill 2, 2, 3
14
15 # CHECK: TEST2:
16 # CHECK: .quad 4
17 TEST2:  
18         .fill 1, 8, 4
19
20 # CHECK: TEST3
21 # CHECK: .byte 0
22 # CHECK: .byte 0
23 # CHECK: .byte 0
24 # CHECK: .byte 0
25 TEST3:
26         .fill 4
27
28 # CHECK: TEST4
29 # CHECK: .short 0
30 # CHECK: .short 0
31 # CHECK: .short 0
32 # CHECK: .short 0
33 TEST4:
34         .fill 4, 2
35
36 # CHECK: TEST5
37 # CHECK: .short  2
38 # CHECK: .byte   0
39 # CHECK: .short  2
40 # CHECK: .byte   0
41 # CHECK: .short  2
42 # CHECK: .byte   0
43 # CHECK: .short  2
44 # CHECK: .byte   0
45 TEST5:
46         .fill 4, 3, 2
47
48 # CHECK: TEST6
49 # CHECK: .long 2
50 # CHECK: .long 0
51 # CHECK-WARNINGS: '.fill' directive with size greater than 8 has been truncated to 8
52 TEST6:
53         .fill 1, 9, 2
54
55 # CHECK: TEST7
56 # CHECK: .long 0
57 # CHECK: .long 0
58 # CHECK-WARNINGS: '.fill' directive pattern has been truncated to 32-bits
59 TEST7:
60         .fill 1, 8, 1<<32
61
62 # CHECK-WARNINGS: '.fill' directive with negative repeat count has no effect
63 TEST8:
64         .fill -1, 8, 1
65
66 # CHECK-WARNINGS: '.fill' directive with negative size has no effect
67 TEST9:
68         .fill 1, -1, 1
69
70 # CHECK: TEST10
71 # CHECK: .short  22136
72 # CHECK: .byte   52
73 TEST10:
74         .fill 1, 3, 0x12345678