OLD | NEW |
1 ; This is a smoke test of nop insertion. | 1 ; This is a smoke test of nop insertion. |
2 | 2 |
3 ; REQUIRES: allow_dump | 3 ; REQUIRES: allow_dump |
4 | 4 |
5 ; Use filetype=asm because this currently depends on the # variant | 5 ; Use filetype=asm because this currently depends on the # variant |
6 ; assembler comment. | 6 ; assembler comment. |
7 | 7 |
8 ; RUN: %p2i -i %s --filetype=asm -a -sz-seed=1 -nop-insertion \ | 8 ; RUN: %p2i -i %s --filetype=asm -a -sz-seed=1 -nop-insertion \ |
9 ; RUN: -nop-insertion-percentage=50 -max-nops-per-instruction=1 \ | 9 ; RUN: -nop-insertion-percentage=50 -max-nops-per-instruction=1 \ |
10 ; RUN: | FileCheck %s --check-prefix=PROB50 | 10 ; RUN: | FileCheck %s --check-prefix=PROB50 |
11 ; RUN: %p2i -i %s --filetype=asm -a -sz-seed=1 -nop-insertion \ | 11 ; RUN: %p2i -i %s --filetype=asm -a -sz-seed=1 -nop-insertion \ |
12 ; RUN: -nop-insertion-percentage=90 -max-nops-per-instruction=1 \ | 12 ; RUN: -nop-insertion-percentage=90 -max-nops-per-instruction=1 \ |
13 ; RUN: | FileCheck %s --check-prefix=PROB90 | 13 ; RUN: | FileCheck %s --check-prefix=PROB90 |
14 ; RUN: %p2i -i %s --filetype=asm -a -sz-seed=1 -nop-insertion \ | 14 ; RUN: %p2i -i %s --filetype=asm -a -sz-seed=1 -nop-insertion \ |
15 ; RUN: -nop-insertion-percentage=50 -max-nops-per-instruction=2 \ | 15 ; RUN: -nop-insertion-percentage=50 -max-nops-per-instruction=2 \ |
16 ; RUN: | FileCheck %s --check-prefix=MAXNOPS2 | 16 ; RUN: | FileCheck %s --check-prefix=MAXNOPS2 |
17 ; RUN: %p2i -i %s --filetype=asm -a -sz-seed=1 -nop-insertion -sandbox\ | 17 ; RUN: %p2i -i %s --filetype=asm -a -sz-seed=1 -nop-insertion -sandbox\ |
18 ; RUN: -nop-insertion-percentage=50 -max-nops-per-instruction=1 \ | 18 ; RUN: -nop-insertion-percentage=50 -max-nops-per-instruction=1 \ |
19 ; RUN: | FileCheck %s --check-prefix=SANDBOX50 | 19 ; RUN: | FileCheck %s --check-prefix=SANDBOX50 |
20 | 20 |
21 | 21 |
22 define <4 x i32> @mul_v4i32(<4 x i32> %a, <4 x i32> %b) { | 22 define internal <4 x i32> @mul_v4i32(<4 x i32> %a, <4 x i32> %b) { |
23 entry: | 23 entry: |
24 %res = mul <4 x i32> %a, %b | 24 %res = mul <4 x i32> %a, %b |
25 ret <4 x i32> %res | 25 ret <4 x i32> %res |
26 | 26 |
27 ; PROB50-LABEL: mul_v4i32 | 27 ; PROB50-LABEL: mul_v4i32 |
28 ; PROB50: nop # variant = 1 | 28 ; PROB50: nop # variant = 1 |
29 ; PROB50: subl $60, %esp | 29 ; PROB50: subl $60, %esp |
30 ; PROB50: nop # variant = 3 | 30 ; PROB50: nop # variant = 3 |
31 ; PROB50: movups %xmm0, 32(%esp) | 31 ; PROB50: movups %xmm0, 32(%esp) |
32 ; PROB50: movups %xmm1, 16(%esp) | 32 ; PROB50: movups %xmm1, 16(%esp) |
(...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
131 ; SANDBOX50: movups %xmm0, (%esp) | 131 ; SANDBOX50: movups %xmm0, (%esp) |
132 ; SANDBOX50: movups (%esp), %xmm0 | 132 ; SANDBOX50: movups (%esp), %xmm0 |
133 ; SANDBOX50: addl $60, %esp | 133 ; SANDBOX50: addl $60, %esp |
134 ; SANDBOX50: pop %ecx | 134 ; SANDBOX50: pop %ecx |
135 ; SANDBOX50: .bundle_lock | 135 ; SANDBOX50: .bundle_lock |
136 ; SANDBOX50: andl $-32, %ecx | 136 ; SANDBOX50: andl $-32, %ecx |
137 ; SANDBOX50: jmp *%ecx | 137 ; SANDBOX50: jmp *%ecx |
138 ; SANDBOX50: .bundle_unlock | 138 ; SANDBOX50: .bundle_unlock |
139 | 139 |
140 } | 140 } |
OLD | NEW |