[PowerPC][NFC] Add test for D60506 to show differences in code-gen
[llvm-core.git] / test / CodeGen / PowerPC / ppc-passname.ll
blob38bf60cdf90a605d6bad37508661f564f09c78c5
1 ; Test pass name: ppc-ctr-loops.
2 ; RUN: llc -mtriple=powerpc64le-unknown-unknown < %s -debug-pass=Structure -stop-before=ppc-ctr-loops -o /dev/null 2>&1 | FileCheck %s -check-prefix=STOP-BEFORE-CTR-LOOPS
3 ; STOP-BEFORE-CTR-LOOPS-NOT: -ppc-ctr-loops
4 ; STOP-BEFORE-CTR-LOOPS-NOT: "ppc-ctr-loops" pass is not registered.
5 ; STOP-BEFORE-CTR-LOOPS-NOT: PowerPC CTR Loops 
7 ; RUN: llc -mtriple=powerpc64le-unknown-unknown < %s -debug-pass=Structure -stop-after=ppc-ctr-loops -o /dev/null 2>&1 | FileCheck %s -check-prefix=STOP-AFTER-CTR-LOOPS
8 ; STOP-AFTER-CTR-LOOPS: -ppc-ctr-loops
9 ; STOP-AFTER-CTR-LOOPS-NOT: "ppc-ctr-loops" pass is not registered.
10 ; STOP-AFTER-CTR-LOOPS: PowerPC CTR Loops 
13 ; Test pass name: ppc-loop-preinc-prep.
14 ; RUN: llc -mtriple=powerpc64le-unknown-unknown < %s -debug-pass=Structure -stop-before=ppc-loop-preinc-prep -o /dev/null 2>&1 | FileCheck %s -check-prefix=STOP-BEFORE-LOOP-PREINC-PREP
15 ; STOP-BEFORE-LOOP-PREINC-PREP-NOT: -ppc-loop-preinc-prep
16 ; STOP-BEFORE-LOOP-PREINC-PREP-NOT: "ppc-loop-preinc-prep" pass is not registered.
17 ; STOP-BEFORE-LOOP-PREINC-PREP-NOT: Prepare loop for pre-inc. addressing modes
19 ; RUN: llc -mtriple=powerpc64le-unknown-unknown < %s -debug-pass=Structure -stop-after=ppc-loop-preinc-prep -o /dev/null 2>&1 | FileCheck %s -check-prefix=STOP-AFTER-LOOP-PREINC-PREP
20 ; STOP-AFTER-LOOP-PREINC-PREP: -ppc-loop-preinc-prep
21 ; STOP-AFTER-LOOP-PREINC-PREP-NOT: "ppc-loop-preinc-prep" pass is not registered.
22 ; STOP-AFTER-LOOP-PREINC-PREP: Prepare loop for pre-inc. addressing modes
25 ; Test pass name: ppc-toc-reg-deps.
26 ; RUN: llc -mtriple=powerpc64le-unknown-unknown < %s -debug-pass=Structure -stop-before=ppc-toc-reg-deps -o /dev/null 2>&1 | FileCheck %s -check-prefix=STOP-BEFORE-TOC-REG-DEPS
27 ; STOP-BEFORE-TOC-REG-DEPS-NOT: -ppc-toc-reg-deps
28 ; STOP-BEFORE-TOC-REG-DEPS-NOT: "ppc-toc-reg-deps" pass is not registered.
29 ; STOP-BEFORE-TOC-REG-DEPS-NOT: PowerPC TOC Register Dependencies
31 ; RUN: llc -mtriple=powerpc64le-unknown-unknown < %s -debug-pass=Structure -stop-after=ppc-toc-reg-deps -o /dev/null 2>&1 | FileCheck %s -check-prefix=STOP-AFTER-TOC-REG-DEPS
32 ; STOP-AFTER-TOC-REG-DEPS: -ppc-toc-reg-deps
33 ; STOP-AFTER-TOC-REG-DEPS-NOT: "ppc-toc-reg-deps" pass is not registered.
34 ; STOP-AFTER-TOC-REG-DEPS: PowerPC TOC Register Dependencies
37 ; Test pass name: ppc-vsx-copy.
38 ; RUN: llc -mtriple=powerpc64le-unknown-unknown < %s -debug-pass=Structure -stop-before=ppc-vsx-copy -o /dev/null 2>&1 | FileCheck %s -check-prefix=STOP-BEFORE-VSX-COPY
39 ; STOP-BEFORE-VSX-COPY-NOT: -ppc-vsx-copy
40 ; STOP-BEFORE-VSX-COPY-NOT: "ppc-vsx-copy" pass is not registered.
41 ; STOP-BEFORE-VSX-COPY-NOT: PowerPC VSX Copy Legalization
43 ; RUN: llc -mtriple=powerpc64le-unknown-unknown < %s -debug-pass=Structure -stop-after=ppc-vsx-copy -o /dev/null 2>&1 | FileCheck %s -check-prefix=STOP-AFTER-VSX-COPY
44 ; STOP-AFTER-VSX-COPY: -ppc-vsx-copy
45 ; STOP-AFTER-VSX-COPY-NOT: "ppc-vsx-copy" pass is not registered.
46 ; STOP-AFTER-VSX-COPY: PowerPC VSX Copy Legalization
49 ; Test pass name: ppc-early-ret.
50 ; RUN: llc -mtriple=powerpc64le-unknown-unknown < %s -debug-pass=Structure -stop-before=ppc-early-ret -o /dev/null 2>&1 | FileCheck %s -check-prefix=STOP-BEFORE-EARLY-RET
51 ; STOP-BEFORE-EARLY-RET-NOT: -ppc-early-ret
52 ; STOP-BEFORE-EARLY-RET-NOT: "ppc-early-ret" pass is not registered.
53 ; STOP-BEFORE-EARLY-RET-NOT: PowerPC Early-Return Creation
55 ; RUN: llc -mtriple=powerpc64le-unknown-unknown < %s -debug-pass=Structure -stop-after=ppc-early-ret -o /dev/null 2>&1 | FileCheck %s -check-prefix=STOP-AFTER-EARLY-RET
56 ; STOP-AFTER-EARLY-RET: -ppc-early-ret
57 ; STOP-AFTER-ERALY-RET-NOT: "ppc-early-ret" pass is not registered.
58 ; STOP-AFTER-EARLY-RET: PowerPC Early-Return Creation
61 ; Test pass name: ppc-vsx-fma-mutate.
62 ; RUN: llc -mtriple=powerpc64le-unknown-unknown < %s -debug-pass=Structure -stop-before=ppc-vsx-fma-mutate -o /dev/null 2>&1 | FileCheck %s -check-prefix=STOP-BEFORE-VSX-FMA-MUTATE
63 ; STOP-BEFORE-VSX-FMA-MUTATE-NOT: -ppc-vsx-fma-mutate
64 ; STOP-BEFORE-VSX-FMA-MUTATE-NOT: "ppc-vsx-fma-mutate" pass is not registered.
65 ; STOP-BEFORE-VSX-FMA-MUTATE-NOT: PowerPC VSX FMA Mutation
67 ; RUN: llc -mtriple=powerpc64le-unknown-unknown < %s -debug-pass=Structure -stop-after=ppc-vsx-fma-mutate -o /dev/null 2>&1 | FileCheck %s -check-prefix=STOP-AFTER-VSX-FMA-MUTATE
68 ; STOP-AFTER-VSX-FMA-MUTATE: -ppc-vsx-fma-mutate
69 ; STOP-AFTER-VSX-FMA-MUTATE-NOT: "ppc-vsx-fma-mutate" pass is not registered.
70 ; STOP-AFTER-VSX-FMA-MUTATE: PowerPC VSX FMA Mutation
73 ; Test pass name: ppc-vsx-swaps.
74 ; RUN: llc -mtriple=powerpc64le-unknown-unknown < %s -debug-pass=Structure -stop-before=ppc-vsx-swaps -o /dev/null 2>&1 | FileCheck %s -check-prefix=STOP-BEFORE-VSX-SWAPS
75 ; STOP-BEFORE-VSX-SWAPS-NOT: -ppc-vsx-swaps
76 ; STOP-BEFORE-VSX-SWAPS-NOT: "ppc-vsx-swaps" pass is not registered.
77 ; STOP-BEFORE-VSX-SWAPS-NOT: PowerPC VSX Swap Removal
79 ; RUN: llc -mtriple=powerpc64le-unknown-unknown < %s -debug-pass=Structure -stop-after=ppc-vsx-swaps -o /dev/null 2>&1 | FileCheck %s -check-prefix=STOP-AFTER-VSX-SWAPS
80 ; STOP-AFTER-VSX-SWAPS: -ppc-vsx-swaps
81 ; STOP-AFTER-VSX-SWAPS-NOT: "ppc-vsx-swaps" pass is not registered.
82 ; STOP-AFTER-VSX-SWAPS: PowerPC VSX Swap Removal
85 ; Test pass name: ppc-reduce-cr-ops.
86 ; RUN: llc -ppc-reduce-cr-logicals -mtriple=powerpc64le-unknown-unknown < %s -debug-pass=Structure -stop-before=ppc-reduce-cr-ops -o /dev/null 2>&1 | FileCheck %s -check-prefix=STOP-BEFORE-REDUCE-CR-OPS
87 ; STOP-BEFORE-REDUCE-CR-OPS-NOT: -ppc-reduce-cr-ops
88 ; STOP-BEFORE-REDUCE-CR-OPS-NOT: "ppc-reduce-cr-ops" pass is not registered.
89 ; STOP-BEFORE-REDUCE-CR-OPS-NOT: PowerPC Reduce CR logical Operation
91 ; RUN: llc -ppc-reduce-cr-logicals -mtriple=powerpc64le-unknown-unknown < %s -debug-pass=Structure -stop-after=ppc-reduce-cr-ops -o /dev/null 2>&1 | FileCheck %s -check-prefix=STOP-AFTER-REDUCE-CR-OPS
92 ; STOP-AFTER-REDUCE-CR-OPS: -ppc-reduce-cr-ops
93 ; STOP-AFTER-REDUCE-CR-OPS-NOT: "ppc-reduce-cr-ops" pass is not registered.
94 ; STOP-AFTER-REDUCE-CR-OPS: PowerPC Reduce CR logical Operation
97 ; Test pass name: ppc-branch-select.
98 ; RUN: llc -mtriple=powerpc64le-unknown-unknown < %s -debug-pass=Structure -stop-before=ppc-branch-select -o /dev/null 2>&1 | FileCheck %s -check-prefix=STOP-BEFORE-BRANCH-SELECT
99 ; STOP-BEFORE-BRANCH-SELECT-NOT: -ppc-branch-select
100 ; STOP-BEFORE-BRANCH-SELECT-NOT: "ppc-branch-select" pass is not registered.
101 ; STOP-BEFORE-BRANCH-SELECT-NOT: PowerPC Branch Selector
103 ; RUN: llc -mtriple=powerpc64le-unknown-unknown < %s -debug-pass=Structure -stop-after=ppc-branch-select -o /dev/null 2>&1 | FileCheck %s -check-prefix=STOP-AFTER-BRANCH-SELECT
104 ; STOP-AFTER-BRANCH-SELECT: -ppc-branch-select
105 ; STOP-AFTER-BRANCH-SELECT-NOT: "ppc-branch-select" pass is not registered.
106 ; STOP-AFTER-BRANCH-SELECT: PowerPC Branch Selector
109 ; Test pass name: ppc-branch-coalescing.
110 ; RUN: llc -enable-ppc-branch-coalesce -mtriple=powerpc64le-unknown-unknown < %s -debug-pass=Structure -stop-before=ppc-branch-coalescing -o /dev/null 2>&1 | FileCheck %s -check-prefix=STOP-BEFORE-BRANCH-COALESCING
111 ; STOP-BEFORE-BRANCH-COALESCING-NOT: -ppc-branch-coalescing
112 ; STOP-BEFORE-BRANCH-COALESCING-NOT: "ppc-branch-coalescing" pass is not registered.
113 ; STOP-BEFORE-BRANCH-COALESCING-NOT: Branch Coalescing 
115 ; RUN: llc -enable-ppc-branch-coalesce -mtriple=powerpc64le-unknown-unknown < %s -debug-pass=Structure -stop-after=ppc-branch-coalescing -o /dev/null 2>&1 | FileCheck %s -check-prefix=STOP-AFTER-BRANCH-COALESCING
116 ; STOP-AFTER-BRANCH-COALESCING: -ppc-branch-coalescing
117 ; STOP-AFTER-BRANCH-COALESCING-NOT: "ppc-branch-coalescing" pass is not registered.
118 ; STOP-AFTER-BRANCH-COALESCING: Branch Coalescing 
121 ; Test pass name: ppc-qpx-load-splat.
122 ; RUN: llc -mtriple=powerpc64le-unknown-unknown < %s -debug-pass=Structure -stop-before=ppc-qpx-load-splat -o /dev/null 2>&1 | FileCheck %s -check-prefix=STOP-BEFORE-QPX-LOAD-SPLAT
123 ; STOP-BEFORE-QPX-LOAD-SPLAT-NOT: -ppc-qpx-load-splat
124 ; STOP-BEFORE-QPX-LOAD-SPLAT-NOT: "ppc-qpx-load-splat" pass is not registered.
125 ; STOP-BEFORE-QPX-LOAD-SPLAT-NOT: PowerPC QPX Load Splat Simplification
127 ; RUN: llc -mtriple=powerpc64le-unknown-unknown < %s -debug-pass=Structure -stop-after=ppc-qpx-load-splat -o /dev/null 2>&1 | FileCheck %s -check-prefix=STOP-AFTER-QPX-LOAD-SPLAT
128 ; STOP-AFTER-QPX-LOAD-SPLAT: -ppc-qpx-load-splat
129 ; STOP-AFTER-QPX-LOAD-SPLAT-NOT: "ppc-qpx-load-splat" pass is not registered.
130 ; STOP-AFTER-QPX-LOAD-SPLAT: PowerPC QPX Load Splat Simplification