|
24 | 24 | ; CHECK-NEXT: nop // Delay Slot 2
|
25 | 25 | ; CHECK-NEXT: nop // Delay Slot 1
|
26 | 26 | ; CHECK-NEXT: // %bb.1: // %for.body.preheader
|
27 |
| - ; CHECK-NEXT: vldb wl8, [p0], #32; nopxm |
| 27 | + ; CHECK-NEXT: nopa ; vldb wl11, [p1], m5; nopxm ; nops |
| 28 | + ; CHECK-NEXT: vldb wh11, [p1], m6 |
| 29 | + ; CHECK-NEXT: vldb wl5, [p1], m5 |
| 30 | + ; CHECK-NEXT: vlda wh5, [p1], m6 |
| 31 | + ; CHECK-NEXT: vldb wl8, [p0], #32 |
28 | 32 | ; CHECK-NEXT: vldb wh8, [p0], #32
|
29 |
| - ; CHECK-NEXT: vldb wl11, [p1], m5 |
30 | 33 | ; CHECK-NEXT: vldb wl1, [p0], #32
|
31 | 34 | ; CHECK-NEXT: vldb wh1, [p0], #32
|
32 | 35 | ; CHECK-NEXT: paddb [p0], m4
|
33 | 36 | ; CHECK-NEXT: vldb wl0, [p0], #32
|
34 |
| - ; CHECK-NEXT: vldb wh0, [p0], #32 |
35 |
| - ; CHECK-NEXT: vldb wh11, [p1], m6; add.nc lc, r0, #-1 |
36 |
| - ; CHECK-NEXT: vldb wl5, [p1], m5; movxm ls, #.LBB0_2 |
37 |
| - ; CHECK-NEXT: vlda wh5, [p1], m6; movxm le, #.L_LEnd0 |
38 |
| - ; CHECK-NEXT: vldb wl3, [p0], #32; nopa ; nops ; nopxm ; nopv |
39 |
| - ; CHECK-NEXT: vldb.3d wh3, [p0], d0; nopa ; nops ; nopxm ; nopv |
40 |
| - ; CHECK-NEXT: vldb wl0, [p1], m5; nopa ; nops ; nopxm ; nopv |
41 |
| - ; CHECK-NEXT: vldb wh0, [p1], m6; nopa ; nops ; nopx ; vshuffle x6, x8, x0, r4; nopv |
42 |
| - ; CHECK-NEXT: vldb wl7, [p1], m5; nopa ; nops ; nopx ; vshuffle x2, x8, x0, r16; nopv |
43 |
| - ; CHECK-NEXT: vldb.3d wh7, [p1], d1; nopa ; nops ; nopxm ; nopv |
44 |
| - ; CHECK-NEXT: nopb ; nopa ; nops ; nopx ; vshuffle x5, x5, x5, r2; nopv |
| 37 | + ; CHECK-NEXT: vldb wh0, [p0], #32; vshuffle x5, x5, x5, r2 |
| 38 | + ; CHECK-NEXT: vldb wl3, [p0], #32 |
| 39 | + ; CHECK-NEXT: vldb.3d wh3, [p0], d0 |
| 40 | + ; CHECK-NEXT: vldb wl0, [p1], m5 |
| 41 | + ; CHECK-NEXT: vldb wh0, [p1], m6 |
| 42 | + ; CHECK-NEXT: vldb wl7, [p1], m5 |
| 43 | + ; CHECK-NEXT: vldb.3d wh7, [p1], d1 |
| 44 | + ; CHECK-NEXT: vldb wl11, [p1], m5; vshuffle x2, x8, x0, r16 |
| 45 | + ; CHECK-NEXT: vldb wh11, [p1], m6; vshuffle x6, x8, x0, r4 |
| 46 | + ; CHECK-NEXT: vldb wl5, [p1], m5; vshuffle x9, x1, x3, r16; vmac.f bmh5, bmh5, x2, x5, r3 |
| 47 | + ; CHECK-NEXT: vlda wh5, [p1], m6; vshuffle x10, x1, x3, r4; vmac.f bmh4, bmh4, x6, x5, r3 |
| 48 | + ; CHECK-NEXT: vldb wl8, [p0], #32; vshuffle x3, x11, x11, r2; vmac.f bmh7, bmh7, x9, x5, r3 |
| 49 | + ; CHECK-NEXT: vldb wh8, [p0], #32; vshuffle x0, x0, x0, r2; vmac.f bmh6, bmh6, x10, x5, r3 |
| 50 | + ; CHECK-NEXT: vldb wl1, [p0], #32; vshuffle x7, x7, x7, r2; vmac.f bmh0, bmh0, x6, x3, r3 |
| 51 | + ; CHECK-NEXT: vldb wh1, [p0], #32; add.nc lc, r0, #-2; vmac.f bml2, bml2, x9, x0, r3 |
| 52 | + ; CHECK-NEXT: paddb [p0], m4; movxm ls, #.LBB0_2; vmac.f bmh1, bmh1, x2, x3, r3 |
| 53 | + ; CHECK-NEXT: vldb wl0, [p0], #32; movxm le, #.L_LEnd0; vmac.f bmh2, bmh2, x10, x3, r3 |
| 54 | + ; CHECK-NEXT: vldb wh0, [p0], #32; nopa ; nops ; nopx ; vshuffle x5, x5, x5, r2; vmac.f bmh3, bmh3, x9, x3, r3 |
| 55 | + ; CHECK-NEXT: vldb wl3, [p0], #32; nopa ; nops ; nopxm ; vmac.f bmh8, bmh8, x6, x0, r3 |
| 56 | + ; CHECK-NEXT: vldb.3d wh3, [p0], d0; nopa ; nops ; nopxm ; vmac.f bml0, bml0, x2, x0, r3 |
| 57 | + ; CHECK-NEXT: vldb wl0, [p1], m5; nopa ; nops ; nopxm ; vmac.f bml1, bml1, x10, x0, r3 |
| 58 | + ; CHECK-NEXT: vldb wh0, [p1], m6; nopa ; nops ; nopxm ; vmac.f bml3, bml3, x6, x7, r3 |
| 59 | + ; CHECK-NEXT: vldb wl7, [p1], m5; nopa ; nops ; nopxm ; vmac.f bml5, bml5, x2, x7, r3 |
| 60 | + ; CHECK-NEXT: vldb.3d wh7, [p1], d1; nopa ; nops ; nopxm ; vmac.f bml6, bml6, x10, x7, r3 |
45 | 61 | ; CHECK-NEXT: .p2align 4
|
46 | 62 | ; CHECK-NEXT: .LBB0_2: // %for.body
|
47 | 63 | ; CHECK-NEXT: // =>This Inner Loop Header: Depth=1
|
48 |
| - ; CHECK-NEXT: vldb wl8, [p0], #32; nopa ; nops ; nopxm ; nopv |
49 |
| - ; CHECK-NEXT: vldb wh8, [p0], #32; nopx ; vshuffle x10, x1, x3, r4; vmac.f bmh4, bmh4, x6, x5, r3 |
50 |
| - ; CHECK-NEXT: vldb wl11, [p1], m5; vshuffle x9, x1, x3, r16; vmac.f bmh5, bmh5, x2, x5, r3 |
51 |
| - ; CHECK-NEXT: vldb wl1, [p0], #32; vshuffle x3, x11, x11, r2; vmac.f bmh6, bmh6, x10, x5, r3 |
52 |
| - ; CHECK-NEXT: vldb wh1, [p0], #32; vshuffle x0, x0, x0, r2; vmac.f bmh7, bmh7, x9, x5, r3 |
53 |
| - ; CHECK-NEXT: paddb [p0], m4; vshuffle x7, x7, x7, r2; vmac.f bmh0, bmh0, x6, x3, r3 |
54 |
| - ; CHECK-NEXT: vldb wl0, [p0], #32; vmac.f bmh1, bmh1, x2, x3, r3 |
55 |
| - ; CHECK-NEXT: vldb wh0, [p0], #32; vmac.f bmh2, bmh2, x10, x3, r3 |
56 |
| - ; CHECK-NEXT: vldb wh11, [p1], m6; vmac.f bmh3, bmh3, x9, x3, r3 |
57 |
| - ; CHECK-NEXT: vldb wl5, [p1], m5; vmac.f bmh8, bmh8, x6, x0, r3 |
58 |
| - ; CHECK-NEXT: vlda wh5, [p1], m6; vmac.f bml0, bml0, x2, x0, r3 |
59 |
| - ; CHECK-NEXT: vldb wl3, [p0], #32; vmac.f bml1, bml1, x10, x0, r3 |
60 |
| - ; CHECK-NEXT: vldb.3d wh3, [p0], d0; vmac.f bml2, bml2, x9, x0, r3 |
61 |
| - ; CHECK-NEXT: vldb wl0, [p1], m5; vmac.f bml3, bml3, x6, x7, r3 |
62 |
| - ; CHECK-NEXT: vldb wh0, [p1], m6; vshuffle x6, x8, x0, r4; vmac.f bml5, bml5, x2, x7, r3 |
63 |
| - ; CHECK-NEXT: vldb wl7, [p1], m5; vshuffle x2, x8, x0, r16; vmac.f bml6, bml6, x10, x7, r3 |
64 |
| - ; CHECK-NEXT: vldb.3d wh7, [p1], d1; vmac.f bml4, bml4, x9, x7, r3 |
| 64 | + ; CHECK-NEXT: nopa ; vldb wl11, [p1], m5; nopx ; vshuffle x2, x8, x0, r16; vmac.f bml4, bml4, x9, x7, r3 |
| 65 | + ; CHECK-NEXT: vldb wh11, [p1], m6; vshuffle x6, x8, x0, r4 |
| 66 | + ; CHECK-NEXT: vldb wl5, [p1], m5; vshuffle x9, x1, x3, r16; vmac.f bmh5, bmh5, x2, x5, r3 |
| 67 | + ; CHECK-NEXT: vlda wh5, [p1], m6; vshuffle x10, x1, x3, r4; vmac.f bmh4, bmh4, x6, x5, r3 |
| 68 | + ; CHECK-NEXT: vldb wl8, [p0], #32; vshuffle x3, x11, x11, r2; vmac.f bmh7, bmh7, x9, x5, r3 |
| 69 | + ; CHECK-NEXT: vldb wh8, [p0], #32; vshuffle x0, x0, x0, r2; vmac.f bmh6, bmh6, x10, x5, r3 |
| 70 | + ; CHECK-NEXT: vldb wl1, [p0], #32; vshuffle x7, x7, x7, r2; vmac.f bmh0, bmh0, x6, x3, r3 |
| 71 | + ; CHECK-NEXT: vldb wh1, [p0], #32; vmac.f bml2, bml2, x9, x0, r3 |
| 72 | + ; CHECK-NEXT: paddb [p0], m4; vmac.f bmh1, bmh1, x2, x3, r3 |
| 73 | + ; CHECK-NEXT: vldb wl0, [p0], #32; vmac.f bmh2, bmh2, x10, x3, r3 |
| 74 | + ; CHECK-NEXT: vldb wh0, [p0], #32; vshuffle x5, x5, x5, r2; vmac.f bmh3, bmh3, x9, x3, r3 |
| 75 | + ; CHECK-NEXT: vldb wl3, [p0], #32; vmac.f bmh8, bmh8, x6, x0, r3 |
| 76 | + ; CHECK-NEXT: vldb.3d wh3, [p0], d0; vmac.f bml0, bml0, x2, x0, r3 |
| 77 | + ; CHECK-NEXT: vldb wl0, [p1], m5; vmac.f bml1, bml1, x10, x0, r3 |
| 78 | + ; CHECK-NEXT: vldb wh0, [p1], m6; vmac.f bml3, bml3, x6, x7, r3 |
| 79 | + ; CHECK-NEXT: vldb wl7, [p1], m5; vmac.f bml5, bml5, x2, x7, r3 |
65 | 80 | ; CHECK-NEXT: .L_LEnd0:
|
66 |
| - ; CHECK-NEXT: nopb ; nopa ; nops ; nopx ; vshuffle x5, x5, x5, r2; nopv |
| 81 | + ; CHECK-NEXT: vldb.3d wh7, [p1], d1; nopa ; nops ; nopxm ; vmac.f bml6, bml6, x10, x7, r3 |
67 | 82 | ; CHECK-NEXT: // %bb.3: // %for.cond.cleanup
|
68 |
| - ; CHECK-NEXT: nopa ; nopxm |
69 |
| - ; CHECK-NEXT: vshuffle x10, x1, x3, r4; vmac.f bmh4, bmh4, x6, x5, r3 |
| 83 | + ; CHECK-NEXT: vshuffle x2, x8, x0, r16; vmac.f bml4, bml4, x9, x7, r3 |
| 84 | + ; CHECK-NEXT: vshuffle x6, x8, x0, r4 |
70 | 85 | ; CHECK-NEXT: vshuffle x9, x1, x3, r16; vmac.f bmh5, bmh5, x2, x5, r3
|
71 |
| - ; CHECK-NEXT: vshuffle x3, x11, x11, r2; vmac.f bmh6, bmh6, x10, x5, r3 |
72 |
| - ; CHECK-NEXT: vshuffle x0, x0, x0, r2; vmac.f bmh7, bmh7, x9, x5, r3 |
| 86 | + ; CHECK-NEXT: vshuffle x10, x1, x3, r4; vmac.f bmh4, bmh4, x6, x5, r3 |
| 87 | + ; CHECK-NEXT: vshuffle x3, x11, x11, r2; vmac.f bmh7, bmh7, x9, x5, r3 |
| 88 | + ; CHECK-NEXT: vshuffle x0, x0, x0, r2; vmac.f bmh6, bmh6, x10, x5, r3 |
73 | 89 | ; CHECK-NEXT: vshuffle x7, x7, x7, r2; vmac.f bmh0, bmh0, x6, x3, r3
|
| 90 | + ; CHECK-NEXT: vmac.f bml2, bml2, x9, x0, r3 |
74 | 91 | ; CHECK-NEXT: vmac.f bmh1, bmh1, x2, x3, r3
|
75 | 92 | ; CHECK-NEXT: vmac.f bmh2, bmh2, x10, x3, r3
|
76 | 93 | ; CHECK-NEXT: vmac.f bmh3, bmh3, x9, x3, r3
|
77 | 94 | ; CHECK-NEXT: vmac.f bmh8, bmh8, x6, x0, r3
|
78 | 95 | ; CHECK-NEXT: vmac.f bml0, bml0, x2, x0, r3
|
79 | 96 | ; CHECK-NEXT: vmac.f bml1, bml1, x10, x0, r3
|
80 |
| - ; CHECK-NEXT: vmac.f bml2, bml2, x9, x0, r3 |
81 | 97 | ; CHECK-NEXT: vmac.f bml3, bml3, x6, x7, r3
|
82 | 98 | ; CHECK-NEXT: vmac.f bml5, bml5, x2, x7, r3
|
83 | 99 | ; CHECK-NEXT: vmac.f bml6, bml6, x10, x7, r3
|
84 | 100 | ; CHECK-NEXT: vmac.f bml4, bml4, x9, x7, r3
|
85 | 101 | ; CHECK-NEXT: nop
|
| 102 | + ; CHECK-NEXT: nop |
| 103 | + ; CHECK-NEXT: nop |
| 104 | + ; CHECK-NEXT: nop |
| 105 | + ; CHECK-NEXT: nop |
| 106 | + ; CHECK-NEXT: nop |
| 107 | + ; CHECK-NEXT: nop |
| 108 | + ; CHECK-NEXT: nop |
| 109 | + ; CHECK-NEXT: nop |
| 110 | + ; CHECK-NEXT: nop |
| 111 | + ; CHECK-NEXT: nop |
| 112 | + ; CHECK-NEXT: nop |
| 113 | + ; CHECK-NEXT: nop |
| 114 | + ; CHECK-NEXT: nop |
| 115 | + ; CHECK-NEXT: nop |
| 116 | + ; CHECK-NEXT: nop |
86 | 117 | ; CHECK-NEXT: .p2align 4
|
87 | 118 | ; CHECK-NEXT: .LBB0_4: // %for.cond.cleanup
|
88 | 119 | ; CHECK-NEXT: nopa ; ret lr
|
|
0 commit comments