[lldb] Make sure Blocks always have a parent (#117683)
[llvm-project.git] / llvm / test / CodeGen / SystemZ / shorten-fused-fp-ops.mir
blobc55bb7881004ea5e16da82dd697e6362595aa46d
1 # RUN: llc -mtriple=s390x-linux-gnu -mcpu=z14 -start-before=postrapseudos %s -o - \
2 # RUN:   | FileCheck %s
4 # Test shortening of fused fp operations.
6 --- |
7   define double @fun0(double %f1, double %f2, double %acc) { ret double 0.0 }
8 ...
10 # CHECK-LABEL: fun0:
11 # CHECK:      madbr   %f0, %f4, %f2
12 # CHECK-NEXT: wfmadb  %f0, %f4, %v16, %f0
13 # CHECK-NEXT: wfmadb  %f0, %f4, %f0, %f2
14 # CHECK-NEXT: maebr   %f0, %f4, %f2
15 # CHECK-NEXT: wfmasb  %f0, %f4, %v16, %f0
16 # CHECK-NEXT: wfmasb  %f0, %f4, %f0, %f2
17 # CHECK-NEXT: msdbr   %f0, %f4, %f2
18 # CHECK-NEXT: wfmsdb  %f0, %f4, %v16, %f0
19 # CHECK-NEXT: wfmsdb  %f0, %f4, %f0, %f2
20 # CHECK-NEXT: msebr   %f0, %f4, %f2
21 # CHECK-NEXT: wfmssb  %f0, %f4, %v16, %f0
22 # CHECK-NEXT: wfmssb  %f0, %f4, %f0, %f2
23 # CHECK-NEXT: br      %r14
24 ---
25 name:            fun0
26 alignment:       16
27 tracksRegLiveness: true
28 liveins:
29   - { reg: '$f0d' }
30   - { reg: '$f2d' }
31   - { reg: '$f4d' }
32 frameInfo:
33   maxAlignment:    1
34   maxCallFrameSize: 0
35 fixedStack:
36   - { id: 0, offset: -160, size: 8, alignment: 8 }
37 machineFunctionInfo: {}
38 body:             |
39   bb.0 (%ir-block.0):
40     liveins: $f0d, $f2d, $f4d, $f16d
41   
42     renamable $f0d = nofpexcept WFMADB renamable $f4d, renamable $f2d, renamable $f0d, implicit $fpc
43     renamable $f0d = nofpexcept WFMADB renamable $f4d, renamable $f16d, renamable $f0d, implicit $fpc
44     renamable $f0d = nofpexcept WFMADB renamable $f4d, renamable $f0d, renamable $f2d, implicit $fpc
46     renamable $f0s = nofpexcept WFMASB renamable $f4s, renamable $f2s, renamable $f0s, implicit $fpc
47     renamable $f0s = nofpexcept WFMASB renamable $f4s, renamable $f16s, renamable $f0s, implicit $fpc
48     renamable $f0s = nofpexcept WFMASB renamable $f4s, renamable $f0s, renamable $f2s, implicit $fpc
50     renamable $f0d = nofpexcept WFMSDB renamable $f4d, renamable $f2d, renamable $f0d, implicit $fpc
51     renamable $f0d = nofpexcept WFMSDB renamable $f4d, renamable $f16d, renamable $f0d, implicit $fpc
52     renamable $f0d = nofpexcept WFMSDB renamable $f4d, renamable $f0d, renamable $f2d, implicit $fpc
54     renamable $f0s = nofpexcept WFMSSB renamable $f4s, renamable $f2s, renamable $f0s, implicit $fpc
55     renamable $f0s = nofpexcept WFMSSB renamable $f4s, renamable $f16s, renamable $f0s, implicit $fpc
56     renamable $f0s = nofpexcept WFMSSB renamable $f4s, renamable $f0s, renamable $f2s, implicit $fpc
58     Return implicit $f0d
60 ...