OLD | NEW |
---|---|
1 ; Test that functions are aligned to the NaCl bundle alignment. | 1 ; Test that functions are aligned to the NaCl bundle alignment. |
2 ; We could be smarter and only do this for indirect call targets | 2 ; We could be smarter and only do this for indirect call targets |
3 ; but typically you want to align functions anyway. | 3 ; but typically you want to align functions anyway. |
4 ; Also, we are currently using hlts for non-executable padding. | 4 ; Also, we are currently using hlts for non-executable padding. |
5 | 5 |
6 ; RUN: %p2i --filetype=obj --disassemble -i %s --args -O2 | FileCheck %s | 6 ; RUN: %p2i --filetype=obj --disassemble -i %s --args -O2 | FileCheck %s |
7 ; TODO(jvoung): Stop skipping unimplemented parts (via allow-error-recovery) | |
8 ; once enough infrastructure is in. Also, switch to --filetype=obj | |
9 ; when possible. | |
10 ; RUN: %if --need=target_ARM32 --command %p2i --filetype=asm --assemble \ | |
11 ; RUN: --disassemble --target arm32 -i %s --args -O2 --skip-unimplemented \ | |
12 ; RUN: | %if --need=target_ARM32 --command FileCheck --check-prefix ARM32 %s | |
7 | 13 |
8 define void @foo() { | 14 define void @foo() { |
9 ret void | 15 ret void |
10 } | 16 } |
11 ; CHECK-LABEL: foo | 17 ; CHECK-LABEL: foo |
12 ; CHECK-NEXT: 0: {{.*}} ret | 18 ; CHECK-NEXT: 0: {{.*}} ret |
13 ; CHECK-NEXT: 1: {{.*}} hlt | 19 ; CHECK-NEXT: 1: {{.*}} hlt |
20 ; ARM32-LABEL: foo | |
21 ; ARM32-NEXT: 0: {{.*}} bx lr | |
22 ; ARM32-NEXT: 4: e7fedef0 udf | |
23 ; ARM32-NEXT: 8: e7fedef0 udf | |
Jim Stichnoth
2015/05/11 20:12:32
; ARM32-NEXT: c: e7fedef0 udf
?
jvoung (off chromium)
2015/05/11 22:11:51
Done.
| |
14 | 24 |
15 define void @bar() { | 25 define void @bar() { |
16 ret void | 26 ret void |
17 } | 27 } |
18 ; CHECK-LABEL: bar | 28 ; CHECK-LABEL: bar |
19 ; CHECK-NEXT: 20: {{.*}} ret | 29 ; CHECK-NEXT: 20: {{.*}} ret |
30 ; ARM32-LABEL: bar | |
31 ; ARM32-NEXT: 10: {{.*}} bx lr | |
OLD | NEW |